From 621664b360b59ae2fe3c2ec34a7a173e09b5aa48 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Mon, 5 May 2025 20:31:24 -0500 Subject: [PATCH 01/19] Migrate to signpath.io --- .github/workflows/release.yaml | 70 ++++++++++++++++++++++------------ apps/desktop/sign.sh | 41 -------------------- scripts/sign-windows.sh | 15 -------- 3 files changed, 45 insertions(+), 81 deletions(-) delete mode 100755 apps/desktop/sign.sh delete mode 100755 scripts/sign-windows.sh diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bfaf8e8b..73b987bc 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -40,16 +40,16 @@ jobs: fail-fast: false matrix: settings: - - host: macos-latest - target: universal-apple-darwin - toolchain: aarch64-apple-darwin,x86_64-apple-darwin - bundles: app,dmg - os: darwin - - host: windows-latest - target: x86_64-pc-windows-msvc - toolchain: x86_64-pc-windows-msvc - bundles: msi,nsis - os: windows + # - host: macos-latest + # target: universal-apple-darwin + # toolchain: aarch64-apple-darwin,x86_64-apple-darwin + # bundles: app,dmg + # os: darwin + # - host: windows-latest + # target: x86_64-pc-windows-msvc + # toolchain: x86_64-pc-windows-msvc + # bundles: msi,nsis + # os: windows - host: ubuntu-latest target: x86_64-unknown-linux-gnu toolchain: x86_64-unknown-linux-gnu @@ -120,21 +120,41 @@ jobs: run: | ls -hal binaries sha1sum binaries/* - - name: Sign Windows Binaries - run: | - echo "Starting code sign for windows bins..." - docker run -v "./binaries:/code/binaries" ghcr.io/sslcom/codesigner:latest batch_sign \ - -username=${ES_USERNAME} \ - -password=${ES_PASSWORD} \ - -credential_id=${ES_CREDENTIAL_ID} \ - -totp_secret=${ES_TOTP_SECRET} \ - -input_dir_path="/code/binaries" \ - -output_dir_path="/code/binaries/signed" - env: - ES_USERNAME: "${{ secrets.ES_USERNAME }}" - ES_PASSWORD: "${{ secrets.ES_PASSWORD }}" - ES_CREDENTIAL_ID: "${{ secrets.ES_CREDENTIAL_ID }}" - ES_TOTP_SECRET: "${{ secrets.ES_TOTP_SECRET }}" + - name: upload-unsigned-artifact + id: upload-unsigned-artifact + uses: actions/upload-artifact@v4 + with: + path: ./binaries + # - name: Sign Windows Binaries + # uses: signpath/github-action-submit-signing-request@v1.1 + # with: + # api-token: '${{ secrets.SIGNPATH_API_TOKEN }}' + # organization-id: '' + # project-slug: '' + # signing-policy-slug: '' + # github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}' + # wait-for-completion: true + # output-artifact-directory: 'binaries/signed' + # parameters: | + # version: ${{ toJSON(some.userinput) }} + # myparam: "another param" + # FIXME: this was the old code + # - name: Sign Windows Binaries + # run: | + # echo "Starting code sign for windows bins..." + # docker run -v "./binaries:/code/binaries" ghcr.io/sslcom/codesigner:latest batch_sign \ + # -username=${ES_USERNAME} \ + # -password=${ES_PASSWORD} \ + # -credential_id=${ES_CREDENTIAL_ID} \ + # -totp_secret=${ES_TOTP_SECRET} \ + # -input_dir_path="/code/binaries" \ + # -output_dir_path="/code/binaries/signed" + # env: + # ES_USERNAME: "${{ secrets.ES_USERNAME }}" + # ES_PASSWORD: "${{ secrets.ES_PASSWORD }}" + # ES_CREDENTIAL_ID: "${{ secrets.ES_CREDENTIAL_ID }}" + # ES_TOTP_SECRET: "${{ secrets.ES_TOTP_SECRET }}" + - name: Postsign run: | ls -hal binaries/signed diff --git a/apps/desktop/sign.sh b/apps/desktop/sign.sh deleted file mode 100755 index 30064081..00000000 --- a/apps/desktop/sign.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash - -# run this script with -# op run --env-file .env -- ./sign.sh - -# build the app -cargo tauri build --target "x86_64-pc-windows-msvc" --bundles "msi,nsis" -cargo tauri build --target "universal-apple-darwin" --bundles "dmg" - -# sign -# NOTE: It seems tauri has this logic baked in -# -# codesign --force -s "$APPLE_SIGNING_IDENTITY" --options=runtime --deep src-tauri/target/release/bundle/macos/overlayed.app -v -# -# # store creds -# xcrun notarytool store-credentials "notarytool-profile" --apple-id "$APPLE_ID" --team-id="$APPLE_TEAM_ID" --password "$APPLE_PASSWORD" -# -# # zip the app -# cd src-tauri/target/release/bundle/macos -# zip -r overlayed-aarch64-apple-darwin.zip overlayed.app -# -# # notarize the app in the zip -# xcrun notarytool submit "overlayed-aarch64-apple-darwin.zip" --keychain-profile "notarytool-profile" --wait - -# search for all .exe files in the current directory -baseDir="src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis" -windowsBinaries=$(find . -type f -name "overlayed_*.exe") - -echo "binary path: ${baseDir}" -# get file from last part of the path -filename=$(basename -- "$windowsBinaries") - -echo "Signing: ${filename}" -docker run -it --rm -v "./$baseDir:/code" ghcr.io/sslcom/codesigner:latest sign \ - -username=${ES_USERNAME} \ - -password=${ES_PASSWORD} \ - -credential_id=${ES_CREDENTIAL_ID} \ - -totp_secret=${ES_TOTP_SECRET} \ - -input_file_path="/code/${filename}" \ - -override=true \ - -malware_block=false diff --git a/scripts/sign-windows.sh b/scripts/sign-windows.sh deleted file mode 100755 index 313b2f21..00000000 --- a/scripts/sign-windows.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -## This script is used to sign the windows binaries using the codesigner docker image -# op run --env-file .env -- ./scripts/sign-windows.sh - -# absolute path from relative -abosolute_path=$(realpath "binaries") - -docker run -it --rm -v "${abosolute_path}:/code/binaries" ghcr.io/sslcom/codesigner:latest batch_sign \ - -username="$ES_USERNAME" \ - -password="$ES_PASSWORD" \ - -credential_id="$ES_CREDENTIAL_ID" \ - -totp_secret="$ES_TOTP_SECRET" \ - -input_dir_path="/code/binaries" \ - -output_dir_path="/code/binaries/signed" From 0ad6ed02fd3ae8932484feaddea646ddcceaf50d Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Tue, 6 May 2025 21:06:49 -0500 Subject: [PATCH 02/19] Test in PR --- .github/workflows/release.yaml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 73b987bc..1b27f22d 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -3,6 +3,10 @@ name: "Create Release" on: # Allow manual workflow_dispatch: + push: + branches: + # TODO: REMOVE ME BEFORE MERGE + - migrate/codesign concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -45,16 +49,16 @@ jobs: # toolchain: aarch64-apple-darwin,x86_64-apple-darwin # bundles: app,dmg # os: darwin - # - host: windows-latest - # target: x86_64-pc-windows-msvc - # toolchain: x86_64-pc-windows-msvc - # bundles: msi,nsis - # os: windows - - host: ubuntu-latest - target: x86_64-unknown-linux-gnu - toolchain: x86_64-unknown-linux-gnu - bundles: deb,appimage - os: linux + - host: windows-latest + target: x86_64-pc-windows-msvc + toolchain: x86_64-pc-windows-msvc + bundles: msi,nsis + os: windows + # - host: ubuntu-latest + # target: x86_64-unknown-linux-gnu + # toolchain: x86_64-unknown-linux-gnu + # bundles: deb,appimage + # os: linux env: APP_DIR: "apps/desktop" runs-on: ${{ matrix.settings.host }} From 9cc8e44a3306558cc262ee0f5e64b4996f34bc02 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Tue, 6 May 2025 21:16:21 -0500 Subject: [PATCH 03/19] Disable CI and try to sign --- .github/workflows/ci.yaml | 4 +++- .github/workflows/release.yaml | 40 +++++++++------------------------- 2 files changed, 13 insertions(+), 31 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a5e77950..5d369c5a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,7 +1,9 @@ name: "CI" on: workflow_dispatch: - pull_request: + # NOTE: disable before merge + # FIXME: FYI + # pull_request: jobs: quality: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 1b27f22d..bd0c81f1 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -129,36 +129,16 @@ jobs: uses: actions/upload-artifact@v4 with: path: ./binaries - # - name: Sign Windows Binaries - # uses: signpath/github-action-submit-signing-request@v1.1 - # with: - # api-token: '${{ secrets.SIGNPATH_API_TOKEN }}' - # organization-id: '' - # project-slug: '' - # signing-policy-slug: '' - # github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}' - # wait-for-completion: true - # output-artifact-directory: 'binaries/signed' - # parameters: | - # version: ${{ toJSON(some.userinput) }} - # myparam: "another param" - # FIXME: this was the old code - # - name: Sign Windows Binaries - # run: | - # echo "Starting code sign for windows bins..." - # docker run -v "./binaries:/code/binaries" ghcr.io/sslcom/codesigner:latest batch_sign \ - # -username=${ES_USERNAME} \ - # -password=${ES_PASSWORD} \ - # -credential_id=${ES_CREDENTIAL_ID} \ - # -totp_secret=${ES_TOTP_SECRET} \ - # -input_dir_path="/code/binaries" \ - # -output_dir_path="/code/binaries/signed" - # env: - # ES_USERNAME: "${{ secrets.ES_USERNAME }}" - # ES_PASSWORD: "${{ secrets.ES_PASSWORD }}" - # ES_CREDENTIAL_ID: "${{ secrets.ES_CREDENTIAL_ID }}" - # ES_TOTP_SECRET: "${{ secrets.ES_TOTP_SECRET }}" - + - name: Sign Windows Binaries + uses: signpath/github-action-submit-signing-request@v1.1 + with: + api-token: '${{ secrets.SIGNPATH_API_TOKEN }}' + organization-id: 'b2cc34a4-3b75-4753-82e4-b755351770ea' + project-slug: 'overlayed' + signing-policy-slug: 'test-signing' + github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}' + wait-for-completion: true + output-artifact-directory: 'binaries/signed' - name: Postsign run: | ls -hal binaries/signed From 6f2f32caf067384ef282b09130736495c9f8a6da Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Tue, 6 May 2025 21:43:15 -0500 Subject: [PATCH 04/19] Add policy --- .github/workflows/release.yaml | 1 + .signpath/policies/overlayed/test-signing.yml | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 .signpath/policies/overlayed/test-signing.yml diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bd0c81f1..e87839e6 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -6,6 +6,7 @@ on: push: branches: # TODO: REMOVE ME BEFORE MERGE + # FIXME: fr fr ong pls remove - migrate/codesign concurrency: diff --git a/.signpath/policies/overlayed/test-signing.yml b/.signpath/policies/overlayed/test-signing.yml new file mode 100644 index 00000000..a52c4708 --- /dev/null +++ b/.signpath/policies/overlayed/test-signing.yml @@ -0,0 +1,24 @@ +github-policies: + runners: + allowed_groups: + - 'GitHub Actions' # all jobs need to run on GitHub-hosted runners + build: + disallow_reruns: true + branch_rulesets: + - condition: + rules: + - block_force_pushes: # force pushes are prevented + - pull_request: # code reviews are required + min_required_approvals: 1 + require_code_owner_review: true + allow_bypass_actors: false # no-one is allowed to bypass this rule + enforced_from: EARLIEST # rule enforcement history is checked + - condition: + rules: + - require_code_scanning: # code scanning must not reveal problems + tools: + - tool: CodeQL + min_alerts_threshold: errors + min_security_alerts_threshold: medium + allow_bypass_actors: true # some people may bypass these rules + enforced_from: '2025-01-01 00:00' # had to be reset at some point From 1dadfbd114115b21a09ae412c1de6708700fe0f2 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Tue, 6 May 2025 22:24:38 -0500 Subject: [PATCH 05/19] We are almost there --- .github/workflows/ci.yaml | 2 ++ .github/workflows/release.yaml | 6 ++++-- scripts/actions/upload-signed-bins.js | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5d369c5a..8f4ff619 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -7,6 +7,7 @@ on: jobs: quality: + name: Quality runs-on: "ubuntu-latest" steps: - uses: actions/checkout@v4 @@ -36,6 +37,7 @@ jobs: run: pnpm lint cargo-fmt: + name: Cargo Format runs-on: "ubuntu-latest" steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index e87839e6..053d4585 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,4 +1,4 @@ -name: "Create Release" +name: "Release" on: # Allow manual @@ -15,6 +15,7 @@ concurrency: jobs: create-release: + name: Create or Update permissions: contents: write runs-on: ubuntu-latest @@ -104,7 +105,8 @@ jobs: releaseId: ${{ needs.create-release.outputs.release_id }} args: --target ${{ matrix.settings.target }} --bundles ${{ matrix.settings.bundles }},updater - sign-windows: + sign-windows-bins: + name: Sign Windows Binaries runs-on: ubuntu-latest needs: [create-release, build-tauri] permissions: diff --git a/scripts/actions/upload-signed-bins.js b/scripts/actions/upload-signed-bins.js index 1e768c54..69a2e14d 100644 --- a/scripts/actions/upload-signed-bins.js +++ b/scripts/actions/upload-signed-bins.js @@ -37,6 +37,7 @@ export const script = async ({ context, github }, releaseId) => { for (const file of files) { const filePath = `${SIGNED_BINARIES_DIR}/${file}`; + // TODO: can this use readable streams somehow? const fileData = fs.readFileSync(filePath); console.log("uploading asset", file, filePath); From 256702830724fc2c6ca255dd2427c54a897d4f93 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Wed, 7 May 2025 19:31:41 -0500 Subject: [PATCH 06/19] Use sha256 --- .github/workflows/release.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 053d4585..32c88258 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -126,7 +126,7 @@ jobs: - name: Presign run: | ls -hal binaries - sha1sum binaries/* + sha256sum binaries/* - name: upload-unsigned-artifact id: upload-unsigned-artifact uses: actions/upload-artifact@v4 @@ -138,6 +138,7 @@ jobs: api-token: '${{ secrets.SIGNPATH_API_TOKEN }}' organization-id: 'b2cc34a4-3b75-4753-82e4-b755351770ea' project-slug: 'overlayed' + # TODO: when we have the production signing policy update this signing-policy-slug: 'test-signing' github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}' wait-for-completion: true @@ -145,7 +146,7 @@ jobs: - name: Postsign run: | ls -hal binaries/signed - sha1sum binaries/signed/* + sha256sum binaries/signed/* - name: Upload signed windows binaries uses: actions/github-script@v7 with: From d5519edeb867bf25ea33eff327725994f49f0b32 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Mon, 19 May 2025 06:50:14 -0500 Subject: [PATCH 07/19] Refactor pipeline --- .github/workflows/release.yaml | 82 ++++++++++++++-------------------- 1 file changed, 34 insertions(+), 48 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 32c88258..5e8025c4 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -14,32 +14,8 @@ concurrency: cancel-in-progress: true jobs: - create-release: - name: Create or Update - permissions: - contents: write - runs-on: ubuntu-latest - outputs: - release_id: ${{ steps.create-release.outputs.result }} - steps: - - uses: actions/checkout@v4 - - name: setup node - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Get app version - run: echo "PACKAGE_VERSION=$(node -p "require('./apps/desktop/src-tauri/tauri.conf.json').package.version")" >> $GITHUB_ENV - - name: Create release or skip - id: create-release - uses: actions/github-script@v7 - with: - script: | - const { script } = await import('${{ github.workspace }}/scripts/actions/create-release.js') - return await script({ github, context }); - build-tauri: name: Build (${{ matrix.settings.os }}) - needs: create-release permissions: contents: write strategy: @@ -88,6 +64,7 @@ jobs: - name: install frontend dependencies run: pnpm install - uses: tauri-apps/tauri-action@dev + id: tauri env: APPLE_ID: "${{ secrets.APPLE_ID }}" APPLE_PASSWORD: "${{ secrets.APPLE_PASSWORD }}" @@ -101,30 +78,14 @@ jobs: VITE_AXIOM_TOKEN: "${{ secrets.VITE_AXIOM_TOKEN }}" VITE_SENTRY_AUTH_TOKEN: "${{ secrets.VITE_SENTRY_AUTH_TOKEN }}" with: + # NOTE: we only use this action to build the project bins for each platform + # because we need to do code signing for windows we will upload manually after the signing is completed projectPath: "${{ env.APP_DIR }}" - releaseId: ${{ needs.create-release.outputs.release_id }} args: --target ${{ matrix.settings.target }} --bundles ${{ matrix.settings.bundles }},updater - - sign-windows-bins: - name: Sign Windows Binaries - runs-on: ubuntu-latest - needs: [create-release, build-tauri] - permissions: - contents: write - steps: - - uses: actions/checkout@v4 - - name: Download draft binaries - uses: actions/github-script@v7 - with: - script: | - const { script } = await import('${{ github.workspace }}/scripts/actions/download-draft-bins.js') - const id = "${{ needs.create-release.outputs.release_id }}"; - await script({ github, context }, id); - env: - # NOTE: we need this to download the bins - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # TODO: figure out where the binary are in the fs from the above action - name: Presign run: | + echo ${{ steps.tauri.artifactPaths }} ls -hal binaries sha256sum binaries/* - name: upload-unsigned-artifact @@ -147,10 +108,35 @@ jobs: run: | ls -hal binaries/signed sha256sum binaries/signed/* - - name: Upload signed windows binaries + # TODO: refactor this later + # - name: Upload signed windows binaries + # uses: actions/github-script@v7 + # with: + # script: | + # const { script } = await import('${{ github.workspace }}/scripts/actions/upload-signed-bins.js'); + # const id = "${{ needs.create-release.outputs.release_id }}"; + # await script({ github, context }, id); + create-release: + needs: build-tauri + name: Create or Update + permissions: + contents: write + runs-on: ubuntu-latest + outputs: + release_id: ${{ steps.create-release.outputs.result }} + steps: + - uses: actions/checkout@v4 + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: 20 + - name: Get app version + run: echo "PACKAGE_VERSION=$(node -p "require('./apps/desktop/src-tauri/tauri.conf.json').package.version")" >> $GITHUB_ENV + - name: Create release or skip + id: create-release uses: actions/github-script@v7 with: script: | - const { script } = await import('${{ github.workspace }}/scripts/actions/upload-signed-bins.js'); - const id = "${{ needs.create-release.outputs.release_id }}"; - await script({ github, context }, id); + const { script } = await import('${{ github.workspace }}/scripts/actions/create-release.js') + return await script({ github, context }); + From 69857cd0f29acc3d80b3dd1c9e8a66efd6333681 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Mon, 19 May 2025 07:07:08 -0500 Subject: [PATCH 08/19] Test --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 5e8025c4..7d2f9de1 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -85,7 +85,7 @@ jobs: # TODO: figure out where the binary are in the fs from the above action - name: Presign run: | - echo ${{ steps.tauri.artifactPaths }} + ls -hal ${{ steps.tauri.artifactPaths }} ls -hal binaries sha256sum binaries/* - name: upload-unsigned-artifact From 96303e0c8ca2f3e3744cf7597406a031274ce0a1 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Fri, 4 Jul 2025 14:09:04 -0500 Subject: [PATCH 09/19] Print the paths --- .github/workflows/release.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 7d2f9de1..8c96f789 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -85,7 +85,11 @@ jobs: # TODO: figure out where the binary are in the fs from the above action - name: Presign run: | - ls -hal ${{ steps.tauri.artifactPaths }} + echo "Artifact paths from tauri action:" + echo "${{ steps.tauri.outputs.artifactPaths }}" + echo "Parsed artifact paths:" + echo "${{ join(fromJSON(steps.tauri.outputs.artifactPaths), '\n') }}" + echo "Checking binaries directory:" ls -hal binaries sha256sum binaries/* - name: upload-unsigned-artifact From d9e701f9e6cb75692317f8a51f2238af8893b703 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Fri, 4 Jul 2025 14:26:00 -0500 Subject: [PATCH 10/19] Test --- .github/workflows/release.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8c96f789..a2aa9e10 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -87,11 +87,13 @@ jobs: run: | echo "Artifact paths from tauri action:" echo "${{ steps.tauri.outputs.artifactPaths }}" - echo "Parsed artifact paths:" - echo "${{ join(fromJSON(steps.tauri.outputs.artifactPaths), '\n') }}" - echo "Checking binaries directory:" - ls -hal binaries - sha256sum binaries/* + + Get-ChildItem -Path ${{ steps.tauri.outputs.artifactPaths }} -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } + Move-Item -Path ${{ steps.tauri.outputs.artifactPaths }} -Destination ./binaries + + # sha sum the files in binaries + Get-ChildItem -Path ./binaries -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } + - name: upload-unsigned-artifact id: upload-unsigned-artifact uses: actions/upload-artifact@v4 @@ -110,8 +112,8 @@ jobs: output-artifact-directory: 'binaries/signed' - name: Postsign run: | - ls -hal binaries/signed - sha256sum binaries/signed/* + # using powershell lets list out the sha sum of the signed binaries + Get-ChildItem -Path binaries/signed -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } # TODO: refactor this later # - name: Upload signed windows binaries # uses: actions/github-script@v7 From 4fdee6d60fd6a8466effba4145f83fac40071b42 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Fri, 4 Jul 2025 14:42:07 -0500 Subject: [PATCH 11/19] Fixie wixie --- .github/workflows/release.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a2aa9e10..47f1cbfa 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -88,8 +88,7 @@ jobs: echo "Artifact paths from tauri action:" echo "${{ steps.tauri.outputs.artifactPaths }}" - Get-ChildItem -Path ${{ steps.tauri.outputs.artifactPaths }} -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } - Move-Item -Path ${{ steps.tauri.outputs.artifactPaths }} -Destination ./binaries + Move-Item -Path "${{ join(fromJSON(steps.tauri.outputs.artifactPaths), '\n') }}" -Destination ./binaries # sha sum the files in binaries Get-ChildItem -Path ./binaries -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } From cf7011b3f819bb1f7eef95dd353c49f777ec685a Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Fri, 4 Jul 2025 15:00:57 -0500 Subject: [PATCH 12/19] Fix again or maybe not --- .github/workflows/release.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 47f1cbfa..fa936894 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -88,7 +88,14 @@ jobs: echo "Artifact paths from tauri action:" echo "${{ steps.tauri.outputs.artifactPaths }}" - Move-Item -Path "${{ join(fromJSON(steps.tauri.outputs.artifactPaths), '\n') }}" -Destination ./binaries + # find the *.msi and *.exe files and move them into a folder binaries/ + # TODO: this seems brittle and maybe we can figure out how to parse the variable above? + $release_dir = "D:\a\overlayed\overlayed\apps\desktop\src-tauri\target\x86_64-pc-windows-msvc\release\" + Get-ChildItem -Path "$release_dir" -File -Recurse | ForEach-Object { + if ($_.Extension -eq ".msi" -or $_.Extension -eq ".exe") { + Move-Item -Path $_.FullName -Destination ./binaries + } + } # sha sum the files in binaries Get-ChildItem -Path ./binaries -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } From 50ae71d06d8b3d5ed61024e34f2417a3762f5f17 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Sat, 16 Aug 2025 10:56:28 -0500 Subject: [PATCH 13/19] One day ill get this working lmao --- .github/workflows/release.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index fa936894..243dfb97 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -88,6 +88,8 @@ jobs: echo "Artifact paths from tauri action:" echo "${{ steps.tauri.outputs.artifactPaths }}" + New-Item -ItemType Directory -Path "./binaries" -Force + # find the *.msi and *.exe files and move them into a folder binaries/ # TODO: this seems brittle and maybe we can figure out how to parse the variable above? $release_dir = "D:\a\overlayed\overlayed\apps\desktop\src-tauri\target\x86_64-pc-windows-msvc\release\" From 2d9483faf5c84e84a9b4b022477e0a713cff09f5 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Sun, 17 Aug 2025 07:53:54 -0500 Subject: [PATCH 14/19] Get msi and exe --- .github/workflows/release.yaml | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 243dfb97..8f2575f3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -88,15 +88,29 @@ jobs: echo "Artifact paths from tauri action:" echo "${{ steps.tauri.outputs.artifactPaths }}" - New-Item -ItemType Directory -Path "./binaries" -Force - - # find the *.msi and *.exe files and move them into a folder binaries/ - # TODO: this seems brittle and maybe we can figure out how to parse the variable above? - $release_dir = "D:\a\overlayed\overlayed\apps\desktop\src-tauri\target\x86_64-pc-windows-msvc\release\" - Get-ChildItem -Path "$release_dir" -File -Recurse | ForEach-Object { - if ($_.Extension -eq ".msi" -or $_.Extension -eq ".exe") { - Move-Item -Path $_.FullName -Destination ./binaries - } + # Parse artifactPaths to extract .exe and .msi files + $artifactPaths = "${{ steps.tauri.outputs.artifactPaths }}" + $paths = $artifactPaths -split ',' + + # Extract .exe and .msi files (excluding .sig and .zip files) + $exeFiles = $paths | Where-Object { $_ -match '\.exe$' } | Where-Object { $_ -notmatch '\.(sig|zip)$' } + $msiFiles = $paths | Where-Object { $_ -match '\.msi$' } | Where-Object { $_ -notmatch '\.(sig|zip)$' } + + Write-Host "Found EXE files:" + $exeFiles | ForEach-Object { Write-Host " $_" } + + Write-Host "Found MSI files:" + $msiFiles | ForEach-Object { Write-Host " $_" } + + # Move the files to binaries folder + $exeFiles | ForEach-Object { + $fileName = Split-Path $_ -Leaf + Copy-Item $_ -Destination "./binaries/$fileName" + } + + $msiFiles | ForEach-Object { + $fileName = Split-Path $_ -Leaf + Copy-Item $_ -Destination "./binaries/$fileName" } # sha sum the files in binaries From d2c183c6b1561cb7d9ba84e6247482031270c144 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Sun, 17 Aug 2025 08:06:33 -0500 Subject: [PATCH 15/19] You're absolutely right --- .github/workflows/release.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8f2575f3..fbac18fa 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -90,7 +90,9 @@ jobs: # Parse artifactPaths to extract .exe and .msi files $artifactPaths = "${{ steps.tauri.outputs.artifactPaths }}" - $paths = $artifactPaths -split ',' + + # Parse as JSON array + $paths = $artifactPaths | ConvertFrom-Json # Extract .exe and .msi files (excluding .sig and .zip files) $exeFiles = $paths | Where-Object { $_ -match '\.exe$' } | Where-Object { $_ -notmatch '\.(sig|zip)$' } From 6409a19b00b404de6a9b22c44bc1b8e149c9cca6 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Mon, 18 Aug 2025 19:37:04 -0500 Subject: [PATCH 16/19] Remove quotes --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index fbac18fa..b7be0726 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -89,7 +89,7 @@ jobs: echo "${{ steps.tauri.outputs.artifactPaths }}" # Parse artifactPaths to extract .exe and .msi files - $artifactPaths = "${{ steps.tauri.outputs.artifactPaths }}" + $artifactPaths = ${{ steps.tauri.outputs.artifactPaths }} # Parse as JSON array $paths = $artifactPaths | ConvertFrom-Json From b3e22f532886172a41b74a6d30845c5f557e5376 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Mon, 18 Aug 2025 19:50:41 -0500 Subject: [PATCH 17/19] Use single --- .github/workflows/release.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index b7be0726..23602abb 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -89,7 +89,7 @@ jobs: echo "${{ steps.tauri.outputs.artifactPaths }}" # Parse artifactPaths to extract .exe and .msi files - $artifactPaths = ${{ steps.tauri.outputs.artifactPaths }} + $artifactPaths = '${{ steps.tauri.outputs.artifactPaths }}' # Parse as JSON array $paths = $artifactPaths | ConvertFrom-Json From 490b92a79e179e3b94f757ca903965dc912289d7 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Mon, 18 Aug 2025 20:06:02 -0500 Subject: [PATCH 18/19] Fix build --- .github/workflows/release.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 23602abb..d502fee3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -88,6 +88,9 @@ jobs: echo "Artifact paths from tauri action:" echo "${{ steps.tauri.outputs.artifactPaths }}" + # Create binaries directory if it doesn't exist + New-Item -ItemType Directory -Force -Path "./binaries" + # Parse artifactPaths to extract .exe and .msi files $artifactPaths = '${{ steps.tauri.outputs.artifactPaths }}' @@ -107,12 +110,12 @@ jobs: # Move the files to binaries folder $exeFiles | ForEach-Object { $fileName = Split-Path $_ -Leaf - Copy-Item $_ -Destination "./binaries/$fileName" + Copy-Item $_ -Destination ".\binaries\$fileName" } $msiFiles | ForEach-Object { $fileName = Split-Path $_ -Leaf - Copy-Item $_ -Destination "./binaries/$fileName" + Copy-Item $_ -Destination ".\binaries\$fileName" } # sha sum the files in binaries From 1c4e5e27932a54295c58fed2bcb792e6ef934284 Mon Sep 17 00:00:00 2001 From: Sean Boult <996134+Hacksore@users.noreply.github.com> Date: Mon, 18 Aug 2025 20:48:03 -0500 Subject: [PATCH 19/19] Try uploading to release --- .github/workflows/release.yaml | 22 +- .../src-tauri/gen/schemas/windows-schema.json | 6365 +++++++++-------- 2 files changed, 3438 insertions(+), 2949 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d502fee3..413e2dc3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -85,9 +85,6 @@ jobs: # TODO: figure out where the binary are in the fs from the above action - name: Presign run: | - echo "Artifact paths from tauri action:" - echo "${{ steps.tauri.outputs.artifactPaths }}" - # Create binaries directory if it doesn't exist New-Item -ItemType Directory -Force -Path "./binaries" @@ -119,9 +116,9 @@ jobs: } # sha sum the files in binaries - Get-ChildItem -Path ./binaries -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } + Get-ChildItem -Path ".\binaries" -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } - - name: upload-unsigned-artifact + - name: Upload Unsigned Windows Binaries id: upload-unsigned-artifact uses: actions/upload-artifact@v4 with: @@ -141,14 +138,13 @@ jobs: run: | # using powershell lets list out the sha sum of the signed binaries Get-ChildItem -Path binaries/signed -File -Recurse | ForEach-Object { Get-FileHash -Path $_.FullName -Algorithm SHA256 } - # TODO: refactor this later - # - name: Upload signed windows binaries - # uses: actions/github-script@v7 - # with: - # script: | - # const { script } = await import('${{ github.workspace }}/scripts/actions/upload-signed-bins.js'); - # const id = "${{ needs.create-release.outputs.release_id }}"; - # await script({ github, context }, id); + - name: Upload signed windows binaries + uses: actions/github-script@v7 + with: + script: | + const { script } = await import('${{ github.workspace }}/scripts/actions/upload-signed-bins.js'); + const id = "${{ needs.create-release.outputs.release_id }}"; + await script({ github, context }, id); create-release: needs: build-tauri name: Create or Update diff --git a/apps/desktop/src-tauri/gen/schemas/windows-schema.json b/apps/desktop/src-tauri/gen/schemas/windows-schema.json index 5d13c78b..48530441 100644 --- a/apps/desktop/src-tauri/gen/schemas/windows-schema.json +++ b/apps/desktop/src-tauri/gen/schemas/windows-schema.json @@ -21,7 +21,9 @@ { "description": "A list of capabilities.", "type": "object", - "required": ["capabilities"], + "required": [ + "capabilities" + ], "properties": { "capabilities": { "description": "The list of capabilities.", @@ -35,9 +37,12 @@ ], "definitions": { "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a 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 programatic 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\"] } ```", + "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a 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 programatic 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"], + "required": [ + "identifier", + "permissions" + ], "properties": { "identifier": { "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", @@ -79,7 +84,7 @@ } }, "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\" }] } ```", + "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" @@ -88,7 +93,10 @@ }, "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"], + "type": [ + "array", + "null" + ], "items": { "$ref": "#/definitions/Target" } @@ -98,7 +106,9 @@ "CapabilityRemote": { "description": "Configuration for remote URLs that are associated with the capability.", "type": "object", - "required": ["urls"], + "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", @@ -123,4870 +133,5341 @@ { "description": "Reference a permission or permission set by identifier and extends its scope.", "type": "object", - "oneOf": [ + "allOf": [ { - "type": "object", - "required": ["identifier"], - "properties": { - "identifier": { - "oneOf": [ - { - "description": "fs:default -> This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n", - "type": "string", - "enum": ["fs:default"] - }, - { - "description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-app-meta"] - }, - { - "description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-app-meta-recursive"] - }, - { - "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", - "type": "string", - "enum": ["fs:allow-app-read"] - }, - { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-app-read-recursive"] - }, - { - "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", - "type": "string", - "enum": ["fs:allow-app-write"] - }, - { - "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-app-write-recursive"] - }, - { - "description": "fs:allow-appcache-meta -> This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-appcache-meta"] - }, - { - "description": "fs:allow-appcache-meta-recursive -> This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-appcache-meta-recursive"] - }, - { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", - "type": "string", - "enum": ["fs:allow-appcache-read"] - }, - { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-appcache-read-recursive"] - }, - { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", - "type": "string", - "enum": ["fs:allow-appcache-write"] - }, - { - "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-appcache-write-recursive"] - }, - { - "description": "fs:allow-appconfig-meta -> This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-appconfig-meta"] - }, - { - "description": "fs:allow-appconfig-meta-recursive -> This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-appconfig-meta-recursive"] - }, - { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", - "type": "string", - "enum": ["fs:allow-appconfig-read"] - }, - { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-appconfig-read-recursive"] - }, - { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", - "type": "string", - "enum": ["fs:allow-appconfig-write"] - }, - { - "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-appconfig-write-recursive"] - }, - { - "description": "fs:allow-appdata-meta -> This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-appdata-meta"] - }, - { - "description": "fs:allow-appdata-meta-recursive -> This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-appdata-meta-recursive"] - }, - { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", - "type": "string", - "enum": ["fs:allow-appdata-read"] - }, - { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-appdata-read-recursive"] - }, - { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", - "type": "string", - "enum": ["fs:allow-appdata-write"] - }, - { - "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-appdata-write-recursive"] - }, - { - "description": "fs:allow-applocaldata-meta -> This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-applocaldata-meta"] - }, - { - "description": "fs:allow-applocaldata-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-applocaldata-meta-recursive"] - }, - { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": ["fs:allow-applocaldata-read"] - }, - { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-applocaldata-read-recursive"] - }, - { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": ["fs:allow-applocaldata-write"] - }, - { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-applocaldata-write-recursive"] - }, - { - "description": "fs:allow-applog-meta -> This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-applog-meta"] - }, - { - "description": "fs:allow-applog-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-applog-meta-recursive"] - }, - { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", - "type": "string", - "enum": ["fs:allow-applog-read"] - }, - { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-applog-read-recursive"] - }, - { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", - "type": "string", - "enum": ["fs:allow-applog-write"] - }, - { - "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-applog-write-recursive"] - }, - { - "description": "fs:allow-audio-meta -> This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-audio-meta"] - }, - { - "description": "fs:allow-audio-meta-recursive -> This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-audio-meta-recursive"] - }, - { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", - "type": "string", - "enum": ["fs:allow-audio-read"] - }, - { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-audio-read-recursive"] - }, - { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", - "type": "string", - "enum": ["fs:allow-audio-write"] - }, - { - "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-audio-write-recursive"] - }, - { - "description": "fs:allow-cache-meta -> This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-cache-meta"] - }, - { - "description": "fs:allow-cache-meta-recursive -> This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-cache-meta-recursive"] - }, - { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", - "type": "string", - "enum": ["fs:allow-cache-read"] - }, - { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-cache-read-recursive"] - }, - { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", - "type": "string", - "enum": ["fs:allow-cache-write"] - }, - { - "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-cache-write-recursive"] - }, - { - "description": "fs:allow-config-meta -> This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-config-meta"] - }, - { - "description": "fs:allow-config-meta-recursive -> This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-config-meta-recursive"] - }, - { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", - "type": "string", - "enum": ["fs:allow-config-read"] - }, - { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-config-read-recursive"] - }, - { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", - "type": "string", - "enum": ["fs:allow-config-write"] - }, - { - "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-config-write-recursive"] - }, - { - "description": "fs:allow-data-meta -> This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-data-meta"] - }, - { - "description": "fs:allow-data-meta-recursive -> This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-data-meta-recursive"] - }, - { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", - "type": "string", - "enum": ["fs:allow-data-read"] - }, - { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-data-read-recursive"] - }, - { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", - "type": "string", - "enum": ["fs:allow-data-write"] - }, - { - "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-data-write-recursive"] - }, - { - "description": "fs:allow-desktop-meta -> This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-desktop-meta"] - }, - { - "description": "fs:allow-desktop-meta-recursive -> This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-desktop-meta-recursive"] - }, - { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", - "type": "string", - "enum": ["fs:allow-desktop-read"] - }, - { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-desktop-read-recursive"] - }, - { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", - "type": "string", - "enum": ["fs:allow-desktop-write"] - }, - { - "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-desktop-write-recursive"] - }, - { - "description": "fs:allow-document-meta -> This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-document-meta"] - }, - { - "description": "fs:allow-document-meta-recursive -> This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-document-meta-recursive"] - }, - { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", - "type": "string", - "enum": ["fs:allow-document-read"] - }, - { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-document-read-recursive"] - }, - { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", - "type": "string", - "enum": ["fs:allow-document-write"] - }, - { - "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-document-write-recursive"] - }, - { - "description": "fs:allow-download-meta -> This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-download-meta"] - }, - { - "description": "fs:allow-download-meta-recursive -> This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-download-meta-recursive"] - }, - { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": ["fs:allow-download-read"] - }, - { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-download-read-recursive"] - }, - { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": ["fs:allow-download-write"] - }, - { - "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-download-write-recursive"] - }, - { - "description": "fs:allow-exe-meta -> This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-exe-meta"] - }, - { - "description": "fs:allow-exe-meta-recursive -> This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-exe-meta-recursive"] - }, - { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", - "type": "string", - "enum": ["fs:allow-exe-read"] - }, - { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-exe-read-recursive"] - }, - { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", - "type": "string", - "enum": ["fs:allow-exe-write"] - }, - { - "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-exe-write-recursive"] - }, - { - "description": "fs:allow-font-meta -> This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-font-meta"] - }, - { - "description": "fs:allow-font-meta-recursive -> This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-font-meta-recursive"] - }, - { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", - "type": "string", - "enum": ["fs:allow-font-read"] - }, - { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-font-read-recursive"] - }, - { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", - "type": "string", - "enum": ["fs:allow-font-write"] - }, - { - "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-font-write-recursive"] - }, - { - "description": "fs:allow-home-meta -> This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-home-meta"] - }, - { - "description": "fs:allow-home-meta-recursive -> This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-home-meta-recursive"] - }, - { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", - "type": "string", - "enum": ["fs:allow-home-read"] - }, - { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-home-read-recursive"] - }, - { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", - "type": "string", - "enum": ["fs:allow-home-write"] - }, - { - "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-home-write-recursive"] - }, - { - "description": "fs:allow-localdata-meta -> This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-localdata-meta"] - }, - { - "description": "fs:allow-localdata-meta-recursive -> This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-localdata-meta-recursive"] - }, - { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", - "type": "string", - "enum": ["fs:allow-localdata-read"] - }, - { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-localdata-read-recursive"] - }, - { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", - "type": "string", - "enum": ["fs:allow-localdata-write"] - }, - { - "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-localdata-write-recursive"] - }, - { - "description": "fs:allow-log-meta -> This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-log-meta"] - }, - { - "description": "fs:allow-log-meta-recursive -> This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-log-meta-recursive"] - }, - { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", - "type": "string", - "enum": ["fs:allow-log-read"] - }, - { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-log-read-recursive"] - }, - { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", - "type": "string", - "enum": ["fs:allow-log-write"] - }, - { - "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-log-write-recursive"] - }, - { - "description": "fs:allow-picture-meta -> This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-picture-meta"] - }, - { - "description": "fs:allow-picture-meta-recursive -> This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-picture-meta-recursive"] - }, - { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", - "type": "string", - "enum": ["fs:allow-picture-read"] - }, - { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-picture-read-recursive"] - }, - { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", - "type": "string", - "enum": ["fs:allow-picture-write"] - }, - { - "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-picture-write-recursive"] - }, - { - "description": "fs:allow-public-meta -> This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-public-meta"] - }, - { - "description": "fs:allow-public-meta-recursive -> This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-public-meta-recursive"] - }, - { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", - "type": "string", - "enum": ["fs:allow-public-read"] - }, - { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-public-read-recursive"] - }, - { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", - "type": "string", - "enum": ["fs:allow-public-write"] - }, - { - "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-public-write-recursive"] - }, - { - "description": "fs:allow-resource-meta -> This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-resource-meta"] - }, - { - "description": "fs:allow-resource-meta-recursive -> This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-resource-meta-recursive"] - }, - { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", - "type": "string", - "enum": ["fs:allow-resource-read"] - }, - { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-resource-read-recursive"] - }, - { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", - "type": "string", - "enum": ["fs:allow-resource-write"] - }, - { - "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-resource-write-recursive"] - }, - { - "description": "fs:allow-runtime-meta -> This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-runtime-meta"] - }, - { - "description": "fs:allow-runtime-meta-recursive -> This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-runtime-meta-recursive"] - }, - { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", - "type": "string", - "enum": ["fs:allow-runtime-read"] - }, - { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-runtime-read-recursive"] - }, - { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", - "type": "string", - "enum": ["fs:allow-runtime-write"] - }, - { - "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-runtime-write-recursive"] - }, - { - "description": "fs:allow-temp-meta -> This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-temp-meta"] - }, - { - "description": "fs:allow-temp-meta-recursive -> This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-temp-meta-recursive"] - }, - { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", - "type": "string", - "enum": ["fs:allow-temp-read"] - }, - { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-temp-read-recursive"] - }, - { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", - "type": "string", - "enum": ["fs:allow-temp-write"] - }, - { - "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-temp-write-recursive"] - }, - { - "description": "fs:allow-template-meta -> This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-template-meta"] - }, - { - "description": "fs:allow-template-meta-recursive -> This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-template-meta-recursive"] - }, - { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", - "type": "string", - "enum": ["fs:allow-template-read"] - }, - { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-template-read-recursive"] - }, - { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", - "type": "string", - "enum": ["fs:allow-template-write"] - }, - { - "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-template-write-recursive"] - }, - { - "description": "fs:allow-video-meta -> This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-video-meta"] - }, - { - "description": "fs:allow-video-meta-recursive -> This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": ["fs:allow-video-meta-recursive"] - }, - { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", - "type": "string", - "enum": ["fs:allow-video-read"] - }, - { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-video-read-recursive"] - }, - { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", - "type": "string", - "enum": ["fs:allow-video-write"] - }, - { - "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": ["fs:allow-video-write-recursive"] - }, - { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", - "type": "string", - "enum": ["fs:deny-default"] - }, - { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-copy-file"] - }, - { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-create"] - }, - { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-exists"] - }, - { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-fstat"] - }, - { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-ftruncate"] - }, - { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-lstat"] - }, - { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-mkdir"] - }, - { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-open"] - }, - { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-read"] - }, - { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-read-dir"] - }, - { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-read-file"] - }, - { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-read-text-file"] - }, - { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-read-text-file-lines"] - }, - { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-read-text-file-lines-next"] - }, - { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-remove"] - }, - { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-rename"] - }, - { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-seek"] - }, - { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-stat"] - }, - { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-truncate"] - }, - { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-unwatch"] - }, - { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-watch"] - }, - { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-write"] - }, - { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-write-file"] - }, - { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:allow-write-text-file"] - }, - { - "description": "fs:create-app-specific-dirs -> This permissions allows to create the application specific directories.\n", - "type": "string", - "enum": ["fs:create-app-specific-dirs"] - }, - { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-copy-file"] - }, - { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-create"] - }, - { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-exists"] - }, - { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-fstat"] - }, - { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-ftruncate"] - }, - { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-lstat"] - }, - { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-mkdir"] - }, - { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-open"] - }, - { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-read"] - }, - { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-read-dir"] - }, - { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-read-file"] - }, - { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-read-text-file"] - }, - { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-read-text-file-lines"] - }, - { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-read-text-file-lines-next"] - }, - { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-remove"] - }, - { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-rename"] - }, - { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-seek"] - }, - { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-stat"] - }, - { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-truncate"] - }, - { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-unwatch"] - }, - { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-watch"] - }, - { - "description": "fs:deny-webview-data-linux -> This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "enum": ["fs:deny-webview-data-linux"] - }, - { - "description": "fs:deny-webview-data-windows -> This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "enum": ["fs:deny-webview-data-windows"] - }, - { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-write"] - }, - { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-write-file"] - }, - { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": ["fs:deny-write-text-file"] - }, - { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": ["fs:read-all"] - }, - { - "description": "fs:read-app-specific-dirs-recursive -> This permission allows recursive read functionality on the application\nspecific base directories. \n", - "type": "string", - "enum": ["fs:read-app-specific-dirs-recursive"] - }, - { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": ["fs:read-dirs"] - }, - { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": ["fs:read-files"] - }, - { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": ["fs:read-meta"] - }, - { - "description": "fs:scope -> An empty permission you can use to modify the global scope.", - "type": "string", - "enum": ["fs:scope"] - }, - { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", - "type": "string", - "enum": ["fs:scope-app"] - }, - { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", - "type": "string", - "enum": ["fs:scope-app-index"] - }, - { - "description": "fs:scope-app-recursive -> This scope permits recursive access to the complete `$APP` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-app-recursive"] - }, - { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", - "type": "string", - "enum": ["fs:scope-appcache"] - }, - { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", - "type": "string", - "enum": ["fs:scope-appcache-index"] - }, - { - "description": "fs:scope-appcache-recursive -> This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-appcache-recursive"] - }, - { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", - "type": "string", - "enum": ["fs:scope-appconfig"] - }, - { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", - "type": "string", - "enum": ["fs:scope-appconfig-index"] - }, - { - "description": "fs:scope-appconfig-recursive -> This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-appconfig-recursive"] - }, - { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", - "type": "string", - "enum": ["fs:scope-appdata"] - }, - { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", - "type": "string", - "enum": ["fs:scope-appdata-index"] - }, - { - "description": "fs:scope-appdata-recursive -> This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-appdata-recursive"] - }, - { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", - "type": "string", - "enum": ["fs:scope-applocaldata"] - }, - { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", - "type": "string", - "enum": ["fs:scope-applocaldata-index"] - }, - { - "description": "fs:scope-applocaldata-recursive -> This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-applocaldata-recursive"] - }, - { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", - "type": "string", - "enum": ["fs:scope-applog"] - }, - { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", - "type": "string", - "enum": ["fs:scope-applog-index"] - }, - { - "description": "fs:scope-applog-recursive -> This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-applog-recursive"] - }, - { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", - "type": "string", - "enum": ["fs:scope-audio"] - }, - { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", - "type": "string", - "enum": ["fs:scope-audio-index"] - }, - { - "description": "fs:scope-audio-recursive -> This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-audio-recursive"] - }, - { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", - "type": "string", - "enum": ["fs:scope-cache"] - }, - { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", - "type": "string", - "enum": ["fs:scope-cache-index"] - }, - { - "description": "fs:scope-cache-recursive -> This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-cache-recursive"] - }, - { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", - "type": "string", - "enum": ["fs:scope-config"] - }, - { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", - "type": "string", - "enum": ["fs:scope-config-index"] - }, - { - "description": "fs:scope-config-recursive -> This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-config-recursive"] - }, - { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", - "type": "string", - "enum": ["fs:scope-data"] - }, - { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", - "type": "string", - "enum": ["fs:scope-data-index"] - }, - { - "description": "fs:scope-data-recursive -> This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-data-recursive"] - }, - { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", - "type": "string", - "enum": ["fs:scope-desktop"] - }, - { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", - "type": "string", - "enum": ["fs:scope-desktop-index"] - }, - { - "description": "fs:scope-desktop-recursive -> This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-desktop-recursive"] - }, - { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", - "type": "string", - "enum": ["fs:scope-document"] - }, - { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", - "type": "string", - "enum": ["fs:scope-document-index"] - }, - { - "description": "fs:scope-document-recursive -> This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-document-recursive"] - }, - { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", - "type": "string", - "enum": ["fs:scope-download"] - }, - { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", - "type": "string", - "enum": ["fs:scope-download-index"] - }, - { - "description": "fs:scope-download-recursive -> This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-download-recursive"] - }, - { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", - "type": "string", - "enum": ["fs:scope-exe"] - }, - { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", - "type": "string", - "enum": ["fs:scope-exe-index"] - }, - { - "description": "fs:scope-exe-recursive -> This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-exe-recursive"] - }, - { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", - "type": "string", - "enum": ["fs:scope-font"] - }, - { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", - "type": "string", - "enum": ["fs:scope-font-index"] - }, - { - "description": "fs:scope-font-recursive -> This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-font-recursive"] - }, - { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", - "type": "string", - "enum": ["fs:scope-home"] - }, - { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", - "type": "string", - "enum": ["fs:scope-home-index"] - }, - { - "description": "fs:scope-home-recursive -> This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-home-recursive"] - }, - { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", - "type": "string", - "enum": ["fs:scope-localdata"] - }, - { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", - "type": "string", - "enum": ["fs:scope-localdata-index"] - }, - { - "description": "fs:scope-localdata-recursive -> This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-localdata-recursive"] - }, - { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", - "type": "string", - "enum": ["fs:scope-log"] - }, - { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", - "type": "string", - "enum": ["fs:scope-log-index"] - }, - { - "description": "fs:scope-log-recursive -> This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-log-recursive"] - }, - { - "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", - "type": "string", - "enum": ["fs:scope-picture"] - }, - { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", - "type": "string", - "enum": ["fs:scope-picture-index"] - }, - { - "description": "fs:scope-picture-recursive -> This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-picture-recursive"] - }, - { - "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", - "type": "string", - "enum": ["fs:scope-public"] - }, - { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", - "type": "string", - "enum": ["fs:scope-public-index"] - }, - { - "description": "fs:scope-public-recursive -> This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-public-recursive"] - }, - { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", - "type": "string", - "enum": ["fs:scope-resource"] - }, - { - "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", - "type": "string", - "enum": ["fs:scope-resource-index"] - }, - { - "description": "fs:scope-resource-recursive -> This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-resource-recursive"] - }, - { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", - "type": "string", - "enum": ["fs:scope-runtime"] - }, - { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", - "type": "string", - "enum": ["fs:scope-runtime-index"] - }, - { - "description": "fs:scope-runtime-recursive -> This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-runtime-recursive"] - }, - { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", - "type": "string", - "enum": ["fs:scope-temp"] - }, - { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", - "type": "string", - "enum": ["fs:scope-temp-index"] - }, - { - "description": "fs:scope-temp-recursive -> This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-temp-recursive"] - }, - { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", - "type": "string", - "enum": ["fs:scope-template"] - }, - { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", - "type": "string", - "enum": ["fs:scope-template-index"] - }, - { - "description": "fs:scope-template-recursive -> This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-template-recursive"] - }, - { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", - "type": "string", - "enum": ["fs:scope-video"] - }, - { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", - "type": "string", - "enum": ["fs:scope-video-index"] - }, - { - "description": "fs:scope-video-recursive -> This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.", - "type": "string", - "enum": ["fs:scope-video-recursive"] - }, - { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": ["fs:write-all"] - }, - { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": ["fs:write-files"] - } - ] - }, - "allow": { - "items": { - "title": "FsScopeEntry", - "description": "FS scope entry.", + "if": { + "properties": { + "identifier": { "anyOf": [ { - "description": "FS scope path.", - "type": "string" + "description": "This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n#### Included permissions within this default permission set:\n", + "type": "string", + "const": "fs:default" + }, + { + "description": "This allows non-recursive read access to metadata of the application folders, including file listing and statistics.", + "type": "string", + "const": "fs:allow-app-meta" + }, + { + "description": "This allows full recursive read access to metadata of the application folders, including file listing and statistics.", + "type": "string", + "const": "fs:allow-app-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the application folders.", + "type": "string", + "const": "fs:allow-app-read" + }, + { + "description": "This allows full recursive read access to the complete application folders, files and subdirectories.", + "type": "string", + "const": "fs:allow-app-read-recursive" + }, + { + "description": "This allows non-recursive write access to the application folders.", + "type": "string", + "const": "fs:allow-app-write" + }, + { + "description": "This allows full recursive write access to the complete application folders, files and subdirectories.", + "type": "string", + "const": "fs:allow-app-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-appcache-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-appcache-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$APPCACHE` folder.", + "type": "string", + "const": "fs:allow-appcache-read" + }, + { + "description": "This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-appcache-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$APPCACHE` folder.", + "type": "string", + "const": "fs:allow-appcache-write" + }, + { + "description": "This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-appcache-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-appconfig-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-appconfig-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$APPCONFIG` folder.", + "type": "string", + "const": "fs:allow-appconfig-read" + }, + { + "description": "This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-appconfig-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$APPCONFIG` folder.", + "type": "string", + "const": "fs:allow-appconfig-write" + }, + { + "description": "This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-appconfig-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-appdata-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-appdata-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$APPDATA` folder.", + "type": "string", + "const": "fs:allow-appdata-read" + }, + { + "description": "This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-appdata-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$APPDATA` folder.", + "type": "string", + "const": "fs:allow-appdata-write" + }, + { + "description": "This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-appdata-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-applocaldata-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-applocaldata-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "type": "string", + "const": "fs:allow-applocaldata-read" + }, + { + "description": "This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-applocaldata-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "type": "string", + "const": "fs:allow-applocaldata-write" + }, + { + "description": "This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-applocaldata-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-applog-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-applog-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$APPLOG` folder.", + "type": "string", + "const": "fs:allow-applog-read" + }, + { + "description": "This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-applog-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$APPLOG` folder.", + "type": "string", + "const": "fs:allow-applog-write" + }, + { + "description": "This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-applog-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-audio-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-audio-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$AUDIO` folder.", + "type": "string", + "const": "fs:allow-audio-read" + }, + { + "description": "This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-audio-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$AUDIO` folder.", + "type": "string", + "const": "fs:allow-audio-write" + }, + { + "description": "This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-audio-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-cache-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-cache-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$CACHE` folder.", + "type": "string", + "const": "fs:allow-cache-read" + }, + { + "description": "This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-cache-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$CACHE` folder.", + "type": "string", + "const": "fs:allow-cache-write" + }, + { + "description": "This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-cache-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-config-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-config-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$CONFIG` folder.", + "type": "string", + "const": "fs:allow-config-read" + }, + { + "description": "This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-config-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$CONFIG` folder.", + "type": "string", + "const": "fs:allow-config-write" + }, + { + "description": "This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-config-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-data-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-data-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$DATA` folder.", + "type": "string", + "const": "fs:allow-data-read" + }, + { + "description": "This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-data-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$DATA` folder.", + "type": "string", + "const": "fs:allow-data-write" + }, + { + "description": "This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-data-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-desktop-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-desktop-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$DESKTOP` folder.", + "type": "string", + "const": "fs:allow-desktop-read" + }, + { + "description": "This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-desktop-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$DESKTOP` folder.", + "type": "string", + "const": "fs:allow-desktop-write" + }, + { + "description": "This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-desktop-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-document-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-document-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$DOCUMENT` folder.", + "type": "string", + "const": "fs:allow-document-read" + }, + { + "description": "This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-document-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$DOCUMENT` folder.", + "type": "string", + "const": "fs:allow-document-write" + }, + { + "description": "This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-document-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-download-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-download-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$DOWNLOAD` folder.", + "type": "string", + "const": "fs:allow-download-read" + }, + { + "description": "This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-download-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$DOWNLOAD` folder.", + "type": "string", + "const": "fs:allow-download-write" + }, + { + "description": "This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-download-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-exe-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-exe-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$EXE` folder.", + "type": "string", + "const": "fs:allow-exe-read" + }, + { + "description": "This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-exe-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$EXE` folder.", + "type": "string", + "const": "fs:allow-exe-write" + }, + { + "description": "This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-exe-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-font-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-font-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$FONT` folder.", + "type": "string", + "const": "fs:allow-font-read" + }, + { + "description": "This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-font-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$FONT` folder.", + "type": "string", + "const": "fs:allow-font-write" + }, + { + "description": "This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-font-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-home-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-home-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$HOME` folder.", + "type": "string", + "const": "fs:allow-home-read" + }, + { + "description": "This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-home-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$HOME` folder.", + "type": "string", + "const": "fs:allow-home-write" + }, + { + "description": "This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-home-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-localdata-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-localdata-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$LOCALDATA` folder.", + "type": "string", + "const": "fs:allow-localdata-read" + }, + { + "description": "This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-localdata-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$LOCALDATA` folder.", + "type": "string", + "const": "fs:allow-localdata-write" + }, + { + "description": "This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-localdata-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-log-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-log-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$LOG` folder.", + "type": "string", + "const": "fs:allow-log-read" + }, + { + "description": "This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-log-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$LOG` folder.", + "type": "string", + "const": "fs:allow-log-write" + }, + { + "description": "This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-log-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-picture-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-picture-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$PICTURE` folder.", + "type": "string", + "const": "fs:allow-picture-read" + }, + { + "description": "This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-picture-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$PICTURE` folder.", + "type": "string", + "const": "fs:allow-picture-write" + }, + { + "description": "This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-picture-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-public-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-public-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$PUBLIC` folder.", + "type": "string", + "const": "fs:allow-public-read" + }, + { + "description": "This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-public-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$PUBLIC` folder.", + "type": "string", + "const": "fs:allow-public-write" + }, + { + "description": "This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-public-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-resource-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-resource-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$RESOURCE` folder.", + "type": "string", + "const": "fs:allow-resource-read" + }, + { + "description": "This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-resource-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$RESOURCE` folder.", + "type": "string", + "const": "fs:allow-resource-write" + }, + { + "description": "This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-resource-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-runtime-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-runtime-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$RUNTIME` folder.", + "type": "string", + "const": "fs:allow-runtime-read" + }, + { + "description": "This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-runtime-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$RUNTIME` folder.", + "type": "string", + "const": "fs:allow-runtime-write" + }, + { + "description": "This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-runtime-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-temp-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-temp-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$TEMP` folder.", + "type": "string", + "const": "fs:allow-temp-read" + }, + { + "description": "This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-temp-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$TEMP` folder.", + "type": "string", + "const": "fs:allow-temp-write" + }, + { + "description": "This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-temp-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-template-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-template-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$TEMPLATE` folder.", + "type": "string", + "const": "fs:allow-template-read" + }, + { + "description": "This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-template-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$TEMPLATE` folder.", + "type": "string", + "const": "fs:allow-template-write" + }, + { + "description": "This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-template-write-recursive" + }, + { + "description": "This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-video-meta" + }, + { + "description": "This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "const": "fs:allow-video-meta-recursive" + }, + { + "description": "This allows non-recursive read access to the `$VIDEO` folder.", + "type": "string", + "const": "fs:allow-video-read" + }, + { + "description": "This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-video-read-recursive" + }, + { + "description": "This allows non-recursive write access to the `$VIDEO` folder.", + "type": "string", + "const": "fs:allow-video-write" + }, + { + "description": "This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.", + "type": "string", + "const": "fs:allow-video-write-recursive" + }, + { + "description": "This denies access to dangerous Tauri relevant files and folders by default.", + "type": "string", + "const": "fs:deny-default" + }, + { + "description": "Enables the copy_file command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-copy-file" + }, + { + "description": "Enables the create command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-create" + }, + { + "description": "Enables the exists command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-exists" + }, + { + "description": "Enables the fstat command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-fstat" + }, + { + "description": "Enables the ftruncate command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-ftruncate" + }, + { + "description": "Enables the lstat command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-lstat" + }, + { + "description": "Enables the mkdir command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-mkdir" + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-open" + }, + { + "description": "Enables the read command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-read" + }, + { + "description": "Enables the read_dir command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-read-dir" + }, + { + "description": "Enables the read_file command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-read-file" + }, + { + "description": "Enables the read_text_file command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-read-text-file" + }, + { + "description": "Enables the read_text_file_lines command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-read-text-file-lines" + }, + { + "description": "Enables the read_text_file_lines_next command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-read-text-file-lines-next" + }, + { + "description": "Enables the remove command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-remove" + }, + { + "description": "Enables the rename command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-rename" + }, + { + "description": "Enables the seek command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-seek" + }, + { + "description": "Enables the size command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-size" + }, + { + "description": "Enables the stat command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-stat" + }, + { + "description": "Enables the truncate command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-truncate" + }, + { + "description": "Enables the unwatch command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-unwatch" + }, + { + "description": "Enables the watch command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-watch" + }, + { + "description": "Enables the write command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-write" + }, + { + "description": "Enables the write_file command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-write-file" + }, + { + "description": "Enables the write_text_file command without any pre-configured scope.", + "type": "string", + "const": "fs:allow-write-text-file" + }, + { + "description": "This permissions allows to create the application specific directories.\n", + "type": "string", + "const": "fs:create-app-specific-dirs" + }, + { + "description": "Denies the copy_file command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-copy-file" + }, + { + "description": "Denies the create command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-create" + }, + { + "description": "Denies the exists command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-exists" + }, + { + "description": "Denies the fstat command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-fstat" + }, + { + "description": "Denies the ftruncate command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-ftruncate" + }, + { + "description": "Denies the lstat command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-lstat" + }, + { + "description": "Denies the mkdir command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-mkdir" + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-open" + }, + { + "description": "Denies the read command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-read" + }, + { + "description": "Denies the read_dir command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-read-dir" + }, + { + "description": "Denies the read_file command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-read-file" + }, + { + "description": "Denies the read_text_file command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-read-text-file" + }, + { + "description": "Denies the read_text_file_lines command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-read-text-file-lines" }, { - "type": "object", - "required": ["path"], - "properties": { - "path": { - "description": "FS scope path.", - "type": "string" - } - } + "description": "Denies the read_text_file_lines_next command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-read-text-file-lines-next" + }, + { + "description": "Denies the remove command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-remove" + }, + { + "description": "Denies the rename command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-rename" + }, + { + "description": "Denies the seek command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-seek" + }, + { + "description": "Denies the size command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-size" + }, + { + "description": "Denies the stat command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-stat" + }, + { + "description": "Denies the truncate command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-truncate" + }, + { + "description": "Denies the unwatch command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-unwatch" + }, + { + "description": "Denies the watch command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-watch" + }, + { + "description": "This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", + "type": "string", + "const": "fs:deny-webview-data-linux" + }, + { + "description": "This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", + "type": "string", + "const": "fs:deny-webview-data-windows" + }, + { + "description": "Denies the write command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-write" + }, + { + "description": "Denies the write_file command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-write-file" + }, + { + "description": "Denies the write_text_file command without any pre-configured scope.", + "type": "string", + "const": "fs:deny-write-text-file" + }, + { + "description": "This enables all read related commands without any pre-configured accessible paths.", + "type": "string", + "const": "fs:read-all" + }, + { + "description": "This permission allows recursive read functionality on the application\nspecific base directories. \n", + "type": "string", + "const": "fs:read-app-specific-dirs-recursive" + }, + { + "description": "This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "type": "string", + "const": "fs:read-dirs" + }, + { + "description": "This enables file read related commands without any pre-configured accessible paths.", + "type": "string", + "const": "fs:read-files" + }, + { + "description": "This enables all index or metadata related commands without any pre-configured accessible paths.", + "type": "string", + "const": "fs:read-meta" + }, + { + "description": "An empty permission you can use to modify the global scope.", + "type": "string", + "const": "fs:scope" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the application folders.", + "type": "string", + "const": "fs:scope-app" + }, + { + "description": "This scope permits to list all files and folders in the application directories.", + "type": "string", + "const": "fs:scope-app-index" + }, + { + "description": "This scope permits recursive access to the complete application folders, including sub directories and files.", + "type": "string", + "const": "fs:scope-app-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.", + "type": "string", + "const": "fs:scope-appcache" + }, + { + "description": "This scope permits to list all files and folders in the `$APPCACHE`folder.", + "type": "string", + "const": "fs:scope-appcache-index" + }, + { + "description": "This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-appcache-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.", + "type": "string", + "const": "fs:scope-appconfig" + }, + { + "description": "This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "type": "string", + "const": "fs:scope-appconfig-index" + }, + { + "description": "This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-appconfig-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.", + "type": "string", + "const": "fs:scope-appdata" + }, + { + "description": "This scope permits to list all files and folders in the `$APPDATA`folder.", + "type": "string", + "const": "fs:scope-appdata-index" + }, + { + "description": "This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-appdata-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.", + "type": "string", + "const": "fs:scope-applocaldata" + }, + { + "description": "This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "type": "string", + "const": "fs:scope-applocaldata-index" + }, + { + "description": "This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-applocaldata-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.", + "type": "string", + "const": "fs:scope-applog" + }, + { + "description": "This scope permits to list all files and folders in the `$APPLOG`folder.", + "type": "string", + "const": "fs:scope-applog-index" + }, + { + "description": "This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-applog-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.", + "type": "string", + "const": "fs:scope-audio" + }, + { + "description": "This scope permits to list all files and folders in the `$AUDIO`folder.", + "type": "string", + "const": "fs:scope-audio-index" + }, + { + "description": "This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-audio-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$CACHE` folder.", + "type": "string", + "const": "fs:scope-cache" + }, + { + "description": "This scope permits to list all files and folders in the `$CACHE`folder.", + "type": "string", + "const": "fs:scope-cache-index" + }, + { + "description": "This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-cache-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.", + "type": "string", + "const": "fs:scope-config" + }, + { + "description": "This scope permits to list all files and folders in the `$CONFIG`folder.", + "type": "string", + "const": "fs:scope-config-index" + }, + { + "description": "This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-config-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$DATA` folder.", + "type": "string", + "const": "fs:scope-data" + }, + { + "description": "This scope permits to list all files and folders in the `$DATA`folder.", + "type": "string", + "const": "fs:scope-data-index" + }, + { + "description": "This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-data-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.", + "type": "string", + "const": "fs:scope-desktop" + }, + { + "description": "This scope permits to list all files and folders in the `$DESKTOP`folder.", + "type": "string", + "const": "fs:scope-desktop-index" + }, + { + "description": "This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-desktop-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.", + "type": "string", + "const": "fs:scope-document" + }, + { + "description": "This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "type": "string", + "const": "fs:scope-document-index" + }, + { + "description": "This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-document-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.", + "type": "string", + "const": "fs:scope-download" + }, + { + "description": "This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "type": "string", + "const": "fs:scope-download-index" + }, + { + "description": "This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-download-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$EXE` folder.", + "type": "string", + "const": "fs:scope-exe" + }, + { + "description": "This scope permits to list all files and folders in the `$EXE`folder.", + "type": "string", + "const": "fs:scope-exe-index" + }, + { + "description": "This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-exe-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$FONT` folder.", + "type": "string", + "const": "fs:scope-font" + }, + { + "description": "This scope permits to list all files and folders in the `$FONT`folder.", + "type": "string", + "const": "fs:scope-font-index" + }, + { + "description": "This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-font-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$HOME` folder.", + "type": "string", + "const": "fs:scope-home" + }, + { + "description": "This scope permits to list all files and folders in the `$HOME`folder.", + "type": "string", + "const": "fs:scope-home-index" + }, + { + "description": "This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-home-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.", + "type": "string", + "const": "fs:scope-localdata" + }, + { + "description": "This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "type": "string", + "const": "fs:scope-localdata-index" + }, + { + "description": "This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-localdata-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$LOG` folder.", + "type": "string", + "const": "fs:scope-log" + }, + { + "description": "This scope permits to list all files and folders in the `$LOG`folder.", + "type": "string", + "const": "fs:scope-log-index" + }, + { + "description": "This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-log-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.", + "type": "string", + "const": "fs:scope-picture" + }, + { + "description": "This scope permits to list all files and folders in the `$PICTURE`folder.", + "type": "string", + "const": "fs:scope-picture-index" + }, + { + "description": "This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-picture-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.", + "type": "string", + "const": "fs:scope-public" + }, + { + "description": "This scope permits to list all files and folders in the `$PUBLIC`folder.", + "type": "string", + "const": "fs:scope-public-index" + }, + { + "description": "This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-public-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.", + "type": "string", + "const": "fs:scope-resource" + }, + { + "description": "This scope permits to list all files and folders in the `$RESOURCE`folder.", + "type": "string", + "const": "fs:scope-resource-index" + }, + { + "description": "This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-resource-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.", + "type": "string", + "const": "fs:scope-runtime" + }, + { + "description": "This scope permits to list all files and folders in the `$RUNTIME`folder.", + "type": "string", + "const": "fs:scope-runtime-index" + }, + { + "description": "This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-runtime-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$TEMP` folder.", + "type": "string", + "const": "fs:scope-temp" + }, + { + "description": "This scope permits to list all files and folders in the `$TEMP`folder.", + "type": "string", + "const": "fs:scope-temp-index" + }, + { + "description": "This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-temp-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.", + "type": "string", + "const": "fs:scope-template" + }, + { + "description": "This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "type": "string", + "const": "fs:scope-template-index" + }, + { + "description": "This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-template-recursive" + }, + { + "description": "This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.", + "type": "string", + "const": "fs:scope-video" + }, + { + "description": "This scope permits to list all files and folders in the `$VIDEO`folder.", + "type": "string", + "const": "fs:scope-video-index" + }, + { + "description": "This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "type": "string", + "const": "fs:scope-video-recursive" + }, + { + "description": "This enables all write related commands without any pre-configured accessible paths.", + "type": "string", + "const": "fs:write-all" + }, + { + "description": "This enables all file write related commands without any pre-configured accessible paths.", + "type": "string", + "const": "fs:write-files" } ] } - }, - "deny": { - "items": { - "title": "FsScopeEntry", - "description": "FS scope entry.", + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "FsScopeEntry", + "description": "FS scope entry.", + "anyOf": [ + { + "description": "A path that can be accessed by the webview when using the fs APIs. FS scope path pattern.\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" + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "description": "A path that can be accessed by the webview when using the fs 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": "FsScopeEntry", + "description": "FS scope entry.", + "anyOf": [ + { + "description": "A path that can be accessed by the webview when using the fs APIs. FS scope path pattern.\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" + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "description": "A path that can be accessed by the webview when using the fs 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" + } + ] + } + } + }, + { + "if": { + "properties": { + "identifier": { "anyOf": [ { - "description": "FS scope path.", - "type": "string" + "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", + "type": "string", + "const": "http:default" }, { - "type": "object", - "required": ["path"], - "properties": { - "path": { - "description": "FS scope path.", - "type": "string" - } - } + "description": "Enables the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch" + }, + { + "description": "Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-cancel" + }, + { + "description": "Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-read-body" + }, + { + "description": "Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:allow-fetch-send" + }, + { + "description": "Denies the fetch command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch" + }, + { + "description": "Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-cancel" + }, + { + "description": "Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-read-body" + }, + { + "description": "Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "const": "http:deny-fetch-send" } ] } } - } - }, - { - "type": "object", - "required": ["identifier"], + }, + "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": { - "oneOf": [ - { - "description": "http:default -> 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", - "type": "string", - "enum": ["http:default"] - }, - { - "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", - "type": "string", - "enum": ["http:allow-fetch"] - }, - { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "enum": ["http:allow-fetch-cancel"] - }, - { - "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "enum": ["http:allow-fetch-read-body"] - }, - { - "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": ["http:allow-fetch-send"] - }, + "description": "Identifier of the permission or permission set.", + "allOf": [ { - "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", - "type": "string", - "enum": ["http:deny-fetch"] - }, - { - "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "enum": ["http:deny-fetch-cancel"] - }, - { - "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "enum": ["http:deny-fetch-read-body"] - }, - { - "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": ["http:deny-fetch-send"] + "$ref": "#/definitions/Identifier" } ] - }, - "allow": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", + } + } + }, + { + "if": { + "properties": { + "identifier": { "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" + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", + "type": "string", + "const": "shell:default" }, { - "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": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute" + }, { - "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" + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill" }, { - "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" - } - } + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open" + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn" + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write" + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute" + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill" + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open" + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn" + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write" } ] } } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It 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`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + }, + "deny": { + "items": { + "title": "ShellScopeEntry", + "description": "Shell scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "cmd", + "name" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "cmd": { + "description": "The command name. It 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`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", + "type": "string" + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + } + }, + "additionalProperties": false + }, + { + "type": "object", + "required": [ + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellScopeEntryAllowedArgs" + } + ] + }, + "name": { + "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", + "type": "string" + }, + "sidecar": { + "description": "If this command is a sidecar command.", + "type": "boolean" + } + }, + "additionalProperties": false + } + ] + } + } + } + }, + "properties": { + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } } }, { - "type": "object", - "required": ["identifier"], "properties": { "identifier": { - "oneOf": [ - { - "description": "shell:default -> This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "enum": ["shell:default"] - }, - { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", - "type": "string", - "enum": ["shell:allow-execute"] - }, - { - "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", - "type": "string", - "enum": ["shell:allow-kill"] - }, - { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": ["shell:allow-open"] - }, - { - "description": "shell:allow-spawn -> Enables the spawn command without any pre-configured scope.", - "type": "string", - "enum": ["shell:allow-spawn"] - }, - { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": ["shell:allow-stdin-write"] - }, - { - "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", - "type": "string", - "enum": ["shell:deny-execute"] - }, - { - "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", - "type": "string", - "enum": ["shell:deny-kill"] - }, + "description": "Identifier of the permission or permission set.", + "allOf": [ { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": ["shell:deny-open"] - }, - { - "description": "shell:deny-spawn -> Denies the spawn command without any pre-configured scope.", - "type": "string", - "enum": ["shell:deny-spawn"] - }, - { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": ["shell:deny-stdin-write"] + "$ref": "#/definitions/Identifier" } ] }, "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": ["args", "cmd", "name", "sidecar"], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It 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" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } + "$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": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": ["args", "cmd", "name", "sidecar"], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It 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" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } + "$ref": "#/definitions/Value" } } } } + ], + "required": [ + "identifier" ] } ] }, "Identifier": { + "description": "Permission identifier", "oneOf": [ { - "description": "core:app:default -> Default permissions for the plugin.", + "description": "Default core plugins set which includes:\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'\n", + "type": "string", + "const": "core:default" + }, + { + "description": "Default permissions for the plugin.", + "type": "string", + "const": "core:app:default" + }, + { + "description": "Enables the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-hide" + }, + { + "description": "Enables the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-show" + }, + { + "description": "Enables the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-default-window-icon" + }, + { + "description": "Enables the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-name" + }, + { + "description": "Enables the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-app-theme" + }, + { + "description": "Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-tauri-version" + }, + { + "description": "Enables the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-version" + }, + { + "description": "Denies the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-hide" + }, + { + "description": "Denies the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-show" + }, + { + "description": "Denies the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-default-window-icon" + }, + { + "description": "Denies the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-name" + }, + { + "description": "Denies the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-app-theme" + }, + { + "description": "Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-tauri-version" + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-version" + }, + { + "description": "Default permissions for the plugin.", + "type": "string", + "const": "core:event:default" + }, + { + "description": "Enables the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit" + }, + { + "description": "Enables the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit-to" + }, + { + "description": "Enables the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-listen" + }, + { + "description": "Enables the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-unlisten" + }, + { + "description": "Denies the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit" + }, + { + "description": "Denies the emit_to command without any pre-configured scope.", "type": "string", - "enum": ["core:app:default"] + "const": "core:event:deny-emit-to" }, { - "description": "core:app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "Denies the listen command without any pre-configured scope.", "type": "string", - "enum": ["core:app:allow-app-hide"] + "const": "core:event:deny-listen" }, { - "description": "core:app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "Denies the unlisten command without any pre-configured scope.", "type": "string", - "enum": ["core:app:allow-app-show"] + "const": "core:event:deny-unlisten" }, { - "description": "core:app:allow-default-window-icon -> Enables the default_window_icon command without any pre-configured scope.", + "description": "Default permissions for the plugin.", "type": "string", - "enum": ["core:app:allow-default-window-icon"] + "const": "core:image:default" }, { - "description": "core:app:allow-name -> Enables the name command without any pre-configured scope.", + "description": "Enables the from_bytes command without any pre-configured scope.", "type": "string", - "enum": ["core:app:allow-name"] + "const": "core:image:allow-from-bytes" }, { - "description": "core:app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "Enables the from_path command without any pre-configured scope.", "type": "string", - "enum": ["core:app:allow-tauri-version"] + "const": "core:image:allow-from-path" }, { - "description": "core:app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "Enables the new command without any pre-configured scope.", "type": "string", - "enum": ["core:app:allow-version"] + "const": "core:image:allow-new" }, { - "description": "core:app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "description": "Enables the rgba command without any pre-configured scope.", "type": "string", - "enum": ["core:app:deny-app-hide"] + "const": "core:image:allow-rgba" }, { - "description": "core:app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "Enables the size command without any pre-configured scope.", "type": "string", - "enum": ["core:app:deny-app-show"] + "const": "core:image:allow-size" }, { - "description": "core:app:deny-default-window-icon -> Denies the default_window_icon command without any pre-configured scope.", + "description": "Denies the from_bytes command without any pre-configured scope.", "type": "string", - "enum": ["core:app:deny-default-window-icon"] + "const": "core:image:deny-from-bytes" }, { - "description": "core:app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "Denies the from_path command without any pre-configured scope.", "type": "string", - "enum": ["core:app:deny-name"] + "const": "core:image:deny-from-path" }, { - "description": "core:app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "description": "Denies the new command without any pre-configured scope.", "type": "string", - "enum": ["core:app:deny-tauri-version"] + "const": "core:image:deny-new" }, { - "description": "core:app:deny-version -> Denies the version command without any pre-configured scope.", + "description": "Denies the rgba command without any pre-configured scope.", "type": "string", - "enum": ["core:app:deny-version"] + "const": "core:image:deny-rgba" }, { - "description": "core:event:default -> Default permissions for the plugin.", + "description": "Denies the size command without any pre-configured scope.", "type": "string", - "enum": ["core:event:default"] + "const": "core:image:deny-size" }, { - "description": "core:event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "Default permissions for the plugin.", "type": "string", - "enum": ["core:event:allow-emit"] + "const": "core:menu:default" }, { - "description": "core:event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.", + "description": "Enables the append command without any pre-configured scope.", "type": "string", - "enum": ["core:event:allow-emit-to"] + "const": "core:menu:allow-append" }, { - "description": "core:event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "Enables the create_default command without any pre-configured scope.", "type": "string", - "enum": ["core:event:allow-listen"] + "const": "core:menu:allow-create-default" }, { - "description": "core:event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "description": "Enables the get command without any pre-configured scope.", "type": "string", - "enum": ["core:event:allow-unlisten"] + "const": "core:menu:allow-get" }, { - "description": "core:event:deny-emit -> Denies the emit command without any pre-configured scope.", + "description": "Enables the insert command without any pre-configured scope.", "type": "string", - "enum": ["core:event:deny-emit"] + "const": "core:menu:allow-insert" }, { - "description": "core:event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.", + "description": "Enables the is_checked command without any pre-configured scope.", "type": "string", - "enum": ["core:event:deny-emit-to"] + "const": "core:menu:allow-is-checked" }, { - "description": "core:event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "Enables the is_enabled command without any pre-configured scope.", "type": "string", - "enum": ["core:event:deny-listen"] + "const": "core:menu:allow-is-enabled" }, { - "description": "core:event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "description": "Enables the items command without any pre-configured scope.", "type": "string", - "enum": ["core:event:deny-unlisten"] + "const": "core:menu:allow-items" }, { - "description": "core:image:default -> Default permissions for the plugin.", + "description": "Enables the new command without any pre-configured scope.", "type": "string", - "enum": ["core:image:default"] + "const": "core:menu:allow-new" }, { - "description": "core:image:allow-from-bytes -> Enables the from_bytes command without any pre-configured scope.", + "description": "Enables the popup command without any pre-configured scope.", "type": "string", - "enum": ["core:image:allow-from-bytes"] + "const": "core:menu:allow-popup" }, { - "description": "core:image:allow-from-path -> Enables the from_path command without any pre-configured scope.", + "description": "Enables the prepend command without any pre-configured scope.", "type": "string", - "enum": ["core:image:allow-from-path"] + "const": "core:menu:allow-prepend" }, { - "description": "core:image:allow-new -> Enables the new command without any pre-configured scope.", + "description": "Enables the remove command without any pre-configured scope.", "type": "string", - "enum": ["core:image:allow-new"] + "const": "core:menu:allow-remove" }, { - "description": "core:image:allow-rgba -> Enables the rgba command without any pre-configured scope.", + "description": "Enables the remove_at command without any pre-configured scope.", "type": "string", - "enum": ["core:image:allow-rgba"] + "const": "core:menu:allow-remove-at" }, { - "description": "core:image:allow-size -> Enables the size command without any pre-configured scope.", + "description": "Enables the set_accelerator command without any pre-configured scope.", "type": "string", - "enum": ["core:image:allow-size"] + "const": "core:menu:allow-set-accelerator" }, { - "description": "core:image:deny-from-bytes -> Denies the from_bytes command without any pre-configured scope.", + "description": "Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", - "enum": ["core:image:deny-from-bytes"] + "const": "core:menu:allow-set-as-app-menu" }, { - "description": "core:image:deny-from-path -> Denies the from_path command without any pre-configured scope.", + "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", - "enum": ["core:image:deny-from-path"] + "const": "core:menu:allow-set-as-help-menu-for-nsapp" }, { - "description": "core:image:deny-new -> Denies the new command without any pre-configured scope.", + "description": "Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", - "enum": ["core:image:deny-new"] + "const": "core:menu:allow-set-as-window-menu" }, { - "description": "core:image:deny-rgba -> Denies the rgba command without any pre-configured scope.", + "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", - "enum": ["core:image:deny-rgba"] + "const": "core:menu:allow-set-as-windows-menu-for-nsapp" }, { - "description": "core:image:deny-size -> Denies the size command without any pre-configured scope.", + "description": "Enables the set_checked command without any pre-configured scope.", "type": "string", - "enum": ["core:image:deny-size"] + "const": "core:menu:allow-set-checked" }, { - "description": "core:menu:default -> Default permissions for the plugin.", + "description": "Enables the set_enabled command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:default"] + "const": "core:menu:allow-set-enabled" }, { - "description": "core:menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "Enables the set_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-append"] + "const": "core:menu:allow-set-icon" }, { - "description": "core:menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "Enables the set_text command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-create-default"] + "const": "core:menu:allow-set-text" }, { - "description": "core:menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "Enables the text command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-get"] + "const": "core:menu:allow-text" }, { - "description": "core:menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "Denies the append command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-insert"] + "const": "core:menu:deny-append" }, { - "description": "core:menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "Denies the create_default command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-is-checked"] + "const": "core:menu:deny-create-default" }, { - "description": "core:menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "Denies the get command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-is-enabled"] + "const": "core:menu:deny-get" }, { - "description": "core:menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "Denies the insert command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-items"] + "const": "core:menu:deny-insert" }, { - "description": "core:menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "Denies the is_checked command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-new"] + "const": "core:menu:deny-is-checked" }, { - "description": "core:menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "Denies the is_enabled command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-popup"] + "const": "core:menu:deny-is-enabled" }, { - "description": "core:menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "Denies the items command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-prepend"] + "const": "core:menu:deny-items" }, { - "description": "core:menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "Denies the new command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-remove"] + "const": "core:menu:deny-new" }, { - "description": "core:menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "Denies the popup command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-remove-at"] + "const": "core:menu:deny-popup" }, { - "description": "core:menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "Denies the prepend command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-accelerator"] + "const": "core:menu:deny-prepend" }, { - "description": "core:menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "Denies the remove command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-as-app-menu"] + "const": "core:menu:deny-remove" }, { - "description": "core:menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "Denies the remove_at command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-as-help-menu-for-nsapp"] + "const": "core:menu:deny-remove-at" }, { - "description": "core:menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "Denies the set_accelerator command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-as-window-menu"] + "const": "core:menu:deny-set-accelerator" }, { - "description": "core:menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-as-windows-menu-for-nsapp"] + "const": "core:menu:deny-set-as-app-menu" }, { - "description": "core:menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-checked"] + "const": "core:menu:deny-set-as-help-menu-for-nsapp" }, { - "description": "core:menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-enabled"] + "const": "core:menu:deny-set-as-window-menu" }, { - "description": "core:menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-icon"] + "const": "core:menu:deny-set-as-windows-menu-for-nsapp" }, { - "description": "core:menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "Denies the set_checked command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-set-text"] + "const": "core:menu:deny-set-checked" }, { - "description": "core:menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "Denies the set_enabled command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:allow-text"] + "const": "core:menu:deny-set-enabled" }, { - "description": "core:menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "Denies the set_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-append"] + "const": "core:menu:deny-set-icon" }, { - "description": "core:menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "Denies the set_text command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-create-default"] + "const": "core:menu:deny-set-text" }, { - "description": "core:menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "Denies the text command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-get"] + "const": "core:menu:deny-text" }, { - "description": "core:menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "Default permissions for the plugin.", "type": "string", - "enum": ["core:menu:deny-insert"] + "const": "core:path:default" }, { - "description": "core:menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "Enables the basename command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-is-checked"] + "const": "core:path:allow-basename" }, { - "description": "core:menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "Enables the dirname command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-is-enabled"] + "const": "core:path:allow-dirname" }, { - "description": "core:menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "Enables the extname command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-items"] + "const": "core:path:allow-extname" }, { - "description": "core:menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "Enables the is_absolute command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-new"] + "const": "core:path:allow-is-absolute" }, { - "description": "core:menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "Enables the join command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-popup"] + "const": "core:path:allow-join" }, { - "description": "core:menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "Enables the normalize command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-prepend"] + "const": "core:path:allow-normalize" }, { - "description": "core:menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "Enables the resolve command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-remove"] + "const": "core:path:allow-resolve" }, { - "description": "core:menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "Enables the resolve_directory command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-remove-at"] + "const": "core:path:allow-resolve-directory" }, { - "description": "core:menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "Denies the basename command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-set-accelerator"] + "const": "core:path:deny-basename" }, { - "description": "core:menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "Denies the dirname command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-set-as-app-menu"] + "const": "core:path:deny-dirname" }, { - "description": "core:menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "Denies the extname command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-set-as-help-menu-for-nsapp"] + "const": "core:path:deny-extname" }, { - "description": "core:menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "Denies the is_absolute command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-set-as-window-menu"] + "const": "core:path:deny-is-absolute" }, { - "description": "core:menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "Denies the join command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-set-as-windows-menu-for-nsapp"] + "const": "core:path:deny-join" }, { - "description": "core:menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "Denies the normalize command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-set-checked"] + "const": "core:path:deny-normalize" }, { - "description": "core:menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "Denies the resolve command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-set-enabled"] + "const": "core:path:deny-resolve" }, { - "description": "core:menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "Denies the resolve_directory command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-set-icon"] + "const": "core:path:deny-resolve-directory" }, { - "description": "core:menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "Default permissions for the plugin.", "type": "string", - "enum": ["core:menu:deny-set-text"] + "const": "core:resources:default" }, { - "description": "core:menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "Enables the close command without any pre-configured scope.", "type": "string", - "enum": ["core:menu:deny-text"] + "const": "core:resources:allow-close" }, { - "description": "core:path:default -> Default permissions for the plugin.", + "description": "Denies the close command without any pre-configured scope.", "type": "string", - "enum": ["core:path:default"] + "const": "core:resources:deny-close" }, { - "description": "core:path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "Default permissions for the plugin.", "type": "string", - "enum": ["core:path:allow-basename"] + "const": "core:tray:default" }, { - "description": "core:path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "description": "Enables the get_by_id command without any pre-configured scope.", "type": "string", - "enum": ["core:path:allow-dirname"] + "const": "core:tray:allow-get-by-id" }, { - "description": "core:path:allow-extname -> Enables the extname command without any pre-configured scope.", + "description": "Enables the new command without any pre-configured scope.", "type": "string", - "enum": ["core:path:allow-extname"] + "const": "core:tray:allow-new" }, { - "description": "core:path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "Enables the remove_by_id command without any pre-configured scope.", "type": "string", - "enum": ["core:path:allow-is-absolute"] + "const": "core:tray:allow-remove-by-id" }, { - "description": "core:path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "Enables the set_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:path:allow-join"] + "const": "core:tray:allow-set-icon" }, { - "description": "core:path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "Enables the set_icon_as_template command without any pre-configured scope.", "type": "string", - "enum": ["core:path:allow-normalize"] + "const": "core:tray:allow-set-icon-as-template" }, { - "description": "core:path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "Enables the set_menu command without any pre-configured scope.", "type": "string", - "enum": ["core:path:allow-resolve"] + "const": "core:tray:allow-set-menu" }, { - "description": "core:path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", - "enum": ["core:path:allow-resolve-directory"] + "const": "core:tray:allow-set-show-menu-on-left-click" }, { - "description": "core:path:deny-basename -> Denies the basename command without any pre-configured scope.", + "description": "Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", - "enum": ["core:path:deny-basename"] + "const": "core:tray:allow-set-temp-dir-path" }, { - "description": "core:path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "Enables the set_title command without any pre-configured scope.", "type": "string", - "enum": ["core:path:deny-dirname"] + "const": "core:tray:allow-set-title" }, { - "description": "core:path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "Enables the set_tooltip command without any pre-configured scope.", "type": "string", - "enum": ["core:path:deny-extname"] + "const": "core:tray:allow-set-tooltip" }, { - "description": "core:path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "Enables the set_visible command without any pre-configured scope.", "type": "string", - "enum": ["core:path:deny-is-absolute"] + "const": "core:tray:allow-set-visible" }, { - "description": "core:path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "Denies the get_by_id command without any pre-configured scope.", "type": "string", - "enum": ["core:path:deny-join"] + "const": "core:tray:deny-get-by-id" }, { - "description": "core:path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "Denies the new command without any pre-configured scope.", "type": "string", - "enum": ["core:path:deny-normalize"] + "const": "core:tray:deny-new" }, { - "description": "core:path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "Denies the remove_by_id command without any pre-configured scope.", "type": "string", - "enum": ["core:path:deny-resolve"] + "const": "core:tray:deny-remove-by-id" }, { - "description": "core:path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "Denies the set_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:path:deny-resolve-directory"] + "const": "core:tray:deny-set-icon" }, { - "description": "core:resources:default -> Default permissions for the plugin.", + "description": "Denies the set_icon_as_template command without any pre-configured scope.", "type": "string", - "enum": ["core:resources:default"] + "const": "core:tray:deny-set-icon-as-template" }, { - "description": "core:resources:allow-close -> Enables the close command without any pre-configured scope.", + "description": "Denies the set_menu command without any pre-configured scope.", "type": "string", - "enum": ["core:resources:allow-close"] + "const": "core:tray:deny-set-menu" }, { - "description": "core:resources:deny-close -> Denies the close command without any pre-configured scope.", + "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", - "enum": ["core:resources:deny-close"] + "const": "core:tray:deny-set-show-menu-on-left-click" }, { - "description": "core:tray:default -> Default permissions for the plugin.", + "description": "Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:default"] + "const": "core:tray:deny-set-temp-dir-path" }, { - "description": "core:tray:allow-get-by-id -> Enables the get_by_id command without any pre-configured scope.", + "description": "Denies the set_title command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-get-by-id"] + "const": "core:tray:deny-set-title" }, { - "description": "core:tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "Denies the set_tooltip command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-new"] + "const": "core:tray:deny-set-tooltip" }, { - "description": "core:tray:allow-remove-by-id -> Enables the remove_by_id command without any pre-configured scope.", + "description": "Denies the set_visible command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-remove-by-id"] + "const": "core:tray:deny-set-visible" }, { - "description": "core:tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "Default permissions for the plugin.", "type": "string", - "enum": ["core:tray:allow-set-icon"] + "const": "core:webview:default" }, { - "description": "core:tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-set-icon-as-template"] + "const": "core:webview:allow-clear-all-browsing-data" }, { - "description": "core:tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "Enables the create_webview command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-set-menu"] + "const": "core:webview:allow-create-webview" }, { - "description": "core:tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "Enables the create_webview_window command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-set-show-menu-on-left-click"] + "const": "core:webview:allow-create-webview-window" }, { - "description": "core:tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "Enables the get_all_webviews command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-set-temp-dir-path"] + "const": "core:webview:allow-get-all-webviews" }, { - "description": "core:tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-set-title"] + "const": "core:webview:allow-internal-toggle-devtools" }, { - "description": "core:tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "Enables the print command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-set-tooltip"] + "const": "core:webview:allow-print" }, { - "description": "core:tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "Enables the reparent command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:allow-set-visible"] + "const": "core:webview:allow-reparent" }, { - "description": "core:tray:deny-get-by-id -> Denies the get_by_id command without any pre-configured scope.", + "description": "Enables the set_webview_background_color command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-get-by-id"] + "const": "core:webview:allow-set-webview-background-color" }, { - "description": "core:tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "Enables the set_webview_focus command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-new"] + "const": "core:webview:allow-set-webview-focus" }, { - "description": "core:tray:deny-remove-by-id -> Denies the remove_by_id command without any pre-configured scope.", + "description": "Enables the set_webview_position command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-remove-by-id"] + "const": "core:webview:allow-set-webview-position" }, { - "description": "core:tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "Enables the set_webview_size command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-set-icon"] + "const": "core:webview:allow-set-webview-size" }, { - "description": "core:tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "description": "Enables the set_webview_zoom command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-set-icon-as-template"] + "const": "core:webview:allow-set-webview-zoom" }, { - "description": "core:tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "Enables the webview_close command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-set-menu"] + "const": "core:webview:allow-webview-close" }, { - "description": "core:tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "Enables the webview_hide command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-set-show-menu-on-left-click"] + "const": "core:webview:allow-webview-hide" }, { - "description": "core:tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "Enables the webview_position command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-set-temp-dir-path"] + "const": "core:webview:allow-webview-position" }, { - "description": "core:tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "Enables the webview_show command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-set-title"] + "const": "core:webview:allow-webview-show" }, { - "description": "core:tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "description": "Enables the webview_size command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-set-tooltip"] + "const": "core:webview:allow-webview-size" }, { - "description": "core:tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", "type": "string", - "enum": ["core:tray:deny-set-visible"] + "const": "core:webview:deny-clear-all-browsing-data" }, { - "description": "core:webview:default -> Default permissions for the plugin.", + "description": "Denies the create_webview command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:default"] + "const": "core:webview:deny-create-webview" }, { - "description": "core:webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", + "description": "Denies the create_webview_window command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-create-webview"] + "const": "core:webview:deny-create-webview-window" }, { - "description": "core:webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", + "description": "Denies the get_all_webviews command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-create-webview-window"] + "const": "core:webview:deny-get-all-webviews" }, { - "description": "core:webview:allow-get-all-webviews -> Enables the get_all_webviews command without any pre-configured scope.", + "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-get-all-webviews"] + "const": "core:webview:deny-internal-toggle-devtools" }, { - "description": "core:webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "Denies the print command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-internal-toggle-devtools"] + "const": "core:webview:deny-print" }, { - "description": "core:webview:allow-print -> Enables the print command without any pre-configured scope.", + "description": "Denies the reparent command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-print"] + "const": "core:webview:deny-reparent" }, { - "description": "core:webview:allow-reparent -> Enables the reparent command without any pre-configured scope.", + "description": "Denies the set_webview_background_color command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-reparent"] + "const": "core:webview:deny-set-webview-background-color" }, { - "description": "core:webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", + "description": "Denies the set_webview_focus command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-set-webview-focus"] + "const": "core:webview:deny-set-webview-focus" }, { - "description": "core:webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", + "description": "Denies the set_webview_position command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-set-webview-position"] + "const": "core:webview:deny-set-webview-position" }, { - "description": "core:webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", + "description": "Denies the set_webview_size command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-set-webview-size"] + "const": "core:webview:deny-set-webview-size" }, { - "description": "core:webview:allow-set-webview-zoom -> Enables the set_webview_zoom command without any pre-configured scope.", + "description": "Denies the set_webview_zoom command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-set-webview-zoom"] + "const": "core:webview:deny-set-webview-zoom" }, { - "description": "core:webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", + "description": "Denies the webview_close command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-webview-close"] + "const": "core:webview:deny-webview-close" }, { - "description": "core:webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", + "description": "Denies the webview_hide command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-webview-position"] + "const": "core:webview:deny-webview-hide" }, { - "description": "core:webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", + "description": "Denies the webview_position command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:allow-webview-size"] + "const": "core:webview:deny-webview-position" }, { - "description": "core:webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", + "description": "Denies the webview_show command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-create-webview"] + "const": "core:webview:deny-webview-show" }, { - "description": "core:webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", + "description": "Denies the webview_size command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-create-webview-window"] + "const": "core:webview:deny-webview-size" }, { - "description": "core:webview:deny-get-all-webviews -> Denies the get_all_webviews command without any pre-configured scope.", + "description": "Default permissions for the plugin.", "type": "string", - "enum": ["core:webview:deny-get-all-webviews"] + "const": "core:window:default" }, { - "description": "core:webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "Enables the available_monitors command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-internal-toggle-devtools"] + "const": "core:window:allow-available-monitors" }, { - "description": "core:webview:deny-print -> Denies the print command without any pre-configured scope.", + "description": "Enables the center command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-print"] + "const": "core:window:allow-center" }, { - "description": "core:webview:deny-reparent -> Denies the reparent command without any pre-configured scope.", + "description": "Enables the close command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-reparent"] + "const": "core:window:allow-close" }, { - "description": "core:webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.", + "description": "Enables the create command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-set-webview-focus"] + "const": "core:window:allow-create" }, { - "description": "core:webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", + "description": "Enables the current_monitor command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-set-webview-position"] + "const": "core:window:allow-current-monitor" }, { - "description": "core:webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", + "description": "Enables the cursor_position command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-set-webview-size"] + "const": "core:window:allow-cursor-position" }, { - "description": "core:webview:deny-set-webview-zoom -> Denies the set_webview_zoom command without any pre-configured scope.", + "description": "Enables the destroy command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-set-webview-zoom"] + "const": "core:window:allow-destroy" }, { - "description": "core:webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", + "description": "Enables the get_all_windows command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-webview-close"] + "const": "core:window:allow-get-all-windows" }, { - "description": "core:webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", + "description": "Enables the hide command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-webview-position"] + "const": "core:window:allow-hide" }, { - "description": "core:webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", + "description": "Enables the inner_position command without any pre-configured scope.", "type": "string", - "enum": ["core:webview:deny-webview-size"] + "const": "core:window:allow-inner-position" }, { - "description": "core:window:default -> Default permissions for the plugin.", + "description": "Enables the inner_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:default"] + "const": "core:window:allow-inner-size" }, { - "description": "core:window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-available-monitors"] + "const": "core:window:allow-internal-toggle-maximize" }, { - "description": "core:window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "Enables the is_closable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-center"] + "const": "core:window:allow-is-closable" }, { - "description": "core:window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "Enables the is_decorated command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-close"] + "const": "core:window:allow-is-decorated" }, { - "description": "core:window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "Enables the is_enabled command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-create"] + "const": "core:window:allow-is-enabled" }, { - "description": "core:window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "Enables the is_focused command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-current-monitor"] + "const": "core:window:allow-is-focused" }, { - "description": "core:window:allow-cursor-position -> Enables the cursor_position command without any pre-configured scope.", + "description": "Enables the is_fullscreen command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-cursor-position"] + "const": "core:window:allow-is-fullscreen" }, { - "description": "core:window:allow-destroy -> Enables the destroy command without any pre-configured scope.", + "description": "Enables the is_maximizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-destroy"] + "const": "core:window:allow-is-maximizable" }, { - "description": "core:window:allow-get-all-windows -> Enables the get_all_windows command without any pre-configured scope.", + "description": "Enables the is_maximized command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-get-all-windows"] + "const": "core:window:allow-is-maximized" }, { - "description": "core:window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "Enables the is_minimizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-hide"] + "const": "core:window:allow-is-minimizable" }, { - "description": "core:window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "Enables the is_minimized command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-inner-position"] + "const": "core:window:allow-is-minimized" }, { - "description": "core:window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "description": "Enables the is_resizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-inner-size"] + "const": "core:window:allow-is-resizable" }, { - "description": "core:window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "Enables the is_visible command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-internal-toggle-maximize"] + "const": "core:window:allow-is-visible" }, { - "description": "core:window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "Enables the maximize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-closable"] + "const": "core:window:allow-maximize" }, { - "description": "core:window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "Enables the minimize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-decorated"] + "const": "core:window:allow-minimize" }, { - "description": "core:window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "Enables the monitor_from_point command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-focused"] + "const": "core:window:allow-monitor-from-point" }, { - "description": "core:window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "Enables the outer_position command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-fullscreen"] + "const": "core:window:allow-outer-position" }, { - "description": "core:window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "Enables the outer_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-maximizable"] + "const": "core:window:allow-outer-size" }, { - "description": "core:window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "Enables the primary_monitor command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-maximized"] + "const": "core:window:allow-primary-monitor" }, { - "description": "core:window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "Enables the request_user_attention command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-minimizable"] + "const": "core:window:allow-request-user-attention" }, { - "description": "core:window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "Enables the scale_factor command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-minimized"] + "const": "core:window:allow-scale-factor" }, { - "description": "core:window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-resizable"] + "const": "core:window:allow-set-always-on-bottom" }, { - "description": "core:window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "Enables the set_always_on_top command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-is-visible"] + "const": "core:window:allow-set-always-on-top" }, { - "description": "core:window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "Enables the set_background_color command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-maximize"] + "const": "core:window:allow-set-background-color" }, { - "description": "core:window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "Enables the set_badge_count command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-minimize"] + "const": "core:window:allow-set-badge-count" }, { - "description": "core:window:allow-monitor-from-point -> Enables the monitor_from_point command without any pre-configured scope.", + "description": "Enables the set_badge_label command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-monitor-from-point"] + "const": "core:window:allow-set-badge-label" }, { - "description": "core:window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "Enables the set_closable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-outer-position"] + "const": "core:window:allow-set-closable" }, { - "description": "core:window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "Enables the set_content_protected command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-outer-size"] + "const": "core:window:allow-set-content-protected" }, { - "description": "core:window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-primary-monitor"] + "const": "core:window:allow-set-cursor-grab" }, { - "description": "core:window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-request-user-attention"] + "const": "core:window:allow-set-cursor-icon" }, { - "description": "core:window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "Enables the set_cursor_position command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-scale-factor"] + "const": "core:window:allow-set-cursor-position" }, { - "description": "core:window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-always-on-bottom"] + "const": "core:window:allow-set-cursor-visible" }, { - "description": "core:window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "Enables the set_decorations command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-always-on-top"] + "const": "core:window:allow-set-decorations" }, { - "description": "core:window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "Enables the set_effects command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-closable"] + "const": "core:window:allow-set-effects" }, { - "description": "core:window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "Enables the set_enabled command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-content-protected"] + "const": "core:window:allow-set-enabled" }, { - "description": "core:window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "Enables the set_focus command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-cursor-grab"] + "const": "core:window:allow-set-focus" }, { - "description": "core:window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "Enables the set_fullscreen command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-cursor-icon"] + "const": "core:window:allow-set-fullscreen" }, { - "description": "core:window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "Enables the set_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-cursor-position"] + "const": "core:window:allow-set-icon" }, { - "description": "core:window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-cursor-visible"] + "const": "core:window:allow-set-ignore-cursor-events" }, { - "description": "core:window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "Enables the set_max_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-decorations"] + "const": "core:window:allow-set-max-size" }, { - "description": "core:window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "Enables the set_maximizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-effects"] + "const": "core:window:allow-set-maximizable" }, { - "description": "core:window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "Enables the set_min_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-focus"] + "const": "core:window:allow-set-min-size" }, { - "description": "core:window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "Enables the set_minimizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-fullscreen"] + "const": "core:window:allow-set-minimizable" }, { - "description": "core:window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "Enables the set_overlay_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-icon"] + "const": "core:window:allow-set-overlay-icon" }, { - "description": "core:window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "Enables the set_position command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-ignore-cursor-events"] + "const": "core:window:allow-set-position" }, { - "description": "core:window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "Enables the set_progress_bar command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-max-size"] + "const": "core:window:allow-set-progress-bar" }, { - "description": "core:window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "Enables the set_resizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-maximizable"] + "const": "core:window:allow-set-resizable" }, { - "description": "core:window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "Enables the set_shadow command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-min-size"] + "const": "core:window:allow-set-shadow" }, { - "description": "core:window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "Enables the set_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-minimizable"] + "const": "core:window:allow-set-size" }, { - "description": "core:window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "Enables the set_size_constraints command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-position"] + "const": "core:window:allow-set-size-constraints" }, { - "description": "core:window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-progress-bar"] + "const": "core:window:allow-set-skip-taskbar" }, { - "description": "core:window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "Enables the set_theme command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-resizable"] + "const": "core:window:allow-set-theme" }, { - "description": "core:window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "Enables the set_title command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-shadow"] + "const": "core:window:allow-set-title" }, { - "description": "core:window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "Enables the set_title_bar_style command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-size"] + "const": "core:window:allow-set-title-bar-style" }, { - "description": "core:window:allow-set-size-constraints -> Enables the set_size_constraints command without any pre-configured scope.", + "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-size-constraints"] + "const": "core:window:allow-set-visible-on-all-workspaces" }, { - "description": "core:window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "Enables the show command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-skip-taskbar"] + "const": "core:window:allow-show" }, { - "description": "core:window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "Enables the start_dragging command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-title"] + "const": "core:window:allow-start-dragging" }, { - "description": "core:window:allow-set-title-bar-style -> Enables the set_title_bar_style command without any pre-configured scope.", + "description": "Enables the start_resize_dragging command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-title-bar-style"] + "const": "core:window:allow-start-resize-dragging" }, { - "description": "core:window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "description": "Enables the theme command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-set-visible-on-all-workspaces"] + "const": "core:window:allow-theme" }, { - "description": "core:window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "Enables the title command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-show"] + "const": "core:window:allow-title" }, { - "description": "core:window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "Enables the toggle_maximize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-start-dragging"] + "const": "core:window:allow-toggle-maximize" }, { - "description": "core:window:allow-start-resize-dragging -> Enables the start_resize_dragging command without any pre-configured scope.", + "description": "Enables the unmaximize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-start-resize-dragging"] + "const": "core:window:allow-unmaximize" }, { - "description": "core:window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "Enables the unminimize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-theme"] + "const": "core:window:allow-unminimize" }, { - "description": "core:window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "Denies the available_monitors command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-title"] + "const": "core:window:deny-available-monitors" }, { - "description": "core:window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "Denies the center command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-toggle-maximize"] + "const": "core:window:deny-center" }, { - "description": "core:window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "Denies the close command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-unmaximize"] + "const": "core:window:deny-close" }, { - "description": "core:window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "Denies the create command without any pre-configured scope.", "type": "string", - "enum": ["core:window:allow-unminimize"] + "const": "core:window:deny-create" }, { - "description": "core:window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "Denies the current_monitor command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-available-monitors"] + "const": "core:window:deny-current-monitor" }, { - "description": "core:window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "Denies the cursor_position command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-center"] + "const": "core:window:deny-cursor-position" }, { - "description": "core:window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "Denies the destroy command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-close"] + "const": "core:window:deny-destroy" }, { - "description": "core:window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "Denies the get_all_windows command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-create"] + "const": "core:window:deny-get-all-windows" }, { - "description": "core:window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "Denies the hide command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-current-monitor"] + "const": "core:window:deny-hide" }, { - "description": "core:window:deny-cursor-position -> Denies the cursor_position command without any pre-configured scope.", + "description": "Denies the inner_position command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-cursor-position"] + "const": "core:window:deny-inner-position" }, { - "description": "core:window:deny-destroy -> Denies the destroy command without any pre-configured scope.", + "description": "Denies the inner_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-destroy"] + "const": "core:window:deny-inner-size" }, { - "description": "core:window:deny-get-all-windows -> Denies the get_all_windows command without any pre-configured scope.", + "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-get-all-windows"] + "const": "core:window:deny-internal-toggle-maximize" }, { - "description": "core:window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "Denies the is_closable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-hide"] + "const": "core:window:deny-is-closable" }, { - "description": "core:window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "Denies the is_decorated command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-inner-position"] + "const": "core:window:deny-is-decorated" }, { - "description": "core:window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "Denies the is_enabled command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-inner-size"] + "const": "core:window:deny-is-enabled" }, { - "description": "core:window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "Denies the is_focused command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-internal-toggle-maximize"] + "const": "core:window:deny-is-focused" }, { - "description": "core:window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "Denies the is_fullscreen command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-closable"] + "const": "core:window:deny-is-fullscreen" }, { - "description": "core:window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "Denies the is_maximizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-decorated"] + "const": "core:window:deny-is-maximizable" }, { - "description": "core:window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "Denies the is_maximized command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-focused"] + "const": "core:window:deny-is-maximized" }, { - "description": "core:window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "Denies the is_minimizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-fullscreen"] + "const": "core:window:deny-is-minimizable" }, { - "description": "core:window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "Denies the is_minimized command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-maximizable"] + "const": "core:window:deny-is-minimized" }, { - "description": "core:window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "Denies the is_resizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-maximized"] + "const": "core:window:deny-is-resizable" }, { - "description": "core:window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "Denies the is_visible command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-minimizable"] + "const": "core:window:deny-is-visible" }, { - "description": "core:window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "Denies the maximize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-minimized"] + "const": "core:window:deny-maximize" }, { - "description": "core:window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "Denies the minimize command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-resizable"] + "const": "core:window:deny-minimize" }, { - "description": "core:window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "Denies the monitor_from_point command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-is-visible"] + "const": "core:window:deny-monitor-from-point" }, { - "description": "core:window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "Denies the outer_position command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-maximize"] + "const": "core:window:deny-outer-position" }, { - "description": "core:window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "Denies the outer_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-minimize"] + "const": "core:window:deny-outer-size" }, { - "description": "core:window:deny-monitor-from-point -> Denies the monitor_from_point command without any pre-configured scope.", + "description": "Denies the primary_monitor command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-monitor-from-point"] + "const": "core:window:deny-primary-monitor" }, { - "description": "core:window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "Denies the request_user_attention command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-outer-position"] + "const": "core:window:deny-request-user-attention" }, { - "description": "core:window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "Denies the scale_factor command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-outer-size"] + "const": "core:window:deny-scale-factor" }, { - "description": "core:window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-primary-monitor"] + "const": "core:window:deny-set-always-on-bottom" }, { - "description": "core:window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "Denies the set_always_on_top command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-request-user-attention"] + "const": "core:window:deny-set-always-on-top" }, { - "description": "core:window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "Denies the set_background_color command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-scale-factor"] + "const": "core:window:deny-set-background-color" }, { - "description": "core:window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "Denies the set_badge_count command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-always-on-bottom"] + "const": "core:window:deny-set-badge-count" }, { - "description": "core:window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "Denies the set_badge_label command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-always-on-top"] + "const": "core:window:deny-set-badge-label" }, { - "description": "core:window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "Denies the set_closable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-closable"] + "const": "core:window:deny-set-closable" }, { - "description": "core:window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "Denies the set_content_protected command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-content-protected"] + "const": "core:window:deny-set-content-protected" }, { - "description": "core:window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-cursor-grab"] + "const": "core:window:deny-set-cursor-grab" }, { - "description": "core:window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-cursor-icon"] + "const": "core:window:deny-set-cursor-icon" }, { - "description": "core:window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "Denies the set_cursor_position command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-cursor-position"] + "const": "core:window:deny-set-cursor-position" }, { - "description": "core:window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-cursor-visible"] + "const": "core:window:deny-set-cursor-visible" }, { - "description": "core:window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "Denies the set_decorations command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-decorations"] + "const": "core:window:deny-set-decorations" }, { - "description": "core:window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "Denies the set_effects command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-effects"] + "const": "core:window:deny-set-effects" }, { - "description": "core:window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "Denies the set_enabled command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-focus"] + "const": "core:window:deny-set-enabled" }, { - "description": "core:window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "Denies the set_focus command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-fullscreen"] + "const": "core:window:deny-set-focus" }, { - "description": "core:window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "Denies the set_fullscreen command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-icon"] + "const": "core:window:deny-set-fullscreen" }, { - "description": "core:window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "Denies the set_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-ignore-cursor-events"] + "const": "core:window:deny-set-icon" }, { - "description": "core:window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-max-size"] + "const": "core:window:deny-set-ignore-cursor-events" }, { - "description": "core:window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "Denies the set_max_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-maximizable"] + "const": "core:window:deny-set-max-size" }, { - "description": "core:window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "Denies the set_maximizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-min-size"] + "const": "core:window:deny-set-maximizable" }, { - "description": "core:window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "Denies the set_min_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-minimizable"] + "const": "core:window:deny-set-min-size" }, { - "description": "core:window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "Denies the set_minimizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-position"] + "const": "core:window:deny-set-minimizable" }, { - "description": "core:window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "Denies the set_overlay_icon command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-progress-bar"] + "const": "core:window:deny-set-overlay-icon" }, { - "description": "core:window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "Denies the set_position command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-resizable"] + "const": "core:window:deny-set-position" }, { - "description": "core:window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "Denies the set_progress_bar command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-shadow"] + "const": "core:window:deny-set-progress-bar" }, { - "description": "core:window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "Denies the set_resizable command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-size"] + "const": "core:window:deny-set-resizable" }, { - "description": "core:window:deny-set-size-constraints -> Denies the set_size_constraints command without any pre-configured scope.", + "description": "Denies the set_shadow command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-size-constraints"] + "const": "core:window:deny-set-shadow" }, { - "description": "core:window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "Denies the set_size command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-skip-taskbar"] + "const": "core:window:deny-set-size" }, { - "description": "core:window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "Denies the set_size_constraints command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-title"] + "const": "core:window:deny-set-size-constraints" }, { - "description": "core:window:deny-set-title-bar-style -> Denies the set_title_bar_style command without any pre-configured scope.", + "description": "Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-title-bar-style"] + "const": "core:window:deny-set-skip-taskbar" }, { - "description": "core:window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "description": "Denies the set_theme command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-set-visible-on-all-workspaces"] + "const": "core:window:deny-set-theme" }, { - "description": "core:window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "Denies the set_title command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-show"] + "const": "core:window:deny-set-title" }, { - "description": "core:window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "Denies the set_title_bar_style command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-start-dragging"] + "const": "core:window:deny-set-title-bar-style" }, { - "description": "core:window:deny-start-resize-dragging -> Denies the start_resize_dragging command without any pre-configured scope.", + "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-start-resize-dragging"] + "const": "core:window:deny-set-visible-on-all-workspaces" }, { - "description": "core:window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "Denies the show command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-theme"] + "const": "core:window:deny-show" }, { - "description": "core:window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "Denies the start_dragging command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-title"] + "const": "core:window:deny-start-dragging" }, { - "description": "core:window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "Denies the start_resize_dragging command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-toggle-maximize"] + "const": "core:window:deny-start-resize-dragging" }, { - "description": "core:window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "Denies the theme command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-unmaximize"] + "const": "core:window:deny-theme" }, { - "description": "core:window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "Denies the title command without any pre-configured scope.", "type": "string", - "enum": ["core:window:deny-unminimize"] + "const": "core:window:deny-title" }, { - "description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "Denies the toggle_maximize command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-app-meta"] + "const": "core:window:deny-toggle-maximize" }, { - "description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "Denies the unmaximize command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-app-meta-recursive"] + "const": "core:window:deny-unmaximize" }, { - "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", + "description": "Denies the unminimize command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-app-read"] + "const": "core:window:deny-unminimize" }, { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "description": "This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n#### Included permissions within this default permission set:\n", "type": "string", - "enum": ["fs:allow-app-read-recursive"] + "const": "fs:default" }, { - "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "description": "This allows non-recursive read access to metadata of the application folders, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-app-write"] + "const": "fs:allow-app-meta" }, { - "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the application folders, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-app-write-recursive"] + "const": "fs:allow-app-meta-recursive" }, { - "description": "fs:allow-appcache-meta -> This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the application folders.", "type": "string", - "enum": ["fs:allow-appcache-meta"] + "const": "fs:allow-app-read" }, { - "description": "fs:allow-appcache-meta-recursive -> This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete application folders, files and subdirectories.", "type": "string", - "enum": ["fs:allow-appcache-meta-recursive"] + "const": "fs:allow-app-read-recursive" }, { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "description": "This allows non-recursive write access to the application folders.", "type": "string", - "enum": ["fs:allow-appcache-read"] + "const": "fs:allow-app-write" }, { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete application folders, files and subdirectories.", "type": "string", - "enum": ["fs:allow-appcache-read-recursive"] + "const": "fs:allow-app-write-recursive" }, { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "description": "This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-appcache-write"] + "const": "fs:allow-appcache-meta" }, { - "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-appcache-write-recursive"] + "const": "fs:allow-appcache-meta-recursive" }, { - "description": "fs:allow-appconfig-meta -> This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$APPCACHE` folder.", "type": "string", - "enum": ["fs:allow-appconfig-meta"] + "const": "fs:allow-appcache-read" }, { - "description": "fs:allow-appconfig-meta-recursive -> This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-appconfig-meta-recursive"] + "const": "fs:allow-appcache-read-recursive" }, { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "description": "This allows non-recursive write access to the `$APPCACHE` folder.", "type": "string", - "enum": ["fs:allow-appconfig-read"] + "const": "fs:allow-appcache-write" }, { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-appconfig-read-recursive"] + "const": "fs:allow-appcache-write-recursive" }, { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", + "description": "This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-appconfig-write"] + "const": "fs:allow-appconfig-meta" }, { - "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-appconfig-write-recursive"] + "const": "fs:allow-appconfig-meta-recursive" }, { - "description": "fs:allow-appdata-meta -> This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$APPCONFIG` folder.", "type": "string", - "enum": ["fs:allow-appdata-meta"] + "const": "fs:allow-appconfig-read" }, { - "description": "fs:allow-appdata-meta-recursive -> This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-appdata-meta-recursive"] + "const": "fs:allow-appconfig-read-recursive" }, { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "description": "This allows non-recursive write access to the `$APPCONFIG` folder.", "type": "string", - "enum": ["fs:allow-appdata-read"] + "const": "fs:allow-appconfig-write" }, { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-appdata-read-recursive"] + "const": "fs:allow-appconfig-write-recursive" }, { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "description": "This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-appdata-write"] + "const": "fs:allow-appdata-meta" }, { - "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-appdata-write-recursive"] + "const": "fs:allow-appdata-meta-recursive" }, { - "description": "fs:allow-applocaldata-meta -> This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$APPDATA` folder.", "type": "string", - "enum": ["fs:allow-applocaldata-meta"] + "const": "fs:allow-appdata-read" }, { - "description": "fs:allow-applocaldata-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-applocaldata-meta-recursive"] + "const": "fs:allow-appdata-read-recursive" }, { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "description": "This allows non-recursive write access to the `$APPDATA` folder.", "type": "string", - "enum": ["fs:allow-applocaldata-read"] + "const": "fs:allow-appdata-write" }, { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-applocaldata-read-recursive"] + "const": "fs:allow-appdata-write-recursive" }, { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "description": "This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-applocaldata-write"] + "const": "fs:allow-applocaldata-meta" }, { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-applocaldata-write-recursive"] + "const": "fs:allow-applocaldata-meta-recursive" }, { - "description": "fs:allow-applog-meta -> This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$APPLOCALDATA` folder.", "type": "string", - "enum": ["fs:allow-applog-meta"] + "const": "fs:allow-applocaldata-read" }, { - "description": "fs:allow-applog-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-applog-meta-recursive"] + "const": "fs:allow-applocaldata-read-recursive" }, { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "description": "This allows non-recursive write access to the `$APPLOCALDATA` folder.", "type": "string", - "enum": ["fs:allow-applog-read"] + "const": "fs:allow-applocaldata-write" }, { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-applog-read-recursive"] + "const": "fs:allow-applocaldata-write-recursive" }, { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "description": "This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-applog-write"] + "const": "fs:allow-applog-meta" }, { - "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-applog-write-recursive"] + "const": "fs:allow-applog-meta-recursive" }, { - "description": "fs:allow-audio-meta -> This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$APPLOG` folder.", "type": "string", - "enum": ["fs:allow-audio-meta"] + "const": "fs:allow-applog-read" }, { - "description": "fs:allow-audio-meta-recursive -> This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-audio-meta-recursive"] + "const": "fs:allow-applog-read-recursive" }, { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "description": "This allows non-recursive write access to the `$APPLOG` folder.", "type": "string", - "enum": ["fs:allow-audio-read"] + "const": "fs:allow-applog-write" }, { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-audio-read-recursive"] + "const": "fs:allow-applog-write-recursive" }, { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "description": "This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-audio-write"] + "const": "fs:allow-audio-meta" }, { - "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-audio-write-recursive"] + "const": "fs:allow-audio-meta-recursive" }, { - "description": "fs:allow-cache-meta -> This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$AUDIO` folder.", "type": "string", - "enum": ["fs:allow-cache-meta"] + "const": "fs:allow-audio-read" }, { - "description": "fs:allow-cache-meta-recursive -> This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-cache-meta-recursive"] + "const": "fs:allow-audio-read-recursive" }, { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "description": "This allows non-recursive write access to the `$AUDIO` folder.", "type": "string", - "enum": ["fs:allow-cache-read"] + "const": "fs:allow-audio-write" }, { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-cache-read-recursive"] + "const": "fs:allow-audio-write-recursive" }, { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "description": "This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-cache-write"] + "const": "fs:allow-cache-meta" }, { - "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-cache-write-recursive"] + "const": "fs:allow-cache-meta-recursive" }, { - "description": "fs:allow-config-meta -> This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$CACHE` folder.", "type": "string", - "enum": ["fs:allow-config-meta"] + "const": "fs:allow-cache-read" }, { - "description": "fs:allow-config-meta-recursive -> This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-config-meta-recursive"] + "const": "fs:allow-cache-read-recursive" }, { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", + "description": "This allows non-recursive write access to the `$CACHE` folder.", "type": "string", - "enum": ["fs:allow-config-read"] + "const": "fs:allow-cache-write" }, { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-config-read-recursive"] + "const": "fs:allow-cache-write-recursive" }, { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "description": "This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-config-write"] + "const": "fs:allow-config-meta" }, { - "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-config-write-recursive"] + "const": "fs:allow-config-meta-recursive" }, { - "description": "fs:allow-data-meta -> This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$CONFIG` folder.", "type": "string", - "enum": ["fs:allow-data-meta"] + "const": "fs:allow-config-read" }, { - "description": "fs:allow-data-meta-recursive -> This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-data-meta-recursive"] + "const": "fs:allow-config-read-recursive" }, { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "description": "This allows non-recursive write access to the `$CONFIG` folder.", "type": "string", - "enum": ["fs:allow-data-read"] + "const": "fs:allow-config-write" }, { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-data-read-recursive"] + "const": "fs:allow-config-write-recursive" }, { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "description": "This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-data-write"] + "const": "fs:allow-data-meta" }, { - "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-data-write-recursive"] + "const": "fs:allow-data-meta-recursive" }, { - "description": "fs:allow-desktop-meta -> This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$DATA` folder.", "type": "string", - "enum": ["fs:allow-desktop-meta"] + "const": "fs:allow-data-read" }, { - "description": "fs:allow-desktop-meta-recursive -> This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-desktop-meta-recursive"] + "const": "fs:allow-data-read-recursive" }, { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "description": "This allows non-recursive write access to the `$DATA` folder.", "type": "string", - "enum": ["fs:allow-desktop-read"] + "const": "fs:allow-data-write" }, { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-desktop-read-recursive"] + "const": "fs:allow-data-write-recursive" }, { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "description": "This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-desktop-write"] + "const": "fs:allow-desktop-meta" }, { - "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-desktop-write-recursive"] + "const": "fs:allow-desktop-meta-recursive" }, { - "description": "fs:allow-document-meta -> This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$DESKTOP` folder.", "type": "string", - "enum": ["fs:allow-document-meta"] + "const": "fs:allow-desktop-read" }, { - "description": "fs:allow-document-meta-recursive -> This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-document-meta-recursive"] + "const": "fs:allow-desktop-read-recursive" }, { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "description": "This allows non-recursive write access to the `$DESKTOP` folder.", "type": "string", - "enum": ["fs:allow-document-read"] + "const": "fs:allow-desktop-write" }, { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-document-read-recursive"] + "const": "fs:allow-desktop-write-recursive" }, { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "description": "This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-document-write"] + "const": "fs:allow-document-meta" }, { - "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-document-write-recursive"] + "const": "fs:allow-document-meta-recursive" }, { - "description": "fs:allow-download-meta -> This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$DOCUMENT` folder.", "type": "string", - "enum": ["fs:allow-download-meta"] + "const": "fs:allow-document-read" }, { - "description": "fs:allow-download-meta-recursive -> This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-download-meta-recursive"] + "const": "fs:allow-document-read-recursive" }, { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "description": "This allows non-recursive write access to the `$DOCUMENT` folder.", "type": "string", - "enum": ["fs:allow-download-read"] + "const": "fs:allow-document-write" }, { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-download-read-recursive"] + "const": "fs:allow-document-write-recursive" }, { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", + "description": "This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-download-write"] + "const": "fs:allow-download-meta" }, { - "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-download-write-recursive"] + "const": "fs:allow-download-meta-recursive" }, { - "description": "fs:allow-exe-meta -> This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$DOWNLOAD` folder.", "type": "string", - "enum": ["fs:allow-exe-meta"] + "const": "fs:allow-download-read" }, { - "description": "fs:allow-exe-meta-recursive -> This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-exe-meta-recursive"] + "const": "fs:allow-download-read-recursive" }, { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "description": "This allows non-recursive write access to the `$DOWNLOAD` folder.", "type": "string", - "enum": ["fs:allow-exe-read"] + "const": "fs:allow-download-write" }, { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-exe-read-recursive"] + "const": "fs:allow-download-write-recursive" }, { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", + "description": "This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-exe-write"] + "const": "fs:allow-exe-meta" }, { - "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-exe-write-recursive"] + "const": "fs:allow-exe-meta-recursive" }, { - "description": "fs:allow-font-meta -> This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$EXE` folder.", "type": "string", - "enum": ["fs:allow-font-meta"] + "const": "fs:allow-exe-read" }, { - "description": "fs:allow-font-meta-recursive -> This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-font-meta-recursive"] + "const": "fs:allow-exe-read-recursive" }, { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "description": "This allows non-recursive write access to the `$EXE` folder.", "type": "string", - "enum": ["fs:allow-font-read"] + "const": "fs:allow-exe-write" }, { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-font-read-recursive"] + "const": "fs:allow-exe-write-recursive" }, { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "description": "This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-font-write"] + "const": "fs:allow-font-meta" }, { - "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-font-write-recursive"] + "const": "fs:allow-font-meta-recursive" }, { - "description": "fs:allow-home-meta -> This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$FONT` folder.", "type": "string", - "enum": ["fs:allow-home-meta"] + "const": "fs:allow-font-read" }, { - "description": "fs:allow-home-meta-recursive -> This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-home-meta-recursive"] + "const": "fs:allow-font-read-recursive" }, { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "description": "This allows non-recursive write access to the `$FONT` folder.", "type": "string", - "enum": ["fs:allow-home-read"] + "const": "fs:allow-font-write" }, { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-home-read-recursive"] + "const": "fs:allow-font-write-recursive" }, { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "description": "This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-home-write"] + "const": "fs:allow-home-meta" }, { - "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-home-write-recursive"] + "const": "fs:allow-home-meta-recursive" }, { - "description": "fs:allow-localdata-meta -> This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$HOME` folder.", "type": "string", - "enum": ["fs:allow-localdata-meta"] + "const": "fs:allow-home-read" }, { - "description": "fs:allow-localdata-meta-recursive -> This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-localdata-meta-recursive"] + "const": "fs:allow-home-read-recursive" }, { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "description": "This allows non-recursive write access to the `$HOME` folder.", "type": "string", - "enum": ["fs:allow-localdata-read"] + "const": "fs:allow-home-write" }, { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-localdata-read-recursive"] + "const": "fs:allow-home-write-recursive" }, { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "description": "This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-localdata-write"] + "const": "fs:allow-localdata-meta" }, { - "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-localdata-write-recursive"] + "const": "fs:allow-localdata-meta-recursive" }, { - "description": "fs:allow-log-meta -> This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$LOCALDATA` folder.", "type": "string", - "enum": ["fs:allow-log-meta"] + "const": "fs:allow-localdata-read" }, { - "description": "fs:allow-log-meta-recursive -> This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-log-meta-recursive"] + "const": "fs:allow-localdata-read-recursive" }, { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "description": "This allows non-recursive write access to the `$LOCALDATA` folder.", "type": "string", - "enum": ["fs:allow-log-read"] + "const": "fs:allow-localdata-write" }, { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-log-read-recursive"] + "const": "fs:allow-localdata-write-recursive" }, { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "description": "This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-log-write"] + "const": "fs:allow-log-meta" }, { - "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-log-write-recursive"] + "const": "fs:allow-log-meta-recursive" }, { - "description": "fs:allow-picture-meta -> This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$LOG` folder.", "type": "string", - "enum": ["fs:allow-picture-meta"] + "const": "fs:allow-log-read" }, { - "description": "fs:allow-picture-meta-recursive -> This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-picture-meta-recursive"] + "const": "fs:allow-log-read-recursive" }, { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "description": "This allows non-recursive write access to the `$LOG` folder.", "type": "string", - "enum": ["fs:allow-picture-read"] + "const": "fs:allow-log-write" }, { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-picture-read-recursive"] + "const": "fs:allow-log-write-recursive" }, { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "description": "This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-picture-write"] + "const": "fs:allow-picture-meta" }, { - "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-picture-write-recursive"] + "const": "fs:allow-picture-meta-recursive" }, { - "description": "fs:allow-public-meta -> This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$PICTURE` folder.", "type": "string", - "enum": ["fs:allow-public-meta"] + "const": "fs:allow-picture-read" }, { - "description": "fs:allow-public-meta-recursive -> This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-public-meta-recursive"] + "const": "fs:allow-picture-read-recursive" }, { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "description": "This allows non-recursive write access to the `$PICTURE` folder.", "type": "string", - "enum": ["fs:allow-public-read"] + "const": "fs:allow-picture-write" }, { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-public-read-recursive"] + "const": "fs:allow-picture-write-recursive" }, { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "description": "This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-public-write"] + "const": "fs:allow-public-meta" }, { - "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-public-write-recursive"] + "const": "fs:allow-public-meta-recursive" }, { - "description": "fs:allow-resource-meta -> This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$PUBLIC` folder.", "type": "string", - "enum": ["fs:allow-resource-meta"] + "const": "fs:allow-public-read" }, { - "description": "fs:allow-resource-meta-recursive -> This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-resource-meta-recursive"] + "const": "fs:allow-public-read-recursive" }, { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "description": "This allows non-recursive write access to the `$PUBLIC` folder.", "type": "string", - "enum": ["fs:allow-resource-read"] + "const": "fs:allow-public-write" }, { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-resource-read-recursive"] + "const": "fs:allow-public-write-recursive" }, { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "description": "This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-resource-write"] + "const": "fs:allow-resource-meta" }, { - "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-resource-write-recursive"] + "const": "fs:allow-resource-meta-recursive" }, { - "description": "fs:allow-runtime-meta -> This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$RESOURCE` folder.", "type": "string", - "enum": ["fs:allow-runtime-meta"] + "const": "fs:allow-resource-read" }, { - "description": "fs:allow-runtime-meta-recursive -> This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-runtime-meta-recursive"] + "const": "fs:allow-resource-read-recursive" }, { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "description": "This allows non-recursive write access to the `$RESOURCE` folder.", "type": "string", - "enum": ["fs:allow-runtime-read"] + "const": "fs:allow-resource-write" }, { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-runtime-read-recursive"] + "const": "fs:allow-resource-write-recursive" }, { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "description": "This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-runtime-write"] + "const": "fs:allow-runtime-meta" }, { - "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-runtime-write-recursive"] + "const": "fs:allow-runtime-meta-recursive" }, { - "description": "fs:allow-temp-meta -> This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$RUNTIME` folder.", "type": "string", - "enum": ["fs:allow-temp-meta"] + "const": "fs:allow-runtime-read" }, { - "description": "fs:allow-temp-meta-recursive -> This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-temp-meta-recursive"] + "const": "fs:allow-runtime-read-recursive" }, { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "description": "This allows non-recursive write access to the `$RUNTIME` folder.", "type": "string", - "enum": ["fs:allow-temp-read"] + "const": "fs:allow-runtime-write" }, { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-temp-read-recursive"] + "const": "fs:allow-runtime-write-recursive" }, { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "description": "This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-temp-write"] + "const": "fs:allow-temp-meta" }, { - "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-temp-write-recursive"] + "const": "fs:allow-temp-meta-recursive" }, { - "description": "fs:allow-template-meta -> This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$TEMP` folder.", "type": "string", - "enum": ["fs:allow-template-meta"] + "const": "fs:allow-temp-read" }, { - "description": "fs:allow-template-meta-recursive -> This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-template-meta-recursive"] + "const": "fs:allow-temp-read-recursive" }, { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "description": "This allows non-recursive write access to the `$TEMP` folder.", "type": "string", - "enum": ["fs:allow-template-read"] + "const": "fs:allow-temp-write" }, { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-template-read-recursive"] + "const": "fs:allow-temp-write-recursive" }, { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "description": "This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-template-write"] + "const": "fs:allow-template-meta" }, { - "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-template-write-recursive"] + "const": "fs:allow-template-meta-recursive" }, { - "description": "fs:allow-video-meta -> This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "This allows non-recursive read access to the `$TEMPLATE` folder.", "type": "string", - "enum": ["fs:allow-video-meta"] + "const": "fs:allow-template-read" }, { - "description": "fs:allow-video-meta-recursive -> This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-video-meta-recursive"] + "const": "fs:allow-template-read-recursive" }, { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "description": "This allows non-recursive write access to the `$TEMPLATE` folder.", "type": "string", - "enum": ["fs:allow-video-read"] + "const": "fs:allow-template-write" }, { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-video-read-recursive"] + "const": "fs:allow-template-write-recursive" }, { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "description": "This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-video-write"] + "const": "fs:allow-video-meta" }, { - "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", - "enum": ["fs:allow-video-write-recursive"] + "const": "fs:allow-video-meta-recursive" }, { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "description": "This allows non-recursive read access to the `$VIDEO` folder.", "type": "string", - "enum": ["fs:deny-default"] + "const": "fs:allow-video-read" }, { - "description": "fs:default -> This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n", + "description": "This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", "type": "string", - "enum": ["fs:default"] + "const": "fs:allow-video-read-recursive" }, { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "description": "This allows non-recursive write access to the `$VIDEO` folder.", "type": "string", - "enum": ["fs:allow-copy-file"] + "const": "fs:allow-video-write" }, { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", + "description": "This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.", "type": "string", - "enum": ["fs:allow-create"] + "const": "fs:allow-video-write-recursive" }, { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "description": "This denies access to dangerous Tauri relevant files and folders by default.", "type": "string", - "enum": ["fs:allow-exists"] + "const": "fs:deny-default" }, { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "description": "Enables the copy_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-fstat"] + "const": "fs:allow-copy-file" }, { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "description": "Enables the create command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-ftruncate"] + "const": "fs:allow-create" }, { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "description": "Enables the exists command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-lstat"] + "const": "fs:allow-exists" }, { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "description": "Enables the fstat command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-mkdir"] + "const": "fs:allow-fstat" }, { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "description": "Enables the ftruncate command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-open"] + "const": "fs:allow-ftruncate" }, { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", + "description": "Enables the lstat command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-read"] + "const": "fs:allow-lstat" }, { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "description": "Enables the mkdir command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-read-dir"] + "const": "fs:allow-mkdir" }, { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "description": "Enables the open command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-read-file"] + "const": "fs:allow-open" }, { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "description": "Enables the read command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-read-text-file"] + "const": "fs:allow-read" }, { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "description": "Enables the read_dir command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-read-text-file-lines"] + "const": "fs:allow-read-dir" }, { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", + "description": "Enables the read_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-read-text-file-lines-next"] + "const": "fs:allow-read-file" }, { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "Enables the read_text_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-remove"] + "const": "fs:allow-read-text-file" }, { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "description": "Enables the read_text_file_lines command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-rename"] + "const": "fs:allow-read-text-file-lines" }, { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "description": "Enables the read_text_file_lines_next command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-seek"] + "const": "fs:allow-read-text-file-lines-next" }, { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", + "description": "Enables the remove command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-stat"] + "const": "fs:allow-remove" }, { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", + "description": "Enables the rename command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-truncate"] + "const": "fs:allow-rename" }, { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "description": "Enables the seek command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-unwatch"] + "const": "fs:allow-seek" }, { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", + "description": "Enables the size command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-watch"] + "const": "fs:allow-size" }, { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", + "description": "Enables the stat command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-write"] + "const": "fs:allow-stat" }, { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "description": "Enables the truncate command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-write-file"] + "const": "fs:allow-truncate" }, { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "description": "Enables the unwatch command without any pre-configured scope.", "type": "string", - "enum": ["fs:allow-write-text-file"] + "const": "fs:allow-unwatch" }, { - "description": "fs:create-app-specific-dirs -> This permissions allows to create the application specific directories.\n", + "description": "Enables the watch command without any pre-configured scope.", "type": "string", - "enum": ["fs:create-app-specific-dirs"] + "const": "fs:allow-watch" }, { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "description": "Enables the write command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-copy-file"] + "const": "fs:allow-write" }, { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", + "description": "Enables the write_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-create"] + "const": "fs:allow-write-file" }, { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "description": "Enables the write_text_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-exists"] + "const": "fs:allow-write-text-file" }, { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "description": "This permissions allows to create the application specific directories.\n", "type": "string", - "enum": ["fs:deny-fstat"] + "const": "fs:create-app-specific-dirs" }, { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "description": "Denies the copy_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-ftruncate"] + "const": "fs:deny-copy-file" }, { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "description": "Denies the create command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-lstat"] + "const": "fs:deny-create" }, { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "description": "Denies the exists command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-mkdir"] + "const": "fs:deny-exists" }, { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", + "description": "Denies the fstat command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-open"] + "const": "fs:deny-fstat" }, { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "description": "Denies the ftruncate command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-read"] + "const": "fs:deny-ftruncate" }, { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "description": "Denies the lstat command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-read-dir"] + "const": "fs:deny-lstat" }, { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "description": "Denies the mkdir command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-read-file"] + "const": "fs:deny-mkdir" }, { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "description": "Denies the open command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-read-text-file"] + "const": "fs:deny-open" }, { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "description": "Denies the read command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-read-text-file-lines"] + "const": "fs:deny-read" }, { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", + "description": "Denies the read_dir command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-read-text-file-lines-next"] + "const": "fs:deny-read-dir" }, { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "Denies the read_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-remove"] + "const": "fs:deny-read-file" }, { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "description": "Denies the read_text_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-rename"] + "const": "fs:deny-read-text-file" }, { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", + "description": "Denies the read_text_file_lines command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-seek"] + "const": "fs:deny-read-text-file-lines" }, { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", + "description": "Denies the read_text_file_lines_next command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-stat"] + "const": "fs:deny-read-text-file-lines-next" }, { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "description": "Denies the remove command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-truncate"] + "const": "fs:deny-remove" }, { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "description": "Denies the rename command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-unwatch"] + "const": "fs:deny-rename" }, { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", + "description": "Denies the seek command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-watch"] + "const": "fs:deny-seek" }, { - "description": "fs:deny-webview-data-linux -> This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", + "description": "Denies the size command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-webview-data-linux"] + "const": "fs:deny-size" }, { - "description": "fs:deny-webview-data-windows -> This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", + "description": "Denies the stat command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-webview-data-windows"] + "const": "fs:deny-stat" }, { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "description": "Denies the truncate command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-write"] + "const": "fs:deny-truncate" }, { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", + "description": "Denies the unwatch command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-write-file"] + "const": "fs:deny-unwatch" }, { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "description": "Denies the watch command without any pre-configured scope.", "type": "string", - "enum": ["fs:deny-write-text-file"] + "const": "fs:deny-watch" }, { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", + "description": "This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", "type": "string", - "enum": ["fs:read-all"] + "const": "fs:deny-webview-data-linux" }, { - "description": "fs:read-app-specific-dirs-recursive -> This permission allows recursive read functionality on the application\nspecific base directories. \n", + "description": "This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", "type": "string", - "enum": ["fs:read-app-specific-dirs-recursive"] + "const": "fs:deny-webview-data-windows" }, { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "description": "Denies the write command without any pre-configured scope.", "type": "string", - "enum": ["fs:read-dirs"] + "const": "fs:deny-write" }, { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", + "description": "Denies the write_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:read-files"] + "const": "fs:deny-write-file" }, { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", + "description": "Denies the write_text_file command without any pre-configured scope.", "type": "string", - "enum": ["fs:read-meta"] + "const": "fs:deny-write-text-file" }, { - "description": "fs:scope -> An empty permission you can use to modify the global scope.", + "description": "This enables all read related commands without any pre-configured accessible paths.", "type": "string", - "enum": ["fs:scope"] + "const": "fs:read-all" }, { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", + "description": "This permission allows recursive read functionality on the application\nspecific base directories. \n", "type": "string", - "enum": ["fs:scope-app"] + "const": "fs:read-app-specific-dirs-recursive" }, { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "description": "This enables directory read and file metadata related commands without any pre-configured accessible paths.", "type": "string", - "enum": ["fs:scope-app-index"] + "const": "fs:read-dirs" }, { - "description": "fs:scope-app-recursive -> This scope permits recursive access to the complete `$APP` folder, including sub directories and files.", + "description": "This enables file read related commands without any pre-configured accessible paths.", "type": "string", - "enum": ["fs:scope-app-recursive"] + "const": "fs:read-files" }, { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "description": "This enables all index or metadata related commands without any pre-configured accessible paths.", "type": "string", - "enum": ["fs:scope-appcache"] + "const": "fs:read-meta" }, { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "description": "An empty permission you can use to modify the global scope.", "type": "string", - "enum": ["fs:scope-appcache-index"] + "const": "fs:scope" }, { - "description": "fs:scope-appcache-recursive -> This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the application folders.", "type": "string", - "enum": ["fs:scope-appcache-recursive"] + "const": "fs:scope-app" }, { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "description": "This scope permits to list all files and folders in the application directories.", "type": "string", - "enum": ["fs:scope-appconfig"] + "const": "fs:scope-app-index" }, { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "description": "This scope permits recursive access to the complete application folders, including sub directories and files.", "type": "string", - "enum": ["fs:scope-appconfig-index"] + "const": "fs:scope-app-recursive" }, { - "description": "fs:scope-appconfig-recursive -> This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.", "type": "string", - "enum": ["fs:scope-appconfig-recursive"] + "const": "fs:scope-appcache" }, { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "description": "This scope permits to list all files and folders in the `$APPCACHE`folder.", "type": "string", - "enum": ["fs:scope-appdata"] + "const": "fs:scope-appcache-index" }, { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "description": "This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-appdata-index"] + "const": "fs:scope-appcache-recursive" }, { - "description": "fs:scope-appdata-recursive -> This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.", "type": "string", - "enum": ["fs:scope-appdata-recursive"] + "const": "fs:scope-appconfig" }, { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "description": "This scope permits to list all files and folders in the `$APPCONFIG`folder.", "type": "string", - "enum": ["fs:scope-applocaldata"] + "const": "fs:scope-appconfig-index" }, { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "description": "This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-applocaldata-index"] + "const": "fs:scope-appconfig-recursive" }, { - "description": "fs:scope-applocaldata-recursive -> This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.", "type": "string", - "enum": ["fs:scope-applocaldata-recursive"] + "const": "fs:scope-appdata" }, { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "description": "This scope permits to list all files and folders in the `$APPDATA`folder.", "type": "string", - "enum": ["fs:scope-applog"] + "const": "fs:scope-appdata-index" }, { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "description": "This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-applog-index"] + "const": "fs:scope-appdata-recursive" }, { - "description": "fs:scope-applog-recursive -> This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.", "type": "string", - "enum": ["fs:scope-applog-recursive"] + "const": "fs:scope-applocaldata" }, { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "description": "This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", "type": "string", - "enum": ["fs:scope-audio"] + "const": "fs:scope-applocaldata-index" }, { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "description": "This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-audio-index"] + "const": "fs:scope-applocaldata-recursive" }, { - "description": "fs:scope-audio-recursive -> This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.", "type": "string", - "enum": ["fs:scope-audio-recursive"] + "const": "fs:scope-applog" }, { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "description": "This scope permits to list all files and folders in the `$APPLOG`folder.", "type": "string", - "enum": ["fs:scope-cache"] + "const": "fs:scope-applog-index" }, { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "description": "This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-cache-index"] + "const": "fs:scope-applog-recursive" }, { - "description": "fs:scope-cache-recursive -> This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.", "type": "string", - "enum": ["fs:scope-cache-recursive"] + "const": "fs:scope-audio" }, { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "description": "This scope permits to list all files and folders in the `$AUDIO`folder.", "type": "string", - "enum": ["fs:scope-config"] + "const": "fs:scope-audio-index" }, { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "description": "This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-config-index"] + "const": "fs:scope-audio-recursive" }, { - "description": "fs:scope-config-recursive -> This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$CACHE` folder.", "type": "string", - "enum": ["fs:scope-config-recursive"] + "const": "fs:scope-cache" }, { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "description": "This scope permits to list all files and folders in the `$CACHE`folder.", "type": "string", - "enum": ["fs:scope-data"] + "const": "fs:scope-cache-index" }, { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "description": "This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-data-index"] + "const": "fs:scope-cache-recursive" }, { - "description": "fs:scope-data-recursive -> This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.", "type": "string", - "enum": ["fs:scope-data-recursive"] + "const": "fs:scope-config" }, { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "description": "This scope permits to list all files and folders in the `$CONFIG`folder.", "type": "string", - "enum": ["fs:scope-desktop"] + "const": "fs:scope-config-index" }, { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "description": "This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-desktop-index"] + "const": "fs:scope-config-recursive" }, { - "description": "fs:scope-desktop-recursive -> This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$DATA` folder.", "type": "string", - "enum": ["fs:scope-desktop-recursive"] + "const": "fs:scope-data" }, { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "description": "This scope permits to list all files and folders in the `$DATA`folder.", "type": "string", - "enum": ["fs:scope-document"] + "const": "fs:scope-data-index" }, { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "description": "This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-document-index"] + "const": "fs:scope-data-recursive" }, { - "description": "fs:scope-document-recursive -> This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.", "type": "string", - "enum": ["fs:scope-document-recursive"] + "const": "fs:scope-desktop" }, { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "description": "This scope permits to list all files and folders in the `$DESKTOP`folder.", "type": "string", - "enum": ["fs:scope-download"] + "const": "fs:scope-desktop-index" }, { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "description": "This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-download-index"] + "const": "fs:scope-desktop-recursive" }, { - "description": "fs:scope-download-recursive -> This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.", "type": "string", - "enum": ["fs:scope-download-recursive"] + "const": "fs:scope-document" }, { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "description": "This scope permits to list all files and folders in the `$DOCUMENT`folder.", "type": "string", - "enum": ["fs:scope-exe"] + "const": "fs:scope-document-index" }, { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "description": "This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-exe-index"] + "const": "fs:scope-document-recursive" }, { - "description": "fs:scope-exe-recursive -> This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.", "type": "string", - "enum": ["fs:scope-exe-recursive"] + "const": "fs:scope-download" }, { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "description": "This scope permits to list all files and folders in the `$DOWNLOAD`folder.", "type": "string", - "enum": ["fs:scope-font"] + "const": "fs:scope-download-index" }, { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "description": "This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-font-index"] + "const": "fs:scope-download-recursive" }, { - "description": "fs:scope-font-recursive -> This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$EXE` folder.", "type": "string", - "enum": ["fs:scope-font-recursive"] + "const": "fs:scope-exe" }, { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "description": "This scope permits to list all files and folders in the `$EXE`folder.", "type": "string", - "enum": ["fs:scope-home"] + "const": "fs:scope-exe-index" }, { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "description": "This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-home-index"] + "const": "fs:scope-exe-recursive" }, { - "description": "fs:scope-home-recursive -> This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$FONT` folder.", "type": "string", - "enum": ["fs:scope-home-recursive"] + "const": "fs:scope-font" }, { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "description": "This scope permits to list all files and folders in the `$FONT`folder.", "type": "string", - "enum": ["fs:scope-localdata"] + "const": "fs:scope-font-index" }, { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "description": "This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-localdata-index"] + "const": "fs:scope-font-recursive" }, { - "description": "fs:scope-localdata-recursive -> This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$HOME` folder.", "type": "string", - "enum": ["fs:scope-localdata-recursive"] + "const": "fs:scope-home" }, { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "description": "This scope permits to list all files and folders in the `$HOME`folder.", "type": "string", - "enum": ["fs:scope-log"] + "const": "fs:scope-home-index" }, { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "description": "This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-log-index"] + "const": "fs:scope-home-recursive" }, { - "description": "fs:scope-log-recursive -> This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.", "type": "string", - "enum": ["fs:scope-log-recursive"] + "const": "fs:scope-localdata" }, { - "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", + "description": "This scope permits to list all files and folders in the `$LOCALDATA`folder.", "type": "string", - "enum": ["fs:scope-picture"] + "const": "fs:scope-localdata-index" }, { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "description": "This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-picture-index"] + "const": "fs:scope-localdata-recursive" }, { - "description": "fs:scope-picture-recursive -> This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$LOG` folder.", "type": "string", - "enum": ["fs:scope-picture-recursive"] + "const": "fs:scope-log" }, { - "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", + "description": "This scope permits to list all files and folders in the `$LOG`folder.", "type": "string", - "enum": ["fs:scope-public"] + "const": "fs:scope-log-index" }, { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "description": "This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-public-index"] + "const": "fs:scope-log-recursive" }, { - "description": "fs:scope-public-recursive -> This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.", "type": "string", - "enum": ["fs:scope-public-recursive"] + "const": "fs:scope-picture" }, { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "description": "This scope permits to list all files and folders in the `$PICTURE`folder.", "type": "string", - "enum": ["fs:scope-resource"] + "const": "fs:scope-picture-index" }, { - "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", + "description": "This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-resource-index"] + "const": "fs:scope-picture-recursive" }, { - "description": "fs:scope-resource-recursive -> This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.", "type": "string", - "enum": ["fs:scope-resource-recursive"] + "const": "fs:scope-public" }, { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "description": "This scope permits to list all files and folders in the `$PUBLIC`folder.", "type": "string", - "enum": ["fs:scope-runtime"] + "const": "fs:scope-public-index" }, { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "description": "This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-runtime-index"] + "const": "fs:scope-public-recursive" }, { - "description": "fs:scope-runtime-recursive -> This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.", "type": "string", - "enum": ["fs:scope-runtime-recursive"] + "const": "fs:scope-resource" }, { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "description": "This scope permits to list all files and folders in the `$RESOURCE`folder.", "type": "string", - "enum": ["fs:scope-temp"] + "const": "fs:scope-resource-index" }, { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "description": "This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-temp-index"] + "const": "fs:scope-resource-recursive" }, { - "description": "fs:scope-temp-recursive -> This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.", "type": "string", - "enum": ["fs:scope-temp-recursive"] + "const": "fs:scope-runtime" }, { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "description": "This scope permits to list all files and folders in the `$RUNTIME`folder.", "type": "string", - "enum": ["fs:scope-template"] + "const": "fs:scope-runtime-index" }, { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "description": "This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-template-index"] + "const": "fs:scope-runtime-recursive" }, { - "description": "fs:scope-template-recursive -> This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$TEMP` folder.", "type": "string", - "enum": ["fs:scope-template-recursive"] + "const": "fs:scope-temp" }, { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", + "description": "This scope permits to list all files and folders in the `$TEMP`folder.", "type": "string", - "enum": ["fs:scope-video"] + "const": "fs:scope-temp-index" }, { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "description": "This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.", "type": "string", - "enum": ["fs:scope-video-index"] + "const": "fs:scope-temp-recursive" }, { - "description": "fs:scope-video-recursive -> This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "description": "This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.", "type": "string", - "enum": ["fs:scope-video-recursive"] + "const": "fs:scope-template" }, { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", + "description": "This scope permits to list all files and folders in the `$TEMPLATE`folder.", "type": "string", - "enum": ["fs:write-all"] + "const": "fs:scope-template-index" }, { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "description": "This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", "type": "string", - "enum": ["fs:write-files"] + "const": "fs:scope-template-recursive" }, { - "description": "http:default -> 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", + "description": "This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.", "type": "string", - "enum": ["http:default"] + "const": "fs:scope-video" }, { - "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", + "description": "This scope permits to list all files and folders in the `$VIDEO`folder.", "type": "string", - "enum": ["http:allow-fetch"] + "const": "fs:scope-video-index" }, { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "description": "This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.", "type": "string", - "enum": ["http:allow-fetch-cancel"] + "const": "fs:scope-video-recursive" }, { - "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", + "description": "This enables all write related commands without any pre-configured accessible paths.", "type": "string", - "enum": ["http:allow-fetch-read-body"] + "const": "fs:write-all" }, { - "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "description": "This enables all file write related commands without any pre-configured accessible paths.", "type": "string", - "enum": ["http:allow-fetch-send"] + "const": "fs:write-files" }, { - "description": "http:deny-fetch -> Denies the fetch 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", "type": "string", - "enum": ["http:deny-fetch"] + "const": "http:default" }, { - "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", + "description": "Enables the fetch command without any pre-configured scope.", "type": "string", - "enum": ["http:deny-fetch-cancel"] + "const": "http:allow-fetch" }, { - "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", + "description": "Enables the fetch_cancel command without any pre-configured scope.", "type": "string", - "enum": ["http:deny-fetch-read-body"] + "const": "http:allow-fetch-cancel" }, { - "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "description": "Enables the fetch_read_body command without any pre-configured scope.", "type": "string", - "enum": ["http:deny-fetch-send"] + "const": "http:allow-fetch-read-body" }, { - "description": "os:default -> This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n", + "description": "Enables the fetch_send command without any pre-configured scope.", "type": "string", - "enum": ["os:default"] + "const": "http:allow-fetch-send" }, { - "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "description": "Denies the fetch command without any pre-configured scope.", "type": "string", - "enum": ["os:allow-arch"] + "const": "http:deny-fetch" }, { - "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "description": "Denies the fetch_cancel command without any pre-configured scope.", "type": "string", - "enum": ["os:allow-exe-extension"] + "const": "http:deny-fetch-cancel" }, { - "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "description": "Denies the fetch_read_body command without any pre-configured scope.", "type": "string", - "enum": ["os:allow-family"] + "const": "http:deny-fetch-read-body" }, { - "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "description": "Denies the fetch_send command without any pre-configured scope.", "type": "string", - "enum": ["os:allow-hostname"] + "const": "http:deny-fetch-send" }, { - "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "description": "Allows the log command", "type": "string", - "enum": ["os:allow-locale"] + "const": "log:default" }, { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "description": "Enables the log command without any pre-configured scope.", "type": "string", - "enum": ["os:allow-os-type"] + "const": "log:allow-log" }, { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "description": "Denies the log command without any pre-configured scope.", "type": "string", - "enum": ["os:allow-platform"] + "const": "log:deny-log" }, { - "description": "os:allow-version -> Enables the version 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", "type": "string", - "enum": ["os:allow-version"] + "const": "notification:default" }, { - "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "description": "Enables the batch command without any pre-configured scope.", "type": "string", - "enum": ["os:deny-arch"] + "const": "notification:allow-batch" }, { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "description": "Enables the cancel command without any pre-configured scope.", "type": "string", - "enum": ["os:deny-exe-extension"] + "const": "notification:allow-cancel" }, { - "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "description": "Enables the check_permissions command without any pre-configured scope.", "type": "string", - "enum": ["os:deny-family"] + "const": "notification:allow-check-permissions" }, { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "description": "Enables the create_channel command without any pre-configured scope.", "type": "string", - "enum": ["os:deny-hostname"] + "const": "notification:allow-create-channel" }, { - "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "description": "Enables the delete_channel command without any pre-configured scope.", "type": "string", - "enum": ["os:deny-locale"] + "const": "notification:allow-delete-channel" }, { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "description": "Enables the get_active command without any pre-configured scope.", "type": "string", - "enum": ["os:deny-os-type"] + "const": "notification:allow-get-active" }, { - "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", + "description": "Enables the get_pending command without any pre-configured scope.", "type": "string", - "enum": ["os:deny-platform"] + "const": "notification:allow-get-pending" }, { - "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "description": "Enables the is_permission_granted command without any pre-configured scope.", "type": "string", - "enum": ["os:deny-version"] + "const": "notification:allow-is-permission-granted" }, { - "description": "process:default -> This permission set configures which\nprocess feeatures are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n", + "description": "Enables the list_channels command without any pre-configured scope.", "type": "string", - "enum": ["process:default"] + "const": "notification:allow-list-channels" }, { - "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "description": "Enables the notify command without any pre-configured scope.", "type": "string", - "enum": ["process:allow-exit"] + "const": "notification:allow-notify" }, { - "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "description": "Enables the permission_state command without any pre-configured scope.", "type": "string", - "enum": ["process:allow-restart"] + "const": "notification:allow-permission-state" }, { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "description": "Enables the register_action_types command without any pre-configured scope.", "type": "string", - "enum": ["process:deny-exit"] + "const": "notification:allow-register-action-types" }, { - "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "description": "Enables the register_listener command without any pre-configured scope.", "type": "string", - "enum": ["process:deny-restart"] + "const": "notification:allow-register-listener" }, { - "description": "shell:default -> This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", + "description": "Enables the remove_active command without any pre-configured scope.", "type": "string", - "enum": ["shell:default"] + "const": "notification:allow-remove-active" }, { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "description": "Enables the request_permission command without any pre-configured scope.", "type": "string", - "enum": ["shell:allow-execute"] + "const": "notification:allow-request-permission" }, { - "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", + "description": "Enables the show command without any pre-configured scope.", "type": "string", - "enum": ["shell:allow-kill"] + "const": "notification:allow-show" }, { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "description": "Denies the batch command without any pre-configured scope.", "type": "string", - "enum": ["shell:allow-open"] + "const": "notification:deny-batch" }, { - "description": "shell:allow-spawn -> Enables the spawn command without any pre-configured scope.", + "description": "Denies the cancel command without any pre-configured scope.", "type": "string", - "enum": ["shell:allow-spawn"] + "const": "notification:deny-cancel" }, { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "description": "Denies the check_permissions command without any pre-configured scope.", "type": "string", - "enum": ["shell:allow-stdin-write"] + "const": "notification:deny-check-permissions" }, { - "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", + "description": "Denies the create_channel command without any pre-configured scope.", "type": "string", - "enum": ["shell:deny-execute"] + "const": "notification:deny-create-channel" }, { - "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", + "description": "Denies the delete_channel command without any pre-configured scope.", "type": "string", - "enum": ["shell:deny-kill"] + "const": "notification:deny-delete-channel" }, { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "description": "Denies the get_active command without any pre-configured scope.", "type": "string", - "enum": ["shell:deny-open"] + "const": "notification:deny-get-active" }, { - "description": "shell:deny-spawn -> Denies the spawn command without any pre-configured scope.", + "description": "Denies the get_pending command without any pre-configured scope.", "type": "string", - "enum": ["shell:deny-spawn"] + "const": "notification:deny-get-pending" }, { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "description": "Denies the is_permission_granted command without any pre-configured scope.", "type": "string", - "enum": ["shell:deny-stdin-write"] + "const": "notification:deny-is-permission-granted" }, { - "description": "updater:default -> 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", + "description": "Denies the list_channels command without any pre-configured scope.", "type": "string", - "enum": ["updater:default"] + "const": "notification:deny-list-channels" }, { - "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "description": "Denies the notify command without any pre-configured scope.", "type": "string", - "enum": ["updater:allow-check"] + "const": "notification:deny-notify" }, { - "description": "updater:allow-download -> Enables the download command without any pre-configured scope.", + "description": "Denies the permission_state command without any pre-configured scope.", "type": "string", - "enum": ["updater:allow-download"] + "const": "notification:deny-permission-state" }, { - "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "description": "Denies the register_action_types command without any pre-configured scope.", "type": "string", - "enum": ["updater:allow-download-and-install"] + "const": "notification:deny-register-action-types" }, { - "description": "updater:allow-install -> Enables the install command without any pre-configured scope.", + "description": "Denies the register_listener command without any pre-configured scope.", "type": "string", - "enum": ["updater:allow-install"] + "const": "notification:deny-register-listener" }, { - "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "description": "Denies the remove_active command without any pre-configured scope.", "type": "string", - "enum": ["updater:deny-check"] + "const": "notification:deny-remove-active" }, { - "description": "updater:deny-download -> Denies the download command without any pre-configured scope.", + "description": "Denies the request_permission command without any pre-configured scope.", "type": "string", - "enum": ["updater:deny-download"] + "const": "notification:deny-request-permission" }, { - "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "description": "Denies the show command without any pre-configured scope.", "type": "string", - "enum": ["updater:deny-download-and-install"] + "const": "notification:deny-show" }, { - "description": "updater:deny-install -> Denies the install command without any pre-configured scope.", + "description": "This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n", "type": "string", - "enum": ["updater:deny-install"] + "const": "os:default" }, { - "description": "websocket:default -> Allows connecting and sending data to a WebSocket server", + "description": "Enables the arch command without any pre-configured scope.", "type": "string", - "enum": ["websocket:default"] + "const": "os:allow-arch" }, { - "description": "websocket:allow-connect -> Enables the connect command without any pre-configured scope.", + "description": "Enables the exe_extension command without any pre-configured scope.", "type": "string", - "enum": ["websocket:allow-connect"] + "const": "os:allow-exe-extension" }, { - "description": "websocket:allow-send -> Enables the send command without any pre-configured scope.", + "description": "Enables the family command without any pre-configured scope.", "type": "string", - "enum": ["websocket:allow-send"] + "const": "os:allow-family" }, { - "description": "websocket:deny-connect -> Denies the connect command without any pre-configured scope.", + "description": "Enables the hostname command without any pre-configured scope.", "type": "string", - "enum": ["websocket:deny-connect"] + "const": "os:allow-hostname" }, { - "description": "websocket:deny-send -> Denies the send command without any pre-configured scope.", + "description": "Enables the locale command without any pre-configured scope.", "type": "string", - "enum": ["websocket:deny-send"] + "const": "os:allow-locale" }, { - "description": "window-state:default -> 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", + "description": "Enables the os_type command without any pre-configured scope.", "type": "string", - "enum": ["window-state:default"] + "const": "os:allow-os-type" }, { - "description": "window-state:allow-filename -> Enables the filename command without any pre-configured scope.", + "description": "Enables the platform command without any pre-configured scope.", "type": "string", - "enum": ["window-state:allow-filename"] + "const": "os:allow-platform" }, { - "description": "window-state:allow-restore-state -> Enables the restore_state command without any pre-configured scope.", + "description": "Enables the version command without any pre-configured scope.", "type": "string", - "enum": ["window-state:allow-restore-state"] + "const": "os:allow-version" }, { - "description": "window-state:allow-save-window-state -> Enables the save_window_state command without any pre-configured scope.", + "description": "Denies the arch command without any pre-configured scope.", "type": "string", - "enum": ["window-state:allow-save-window-state"] + "const": "os:deny-arch" }, { - "description": "window-state:deny-filename -> Denies the filename command without any pre-configured scope.", + "description": "Denies the exe_extension command without any pre-configured scope.", "type": "string", - "enum": ["window-state:deny-filename"] + "const": "os:deny-exe-extension" }, { - "description": "window-state:deny-restore-state -> Denies the restore_state command without any pre-configured scope.", + "description": "Denies the family command without any pre-configured scope.", "type": "string", - "enum": ["window-state:deny-restore-state"] + "const": "os:deny-family" }, { - "description": "window-state:deny-save-window-state -> Denies the save_window_state command without any pre-configured scope.", + "description": "Denies the hostname command without any pre-configured scope.", "type": "string", - "enum": ["window-state:deny-save-window-state"] + "const": "os:deny-hostname" + }, + { + "description": "Denies the locale command without any pre-configured scope.", + "type": "string", + "const": "os:deny-locale" + }, + { + "description": "Denies the os_type command without any pre-configured scope.", + "type": "string", + "const": "os:deny-os-type" + }, + { + "description": "Denies the platform command without any pre-configured scope.", + "type": "string", + "const": "os:deny-platform" + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "os:deny-version" + }, + { + "description": "This permission set configures which\nprocess feeatures are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n", + "type": "string", + "const": "process:default" + }, + { + "description": "Enables the exit command without any pre-configured scope.", + "type": "string", + "const": "process:allow-exit" + }, + { + "description": "Enables the restart command without any pre-configured scope.", + "type": "string", + "const": "process:allow-restart" + }, + { + "description": "Denies the exit command without any pre-configured scope.", + "type": "string", + "const": "process:deny-exit" + }, + { + "description": "Denies the restart command without any pre-configured scope.", + "type": "string", + "const": "process:deny-restart" + }, + { + "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", + "type": "string", + "const": "shell:default" + }, + { + "description": "Enables the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-execute" + }, + { + "description": "Enables the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-kill" + }, + { + "description": "Enables the open command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-open" + }, + { + "description": "Enables the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-spawn" + }, + { + "description": "Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:allow-stdin-write" + }, + { + "description": "Denies the execute command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-execute" + }, + { + "description": "Denies the kill command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-kill" + }, + { + "description": "Denies the open command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-open" + }, + { + "description": "Denies the spawn command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-spawn" + }, + { + "description": "Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "const": "shell:deny-stdin-write" + }, + { + "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", + "type": "string", + "const": "updater:default" + }, + { + "description": "Enables the check command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-check" + }, + { + "description": "Enables the download command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-download" + }, + { + "description": "Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-download-and-install" + }, + { + "description": "Enables the install command without any pre-configured scope.", + "type": "string", + "const": "updater:allow-install" + }, + { + "description": "Denies the check command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-check" + }, + { + "description": "Denies the download command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-download" + }, + { + "description": "Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-download-and-install" + }, + { + "description": "Denies the install command without any pre-configured scope.", + "type": "string", + "const": "updater:deny-install" + }, + { + "description": "Allows connecting and sending data to a WebSocket server", + "type": "string", + "const": "websocket:default" + }, + { + "description": "Enables the connect command without any pre-configured scope.", + "type": "string", + "const": "websocket:allow-connect" + }, + { + "description": "Enables the send command without any pre-configured scope.", + "type": "string", + "const": "websocket:allow-send" + }, + { + "description": "Denies the connect command without any pre-configured scope.", + "type": "string", + "const": "websocket:deny-connect" + }, + { + "description": "Denies the send command without any pre-configured scope.", + "type": "string", + "const": "websocket:deny-send" + }, + { + "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", + "type": "string", + "const": "window-state:default" + }, + { + "description": "Enables the filename command without any pre-configured scope.", + "type": "string", + "const": "window-state:allow-filename" + }, + { + "description": "Enables the restore_state command without any pre-configured scope.", + "type": "string", + "const": "window-state:allow-restore-state" + }, + { + "description": "Enables the save_window_state command without any pre-configured scope.", + "type": "string", + "const": "window-state:allow-save-window-state" + }, + { + "description": "Denies the filename command without any pre-configured scope.", + "type": "string", + "const": "window-state:deny-filename" + }, + { + "description": "Denies the restore_state command without any pre-configured scope.", + "type": "string", + "const": "window-state:deny-restore-state" + }, + { + "description": "Denies the save_window_state command without any pre-configured scope.", + "type": "string", + "const": "window-state:deny-save-window-state" } ] }, @@ -5050,31 +5531,41 @@ { "description": "MacOS.", "type": "string", - "enum": ["macOS"] + "enum": [ + "macOS" + ] }, { "description": "Windows.", "type": "string", - "enum": ["windows"] + "enum": [ + "windows" + ] }, { "description": "Linux.", "type": "string", - "enum": ["linux"] + "enum": [ + "linux" + ] }, { "description": "Android.", "type": "string", - "enum": ["android"] + "enum": [ + "android" + ] }, { "description": "iOS.", "type": "string", - "enum": ["iOS"] + "enum": [ + "iOS" + ] } ] }, - "ShellAllowedArg": { + "ShellScopeEntryAllowedArg": { "description": "A command argument allowed to be executed by the webview API.", "anyOf": [ { @@ -5084,7 +5575,9 @@ { "description": "A variable that is set while calling the command from the webview API.", "type": "object", - "required": ["validator"], + "required": [ + "validator" + ], "properties": { "raw": { "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", @@ -5100,21 +5593,21 @@ } ] }, - "ShellAllowedArgs": { - "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", + "ShellScopeEntryAllowedArgs": { + "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", "anyOf": [ { "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", "type": "boolean" }, { - "description": "A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.", + "description": "A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.", "type": "array", "items": { - "$ref": "#/definitions/ShellAllowedArg" + "$ref": "#/definitions/ShellScopeEntryAllowedArg" } } ] } } -} +} \ No newline at end of file