From d0565cabb3a9820a63949c4e2eb40b2d11bb633c Mon Sep 17 00:00:00 2001 From: Tillmann <112912081+tillmann-crabnebula@users.noreply.github.com> Date: Fri, 29 Dec 2023 13:36:37 +0900 Subject: [PATCH 01/35] New permissions, autogeneration, security policy --- plugins/fs/SECURITY.md | 51 +++++ plugins/fs/build.rs | 181 ++++++++++++++++++ .../autogenerated/base-directories/app.toml | 76 ++++++++ .../base-directories/appcache.toml | 76 ++++++++ .../base-directories/appconfig.toml | 76 ++++++++ .../base-directories/appdata.toml | 76 ++++++++ .../base-directories/applocaldata.toml | 76 ++++++++ .../base-directories/applog.toml | 76 ++++++++ .../autogenerated/base-directories/audio.toml | 76 ++++++++ .../autogenerated/base-directories/cache.toml | 76 ++++++++ .../base-directories/config.toml | 76 ++++++++ .../autogenerated/base-directories/data.toml | 76 ++++++++ .../base-directories/desktop.toml | 76 ++++++++ .../base-directories/document.toml | 76 ++++++++ .../base-directories/download.toml | 76 ++++++++ .../autogenerated/base-directories/exe.toml | 76 ++++++++ .../autogenerated/base-directories/font.toml | 76 ++++++++ .../autogenerated/base-directories/home.toml | 76 ++++++++ .../base-directories/localdata.toml | 76 ++++++++ .../autogenerated/base-directories/log.toml | 76 ++++++++ .../base-directories/picture.toml | 76 ++++++++ .../base-directories/public.toml | 76 ++++++++ .../base-directories/resource.toml | 76 ++++++++ .../base-directories/runtime.toml | 76 ++++++++ .../autogenerated/base-directories/temp.toml | 76 ++++++++ .../base-directories/template.toml | 76 ++++++++ .../autogenerated/base-directories/video.toml | 76 ++++++++ .../autogenerated/commands/copy_file.toml | 15 ++ .../autogenerated/commands/create.toml | 15 ++ .../autogenerated/commands/exists.toml | 15 ++ .../autogenerated/commands/fstat.toml | 15 ++ .../autogenerated/commands/ftruncate.toml | 15 ++ .../autogenerated/commands/lstat.toml | 15 ++ .../autogenerated/commands/mkdir.toml | 15 ++ .../autogenerated/commands/open.toml | 15 ++ .../autogenerated/commands/read.toml | 15 ++ .../autogenerated/commands/read_dir.toml | 15 ++ .../autogenerated/commands/read_file.toml | 15 ++ .../commands/read_text_file.toml | 15 ++ .../commands/read_text_file_lines.toml | 15 ++ .../commands/read_text_file_lines_next.toml | 15 ++ .../autogenerated/commands/remove.toml | 15 ++ .../autogenerated/commands/rename.toml | 15 ++ .../autogenerated/commands/seek.toml | 15 ++ .../autogenerated/commands/stat.toml | 15 ++ .../autogenerated/commands/truncate.toml | 15 ++ .../autogenerated/commands/unwatch.toml | 15 ++ .../autogenerated/commands/watch.toml | 15 ++ .../autogenerated/commands/write.toml | 15 ++ .../autogenerated/commands/write_file.toml | 15 ++ .../commands/write_text_file.toml | 15 ++ plugins/fs/permissions/default.toml | 30 +++ plugins/fs/permissions/deny-default.toml | 7 + plugins/fs/permissions/deny-webview-data.toml | 17 ++ plugins/fs/permissions/read-all.toml | 18 ++ plugins/fs/permissions/read-dirs.toml | 9 + plugins/fs/permissions/read-files.toml | 16 ++ plugins/fs/permissions/read-meta.toml | 9 + plugins/fs/permissions/write-all.toml | 14 ++ plugins/fs/permissions/write-files.toml | 13 ++ 60 files changed, 2625 insertions(+) create mode 100644 plugins/fs/SECURITY.md create mode 100644 plugins/fs/build.rs create mode 100644 plugins/fs/permissions/autogenerated/base-directories/app.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/appcache.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/appconfig.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/appdata.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/applog.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/audio.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/cache.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/config.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/data.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/desktop.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/document.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/download.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/exe.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/font.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/home.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/localdata.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/log.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/picture.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/public.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/resource.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/runtime.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/temp.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/template.toml create mode 100644 plugins/fs/permissions/autogenerated/base-directories/video.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/copy_file.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/create.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/exists.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/fstat.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/ftruncate.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/lstat.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/mkdir.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/open.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/read.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/read_dir.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/read_file.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/read_text_file.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/remove.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/rename.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/seek.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/stat.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/truncate.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/unwatch.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/watch.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/write.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/write_file.toml create mode 100644 plugins/fs/permissions/autogenerated/commands/write_text_file.toml create mode 100644 plugins/fs/permissions/default.toml create mode 100644 plugins/fs/permissions/deny-default.toml create mode 100644 plugins/fs/permissions/deny-webview-data.toml create mode 100644 plugins/fs/permissions/read-all.toml create mode 100644 plugins/fs/permissions/read-dirs.toml create mode 100644 plugins/fs/permissions/read-files.toml create mode 100644 plugins/fs/permissions/read-meta.toml create mode 100644 plugins/fs/permissions/write-all.toml create mode 100644 plugins/fs/permissions/write-files.toml diff --git a/plugins/fs/SECURITY.md b/plugins/fs/SECURITY.md new file mode 100644 index 000000000..1adc7ebb2 --- /dev/null +++ b/plugins/fs/SECURITY.md @@ -0,0 +1,51 @@ +# Security Policy + +**Do not report security vulnerabilities through public GitHub issues.** + +**Please use the [Private Vulnerability Disclosure](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability) feature of GitHub.** + +Include as much of the following information: + +- Type of issue (e.g. improper input parsing, privilege escalation, etc.) +- The location of the affected source code (tag/branch/commit or direct URL) +- Any special configuration required to reproduce the issue +- The distribution affected or used to help us with reproduction of the issue +- Step-by-step instructions to reproduce the issue +- Ideally a reproduction repository +- Impact of the issue, including how an attacker might exploit the issue + +We prefer to receive reports in English. + +## Contact + +Please disclose a vulnerability or security relevant issue here: [https://github.com/tauri-apps/plugins-workspace/security/advisories/new](https://github.com/tauri-apps/plugins-workspace/security/advisories/new). + +Alternatively, you can also contact us by email via [security@tauri.app](mailto:security@tauri.app). + +## Threat Model + +This plugin possibly allows access to the full filesystem available to the application process. +Depending on the operating system the access is already confined (android/ios) to only certain locations. +In other operating systems like Linux/MacOS/Windows it depends on the installation and packaging method but in most cases full +access is granted. + +To prevent exposure of sensitive locations and data this plugin can be scoped to only allow certain base directories +or only access to specific files or subdirectories. +This scoping effectively affects only calls made from the webviews/frontend code and calls made from rust can always circumvent +the restrictions imposed by the scope. + +The scope is defined at compile time in the used permissions but the user or application developer can grant or revoke access to specific files or folders at runtime by modifying the scope state through the runtime authority, if configured during plugin initialization. + + +### Security Assumptions + +- The filesystem access is limited by user permissions +- The operating system filesystem access confinment works as documented +- The scoping mechanism of the Tauri `fs` commands work as intended and has no bypasses +- The user or application developer can grant or revoke access to specific files at runtime by modifying the scope + + +#### Out Of Scope + +- Exploits in underlying filesystems +- Exploits in the underlying rust `std::fs` library diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs new file mode 100644 index 000000000..016169a2a --- /dev/null +++ b/plugins/fs/build.rs @@ -0,0 +1,181 @@ +use std::{fs::create_dir_all, path::Path}; + +const BASE_DIR_VARS: &[&str] = &[ + "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", +]; +const COMMANDS: &[&str] = &[ + "mkdir", + "create", + "copy_file", + "remove", + "rename", + "truncate", + "ftruncate", + "write", + "write_file", + "write_text_file", + "read_dir", + "read_file", + "read", + "open", + "read_text_file", + "read_text_file_lines", + "read_text_file_lines_next", + "seek", + "stat", + "lstat", + "fstat", + "exists", + "watch", + "unwatch", +]; + +fn main() { + let autogenerated = Path::new("permissions/autogenerated/"); + let base_dirs = &autogenerated.join("base-directories"); + let commands_dir = &autogenerated.join("commands"); + + if !base_dirs.exists() { + create_dir_all(base_dirs).expect("unable to create autogenerated base directories dir"); + } + + if !commands_dir.exists() { + create_dir_all(commands_dir).expect("unable to create autogenerated commands dir"); + } + + for command in COMMANDS { + let slugified_command = command.replace("_", "-"); + let toml = format!( + r###"# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-{slugified_command}" +description = "This enables the {command} command without any pre-configured accessible paths." +commands.allow = [ + "{command}" +] + +[[permission]] +identifier = "deny-{slugified_command}" +description = "This denies the {command} command without any pre-configured accessible paths." +commands.deny = [ + "{command}" +]"###, + command = command, + slugified_command = slugified_command + ); + + std::fs::write(commands_dir.join(format!("{command}.toml")), toml) + .expect(&format!("unable to autogenerate ${command}.toml")); + } + + for base_dir in BASE_DIR_VARS { + let upper = base_dir; + let lower = base_dir.to_lowercase(); + let toml = format!( + r###"# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-{lower}-recursive" +description = "This scope recursive access to the complete `${upper}` folder, including sub directories and files." + +[[scope.allow]] +path = "${upper}/**" + +[[permission]] +identifier = "scope-{lower}" +description = "This scope permits access to all files and list content of top level directories in the `${upper}`folder." + +[[scope.allow]] +path = "${upper}/*" + +[[permission]] +identifier = "scope-{lower}-index" +description = "This scope permits to list all files and folders in the `${upper}`folder." + +[[scope.allow]] +path = "${upper}/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-{lower}-read-recursive" +description = "This allows full recursive read access to the complete `${upper}` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-{lower}-recursive" +] + +[[set]] +identifier = "allow-{lower}-write-recursive" +description = "This allows full recusrive write access to the complete `${upper}` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-{lower}-recursive" +] + +[[set]] +identifier = "allow-{lower}-read" +description = "This allows non-recursive read access to the `${upper}` folder." +permissions = [ + "read-all", + "scope-{lower}" +] + +[[set]] +identifier = "allow-{lower}-write" +description = "This allows non-recursive write access to the `${upper}` folder." +permissions = [ + "write-all", + "scope-{lower}" +] + +[[set]] +identifier = "allow-{lower}-meta-recursive" +description = "This allows read access to metadata of the `${upper}` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-{lower}-recursive" +] + +[[set]] +identifier = "allow-{lower}-meta" +description = "This allows read access to metadata of the `${upper}` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-{lower}-index" +]"### + ); + + std::fs::write(base_dirs.join(format!("{lower}.toml")), toml) + .expect(&format!("unable to autogenerate ${upper}")); + } +} diff --git a/plugins/fs/permissions/autogenerated/base-directories/app.toml b/plugins/fs/permissions/autogenerated/base-directories/app.toml new file mode 100644 index 000000000..4fc981963 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/app.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-app-recursive" +description = "This scope recursive access to the complete `$APP` folder, including sub directories and files." + +[[scope.allow]] +path = "$APP/**" + +[[permission]] +identifier = "scope-app" +description = "This scope permits access to all files and list content of top level directories in the `$APP`folder." + +[[scope.allow]] +path = "$APP/*" + +[[permission]] +identifier = "scope-app-index" +description = "This scope permits to list all files and folders in the `$APP`folder." + +[[scope.allow]] +path = "$APP/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-app-read-recursive" +description = "This allows full recursive read access to the complete `$APP` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-app-recursive" +] + +[[set]] +identifier = "allow-app-write-recursive" +description = "This allows full recusrive write access to the complete `$APP` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-app-recursive" +] + +[[set]] +identifier = "allow-app-read" +description = "This allows non-recursive read access to the `$APP` folder." +permissions = [ + "read-all", + "scope-app" +] + +[[set]] +identifier = "allow-app-write" +description = "This allows non-recursive write access to the `$APP` folder." +permissions = [ + "write-all", + "scope-app" +] + +[[set]] +identifier = "allow-app-meta-recursive" +description = "This allows read access to metadata of the `$APP` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-app-recursive" +] + +[[set]] +identifier = "allow-app-meta" +description = "This allows read access to metadata of the `$APP` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-app-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml new file mode 100644 index 000000000..a36da6744 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-appcache-recursive" +description = "This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files." + +[[scope.allow]] +path = "$APPCACHE/**" + +[[permission]] +identifier = "scope-appcache" +description = "This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder." + +[[scope.allow]] +path = "$APPCACHE/*" + +[[permission]] +identifier = "scope-appcache-index" +description = "This scope permits to list all files and folders in the `$APPCACHE`folder." + +[[scope.allow]] +path = "$APPCACHE/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-appcache-read-recursive" +description = "This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-appcache-recursive" +] + +[[set]] +identifier = "allow-appcache-write-recursive" +description = "This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-appcache-recursive" +] + +[[set]] +identifier = "allow-appcache-read" +description = "This allows non-recursive read access to the `$APPCACHE` folder." +permissions = [ + "read-all", + "scope-appcache" +] + +[[set]] +identifier = "allow-appcache-write" +description = "This allows non-recursive write access to the `$APPCACHE` folder." +permissions = [ + "write-all", + "scope-appcache" +] + +[[set]] +identifier = "allow-appcache-meta-recursive" +description = "This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-appcache-recursive" +] + +[[set]] +identifier = "allow-appcache-meta" +description = "This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-appcache-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml new file mode 100644 index 000000000..56032c602 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-appconfig-recursive" +description = "This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files." + +[[scope.allow]] +path = "$APPCONFIG/**" + +[[permission]] +identifier = "scope-appconfig" +description = "This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder." + +[[scope.allow]] +path = "$APPCONFIG/*" + +[[permission]] +identifier = "scope-appconfig-index" +description = "This scope permits to list all files and folders in the `$APPCONFIG`folder." + +[[scope.allow]] +path = "$APPCONFIG/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-appconfig-read-recursive" +description = "This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-appconfig-recursive" +] + +[[set]] +identifier = "allow-appconfig-write-recursive" +description = "This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-appconfig-recursive" +] + +[[set]] +identifier = "allow-appconfig-read" +description = "This allows non-recursive read access to the `$APPCONFIG` folder." +permissions = [ + "read-all", + "scope-appconfig" +] + +[[set]] +identifier = "allow-appconfig-write" +description = "This allows non-recursive write access to the `$APPCONFIG` folder." +permissions = [ + "write-all", + "scope-appconfig" +] + +[[set]] +identifier = "allow-appconfig-meta-recursive" +description = "This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-appconfig-recursive" +] + +[[set]] +identifier = "allow-appconfig-meta" +description = "This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-appconfig-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml new file mode 100644 index 000000000..af2278e0c --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-appdata-recursive" +description = "This scope recursive access to the complete `$APPDATA` folder, including sub directories and files." + +[[scope.allow]] +path = "$APPDATA/**" + +[[permission]] +identifier = "scope-appdata" +description = "This scope permits access to all files and list content of top level directories in the `$APPDATA`folder." + +[[scope.allow]] +path = "$APPDATA/*" + +[[permission]] +identifier = "scope-appdata-index" +description = "This scope permits to list all files and folders in the `$APPDATA`folder." + +[[scope.allow]] +path = "$APPDATA/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-appdata-read-recursive" +description = "This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-appdata-recursive" +] + +[[set]] +identifier = "allow-appdata-write-recursive" +description = "This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-appdata-recursive" +] + +[[set]] +identifier = "allow-appdata-read" +description = "This allows non-recursive read access to the `$APPDATA` folder." +permissions = [ + "read-all", + "scope-appdata" +] + +[[set]] +identifier = "allow-appdata-write" +description = "This allows non-recursive write access to the `$APPDATA` folder." +permissions = [ + "write-all", + "scope-appdata" +] + +[[set]] +identifier = "allow-appdata-meta-recursive" +description = "This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-appdata-recursive" +] + +[[set]] +identifier = "allow-appdata-meta" +description = "This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-appdata-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml new file mode 100644 index 000000000..3f2c5ebca --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-applocaldata-recursive" +description = "This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files." + +[[scope.allow]] +path = "$APPLOCALDATA/**" + +[[permission]] +identifier = "scope-applocaldata" +description = "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder." + +[[scope.allow]] +path = "$APPLOCALDATA/*" + +[[permission]] +identifier = "scope-applocaldata-index" +description = "This scope permits to list all files and folders in the `$APPLOCALDATA`folder." + +[[scope.allow]] +path = "$APPLOCALDATA/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-applocaldata-read-recursive" +description = "This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-applocaldata-recursive" +] + +[[set]] +identifier = "allow-applocaldata-write-recursive" +description = "This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-applocaldata-recursive" +] + +[[set]] +identifier = "allow-applocaldata-read" +description = "This allows non-recursive read access to the `$APPLOCALDATA` folder." +permissions = [ + "read-all", + "scope-applocaldata" +] + +[[set]] +identifier = "allow-applocaldata-write" +description = "This allows non-recursive write access to the `$APPLOCALDATA` folder." +permissions = [ + "write-all", + "scope-applocaldata" +] + +[[set]] +identifier = "allow-applocaldata-meta-recursive" +description = "This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-applocaldata-recursive" +] + +[[set]] +identifier = "allow-applocaldata-meta" +description = "This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-applocaldata-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/applog.toml b/plugins/fs/permissions/autogenerated/base-directories/applog.toml new file mode 100644 index 000000000..6d8d2c369 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/applog.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-applog-recursive" +description = "This scope recursive access to the complete `$APPLOG` folder, including sub directories and files." + +[[scope.allow]] +path = "$APPLOG/**" + +[[permission]] +identifier = "scope-applog" +description = "This scope permits access to all files and list content of top level directories in the `$APPLOG`folder." + +[[scope.allow]] +path = "$APPLOG/*" + +[[permission]] +identifier = "scope-applog-index" +description = "This scope permits to list all files and folders in the `$APPLOG`folder." + +[[scope.allow]] +path = "$APPLOG/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-applog-read-recursive" +description = "This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-applog-recursive" +] + +[[set]] +identifier = "allow-applog-write-recursive" +description = "This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-applog-recursive" +] + +[[set]] +identifier = "allow-applog-read" +description = "This allows non-recursive read access to the `$APPLOG` folder." +permissions = [ + "read-all", + "scope-applog" +] + +[[set]] +identifier = "allow-applog-write" +description = "This allows non-recursive write access to the `$APPLOG` folder." +permissions = [ + "write-all", + "scope-applog" +] + +[[set]] +identifier = "allow-applog-meta-recursive" +description = "This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-applog-recursive" +] + +[[set]] +identifier = "allow-applog-meta" +description = "This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-applog-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/audio.toml b/plugins/fs/permissions/autogenerated/base-directories/audio.toml new file mode 100644 index 000000000..30ce5e954 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/audio.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-audio-recursive" +description = "This scope recursive access to the complete `$AUDIO` folder, including sub directories and files." + +[[scope.allow]] +path = "$AUDIO/**" + +[[permission]] +identifier = "scope-audio" +description = "This scope permits access to all files and list content of top level directories in the `$AUDIO`folder." + +[[scope.allow]] +path = "$AUDIO/*" + +[[permission]] +identifier = "scope-audio-index" +description = "This scope permits to list all files and folders in the `$AUDIO`folder." + +[[scope.allow]] +path = "$AUDIO/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-audio-read-recursive" +description = "This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-audio-recursive" +] + +[[set]] +identifier = "allow-audio-write-recursive" +description = "This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-audio-recursive" +] + +[[set]] +identifier = "allow-audio-read" +description = "This allows non-recursive read access to the `$AUDIO` folder." +permissions = [ + "read-all", + "scope-audio" +] + +[[set]] +identifier = "allow-audio-write" +description = "This allows non-recursive write access to the `$AUDIO` folder." +permissions = [ + "write-all", + "scope-audio" +] + +[[set]] +identifier = "allow-audio-meta-recursive" +description = "This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-audio-recursive" +] + +[[set]] +identifier = "allow-audio-meta" +description = "This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-audio-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/cache.toml b/plugins/fs/permissions/autogenerated/base-directories/cache.toml new file mode 100644 index 000000000..360e069b8 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/cache.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-cache-recursive" +description = "This scope recursive access to the complete `$CACHE` folder, including sub directories and files." + +[[scope.allow]] +path = "$CACHE/**" + +[[permission]] +identifier = "scope-cache" +description = "This scope permits access to all files and list content of top level directories in the `$CACHE`folder." + +[[scope.allow]] +path = "$CACHE/*" + +[[permission]] +identifier = "scope-cache-index" +description = "This scope permits to list all files and folders in the `$CACHE`folder." + +[[scope.allow]] +path = "$CACHE/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-cache-read-recursive" +description = "This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-cache-recursive" +] + +[[set]] +identifier = "allow-cache-write-recursive" +description = "This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-cache-recursive" +] + +[[set]] +identifier = "allow-cache-read" +description = "This allows non-recursive read access to the `$CACHE` folder." +permissions = [ + "read-all", + "scope-cache" +] + +[[set]] +identifier = "allow-cache-write" +description = "This allows non-recursive write access to the `$CACHE` folder." +permissions = [ + "write-all", + "scope-cache" +] + +[[set]] +identifier = "allow-cache-meta-recursive" +description = "This allows read access to metadata of the `$CACHE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-cache-recursive" +] + +[[set]] +identifier = "allow-cache-meta" +description = "This allows read access to metadata of the `$CACHE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-cache-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/config.toml b/plugins/fs/permissions/autogenerated/base-directories/config.toml new file mode 100644 index 000000000..c98da1da0 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/config.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-config-recursive" +description = "This scope recursive access to the complete `$CONFIG` folder, including sub directories and files." + +[[scope.allow]] +path = "$CONFIG/**" + +[[permission]] +identifier = "scope-config" +description = "This scope permits access to all files and list content of top level directories in the `$CONFIG`folder." + +[[scope.allow]] +path = "$CONFIG/*" + +[[permission]] +identifier = "scope-config-index" +description = "This scope permits to list all files and folders in the `$CONFIG`folder." + +[[scope.allow]] +path = "$CONFIG/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-config-read-recursive" +description = "This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-config-recursive" +] + +[[set]] +identifier = "allow-config-write-recursive" +description = "This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-config-recursive" +] + +[[set]] +identifier = "allow-config-read" +description = "This allows non-recursive read access to the `$CONFIG` folder." +permissions = [ + "read-all", + "scope-config" +] + +[[set]] +identifier = "allow-config-write" +description = "This allows non-recursive write access to the `$CONFIG` folder." +permissions = [ + "write-all", + "scope-config" +] + +[[set]] +identifier = "allow-config-meta-recursive" +description = "This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-config-recursive" +] + +[[set]] +identifier = "allow-config-meta" +description = "This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-config-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/data.toml b/plugins/fs/permissions/autogenerated/base-directories/data.toml new file mode 100644 index 000000000..192ee1f73 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/data.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-data-recursive" +description = "This scope recursive access to the complete `$DATA` folder, including sub directories and files." + +[[scope.allow]] +path = "$DATA/**" + +[[permission]] +identifier = "scope-data" +description = "This scope permits access to all files and list content of top level directories in the `$DATA`folder." + +[[scope.allow]] +path = "$DATA/*" + +[[permission]] +identifier = "scope-data-index" +description = "This scope permits to list all files and folders in the `$DATA`folder." + +[[scope.allow]] +path = "$DATA/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-data-read-recursive" +description = "This allows full recursive read access to the complete `$DATA` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-data-recursive" +] + +[[set]] +identifier = "allow-data-write-recursive" +description = "This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-data-recursive" +] + +[[set]] +identifier = "allow-data-read" +description = "This allows non-recursive read access to the `$DATA` folder." +permissions = [ + "read-all", + "scope-data" +] + +[[set]] +identifier = "allow-data-write" +description = "This allows non-recursive write access to the `$DATA` folder." +permissions = [ + "write-all", + "scope-data" +] + +[[set]] +identifier = "allow-data-meta-recursive" +description = "This allows read access to metadata of the `$DATA` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-data-recursive" +] + +[[set]] +identifier = "allow-data-meta" +description = "This allows read access to metadata of the `$DATA` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-data-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml new file mode 100644 index 000000000..220928120 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-desktop-recursive" +description = "This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files." + +[[scope.allow]] +path = "$DESKTOP/**" + +[[permission]] +identifier = "scope-desktop" +description = "This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder." + +[[scope.allow]] +path = "$DESKTOP/*" + +[[permission]] +identifier = "scope-desktop-index" +description = "This scope permits to list all files and folders in the `$DESKTOP`folder." + +[[scope.allow]] +path = "$DESKTOP/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-desktop-read-recursive" +description = "This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-desktop-recursive" +] + +[[set]] +identifier = "allow-desktop-write-recursive" +description = "This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-desktop-recursive" +] + +[[set]] +identifier = "allow-desktop-read" +description = "This allows non-recursive read access to the `$DESKTOP` folder." +permissions = [ + "read-all", + "scope-desktop" +] + +[[set]] +identifier = "allow-desktop-write" +description = "This allows non-recursive write access to the `$DESKTOP` folder." +permissions = [ + "write-all", + "scope-desktop" +] + +[[set]] +identifier = "allow-desktop-meta-recursive" +description = "This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-desktop-recursive" +] + +[[set]] +identifier = "allow-desktop-meta" +description = "This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-desktop-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/document.toml b/plugins/fs/permissions/autogenerated/base-directories/document.toml new file mode 100644 index 000000000..25f410f73 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/document.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-document-recursive" +description = "This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files." + +[[scope.allow]] +path = "$DOCUMENT/**" + +[[permission]] +identifier = "scope-document" +description = "This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder." + +[[scope.allow]] +path = "$DOCUMENT/*" + +[[permission]] +identifier = "scope-document-index" +description = "This scope permits to list all files and folders in the `$DOCUMENT`folder." + +[[scope.allow]] +path = "$DOCUMENT/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-document-read-recursive" +description = "This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-document-recursive" +] + +[[set]] +identifier = "allow-document-write-recursive" +description = "This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-document-recursive" +] + +[[set]] +identifier = "allow-document-read" +description = "This allows non-recursive read access to the `$DOCUMENT` folder." +permissions = [ + "read-all", + "scope-document" +] + +[[set]] +identifier = "allow-document-write" +description = "This allows non-recursive write access to the `$DOCUMENT` folder." +permissions = [ + "write-all", + "scope-document" +] + +[[set]] +identifier = "allow-document-meta-recursive" +description = "This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-document-recursive" +] + +[[set]] +identifier = "allow-document-meta" +description = "This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-document-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/download.toml b/plugins/fs/permissions/autogenerated/base-directories/download.toml new file mode 100644 index 000000000..8fde4b917 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/download.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-download-recursive" +description = "This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files." + +[[scope.allow]] +path = "$DOWNLOAD/**" + +[[permission]] +identifier = "scope-download" +description = "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder." + +[[scope.allow]] +path = "$DOWNLOAD/*" + +[[permission]] +identifier = "scope-download-index" +description = "This scope permits to list all files and folders in the `$DOWNLOAD`folder." + +[[scope.allow]] +path = "$DOWNLOAD/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-download-read-recursive" +description = "This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-download-recursive" +] + +[[set]] +identifier = "allow-download-write-recursive" +description = "This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-download-recursive" +] + +[[set]] +identifier = "allow-download-read" +description = "This allows non-recursive read access to the `$DOWNLOAD` folder." +permissions = [ + "read-all", + "scope-download" +] + +[[set]] +identifier = "allow-download-write" +description = "This allows non-recursive write access to the `$DOWNLOAD` folder." +permissions = [ + "write-all", + "scope-download" +] + +[[set]] +identifier = "allow-download-meta-recursive" +description = "This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-download-recursive" +] + +[[set]] +identifier = "allow-download-meta" +description = "This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-download-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/exe.toml b/plugins/fs/permissions/autogenerated/base-directories/exe.toml new file mode 100644 index 000000000..fafdcf8a7 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/exe.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-exe-recursive" +description = "This scope recursive access to the complete `$EXE` folder, including sub directories and files." + +[[scope.allow]] +path = "$EXE/**" + +[[permission]] +identifier = "scope-exe" +description = "This scope permits access to all files and list content of top level directories in the `$EXE`folder." + +[[scope.allow]] +path = "$EXE/*" + +[[permission]] +identifier = "scope-exe-index" +description = "This scope permits to list all files and folders in the `$EXE`folder." + +[[scope.allow]] +path = "$EXE/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-exe-read-recursive" +description = "This allows full recursive read access to the complete `$EXE` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-exe-recursive" +] + +[[set]] +identifier = "allow-exe-write-recursive" +description = "This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-exe-recursive" +] + +[[set]] +identifier = "allow-exe-read" +description = "This allows non-recursive read access to the `$EXE` folder." +permissions = [ + "read-all", + "scope-exe" +] + +[[set]] +identifier = "allow-exe-write" +description = "This allows non-recursive write access to the `$EXE` folder." +permissions = [ + "write-all", + "scope-exe" +] + +[[set]] +identifier = "allow-exe-meta-recursive" +description = "This allows read access to metadata of the `$EXE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-exe-recursive" +] + +[[set]] +identifier = "allow-exe-meta" +description = "This allows read access to metadata of the `$EXE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-exe-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/font.toml b/plugins/fs/permissions/autogenerated/base-directories/font.toml new file mode 100644 index 000000000..84d94d0aa --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/font.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-font-recursive" +description = "This scope recursive access to the complete `$FONT` folder, including sub directories and files." + +[[scope.allow]] +path = "$FONT/**" + +[[permission]] +identifier = "scope-font" +description = "This scope permits access to all files and list content of top level directories in the `$FONT`folder." + +[[scope.allow]] +path = "$FONT/*" + +[[permission]] +identifier = "scope-font-index" +description = "This scope permits to list all files and folders in the `$FONT`folder." + +[[scope.allow]] +path = "$FONT/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-font-read-recursive" +description = "This allows full recursive read access to the complete `$FONT` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-font-recursive" +] + +[[set]] +identifier = "allow-font-write-recursive" +description = "This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-font-recursive" +] + +[[set]] +identifier = "allow-font-read" +description = "This allows non-recursive read access to the `$FONT` folder." +permissions = [ + "read-all", + "scope-font" +] + +[[set]] +identifier = "allow-font-write" +description = "This allows non-recursive write access to the `$FONT` folder." +permissions = [ + "write-all", + "scope-font" +] + +[[set]] +identifier = "allow-font-meta-recursive" +description = "This allows read access to metadata of the `$FONT` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-font-recursive" +] + +[[set]] +identifier = "allow-font-meta" +description = "This allows read access to metadata of the `$FONT` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-font-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/home.toml b/plugins/fs/permissions/autogenerated/base-directories/home.toml new file mode 100644 index 000000000..0e2e954b3 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/home.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-home-recursive" +description = "This scope recursive access to the complete `$HOME` folder, including sub directories and files." + +[[scope.allow]] +path = "$HOME/**" + +[[permission]] +identifier = "scope-home" +description = "This scope permits access to all files and list content of top level directories in the `$HOME`folder." + +[[scope.allow]] +path = "$HOME/*" + +[[permission]] +identifier = "scope-home-index" +description = "This scope permits to list all files and folders in the `$HOME`folder." + +[[scope.allow]] +path = "$HOME/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-home-read-recursive" +description = "This allows full recursive read access to the complete `$HOME` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-home-recursive" +] + +[[set]] +identifier = "allow-home-write-recursive" +description = "This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-home-recursive" +] + +[[set]] +identifier = "allow-home-read" +description = "This allows non-recursive read access to the `$HOME` folder." +permissions = [ + "read-all", + "scope-home" +] + +[[set]] +identifier = "allow-home-write" +description = "This allows non-recursive write access to the `$HOME` folder." +permissions = [ + "write-all", + "scope-home" +] + +[[set]] +identifier = "allow-home-meta-recursive" +description = "This allows read access to metadata of the `$HOME` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-home-recursive" +] + +[[set]] +identifier = "allow-home-meta" +description = "This allows read access to metadata of the `$HOME` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-home-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml new file mode 100644 index 000000000..e9fbc0684 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-localdata-recursive" +description = "This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files." + +[[scope.allow]] +path = "$LOCALDATA/**" + +[[permission]] +identifier = "scope-localdata" +description = "This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder." + +[[scope.allow]] +path = "$LOCALDATA/*" + +[[permission]] +identifier = "scope-localdata-index" +description = "This scope permits to list all files and folders in the `$LOCALDATA`folder." + +[[scope.allow]] +path = "$LOCALDATA/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-localdata-read-recursive" +description = "This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-localdata-recursive" +] + +[[set]] +identifier = "allow-localdata-write-recursive" +description = "This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-localdata-recursive" +] + +[[set]] +identifier = "allow-localdata-read" +description = "This allows non-recursive read access to the `$LOCALDATA` folder." +permissions = [ + "read-all", + "scope-localdata" +] + +[[set]] +identifier = "allow-localdata-write" +description = "This allows non-recursive write access to the `$LOCALDATA` folder." +permissions = [ + "write-all", + "scope-localdata" +] + +[[set]] +identifier = "allow-localdata-meta-recursive" +description = "This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-localdata-recursive" +] + +[[set]] +identifier = "allow-localdata-meta" +description = "This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-localdata-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/log.toml b/plugins/fs/permissions/autogenerated/base-directories/log.toml new file mode 100644 index 000000000..947b4dc41 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/log.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-log-recursive" +description = "This scope recursive access to the complete `$LOG` folder, including sub directories and files." + +[[scope.allow]] +path = "$LOG/**" + +[[permission]] +identifier = "scope-log" +description = "This scope permits access to all files and list content of top level directories in the `$LOG`folder." + +[[scope.allow]] +path = "$LOG/*" + +[[permission]] +identifier = "scope-log-index" +description = "This scope permits to list all files and folders in the `$LOG`folder." + +[[scope.allow]] +path = "$LOG/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-log-read-recursive" +description = "This allows full recursive read access to the complete `$LOG` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-log-recursive" +] + +[[set]] +identifier = "allow-log-write-recursive" +description = "This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-log-recursive" +] + +[[set]] +identifier = "allow-log-read" +description = "This allows non-recursive read access to the `$LOG` folder." +permissions = [ + "read-all", + "scope-log" +] + +[[set]] +identifier = "allow-log-write" +description = "This allows non-recursive write access to the `$LOG` folder." +permissions = [ + "write-all", + "scope-log" +] + +[[set]] +identifier = "allow-log-meta-recursive" +description = "This allows read access to metadata of the `$LOG` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-log-recursive" +] + +[[set]] +identifier = "allow-log-meta" +description = "This allows read access to metadata of the `$LOG` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-log-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/picture.toml b/plugins/fs/permissions/autogenerated/base-directories/picture.toml new file mode 100644 index 000000000..811c794d2 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/picture.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-picture-recursive" +description = "This scope recursive access to the complete `$PICTURE` folder, including sub directories and files." + +[[scope.allow]] +path = "$PICTURE/**" + +[[permission]] +identifier = "scope-picture" +description = "This scope permits access to all files and list content of top level directories in the `$PICTURE`folder." + +[[scope.allow]] +path = "$PICTURE/*" + +[[permission]] +identifier = "scope-picture-index" +description = "This scope permits to list all files and folders in the `$PICTURE`folder." + +[[scope.allow]] +path = "$PICTURE/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-picture-read-recursive" +description = "This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-picture-recursive" +] + +[[set]] +identifier = "allow-picture-write-recursive" +description = "This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-picture-recursive" +] + +[[set]] +identifier = "allow-picture-read" +description = "This allows non-recursive read access to the `$PICTURE` folder." +permissions = [ + "read-all", + "scope-picture" +] + +[[set]] +identifier = "allow-picture-write" +description = "This allows non-recursive write access to the `$PICTURE` folder." +permissions = [ + "write-all", + "scope-picture" +] + +[[set]] +identifier = "allow-picture-meta-recursive" +description = "This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-picture-recursive" +] + +[[set]] +identifier = "allow-picture-meta" +description = "This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-picture-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/public.toml b/plugins/fs/permissions/autogenerated/base-directories/public.toml new file mode 100644 index 000000000..2c1cd712d --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/public.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-public-recursive" +description = "This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files." + +[[scope.allow]] +path = "$PUBLIC/**" + +[[permission]] +identifier = "scope-public" +description = "This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder." + +[[scope.allow]] +path = "$PUBLIC/*" + +[[permission]] +identifier = "scope-public-index" +description = "This scope permits to list all files and folders in the `$PUBLIC`folder." + +[[scope.allow]] +path = "$PUBLIC/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-public-read-recursive" +description = "This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-public-recursive" +] + +[[set]] +identifier = "allow-public-write-recursive" +description = "This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-public-recursive" +] + +[[set]] +identifier = "allow-public-read" +description = "This allows non-recursive read access to the `$PUBLIC` folder." +permissions = [ + "read-all", + "scope-public" +] + +[[set]] +identifier = "allow-public-write" +description = "This allows non-recursive write access to the `$PUBLIC` folder." +permissions = [ + "write-all", + "scope-public" +] + +[[set]] +identifier = "allow-public-meta-recursive" +description = "This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-public-recursive" +] + +[[set]] +identifier = "allow-public-meta" +description = "This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-public-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/resource.toml b/plugins/fs/permissions/autogenerated/base-directories/resource.toml new file mode 100644 index 000000000..43dc8564d --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/resource.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-resource-recursive" +description = "This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files." + +[[scope.allow]] +path = "$RESOURCE/**" + +[[permission]] +identifier = "scope-resource" +description = "This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder." + +[[scope.allow]] +path = "$RESOURCE/*" + +[[permission]] +identifier = "scope-resource-index" +description = "This scope permits to list all files and folders in the `$RESOURCE`folder." + +[[scope.allow]] +path = "$RESOURCE/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-resource-read-recursive" +description = "This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-resource-recursive" +] + +[[set]] +identifier = "allow-resource-write-recursive" +description = "This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-resource-recursive" +] + +[[set]] +identifier = "allow-resource-read" +description = "This allows non-recursive read access to the `$RESOURCE` folder." +permissions = [ + "read-all", + "scope-resource" +] + +[[set]] +identifier = "allow-resource-write" +description = "This allows non-recursive write access to the `$RESOURCE` folder." +permissions = [ + "write-all", + "scope-resource" +] + +[[set]] +identifier = "allow-resource-meta-recursive" +description = "This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-resource-recursive" +] + +[[set]] +identifier = "allow-resource-meta" +description = "This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-resource-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml new file mode 100644 index 000000000..7843be634 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-runtime-recursive" +description = "This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files." + +[[scope.allow]] +path = "$RUNTIME/**" + +[[permission]] +identifier = "scope-runtime" +description = "This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder." + +[[scope.allow]] +path = "$RUNTIME/*" + +[[permission]] +identifier = "scope-runtime-index" +description = "This scope permits to list all files and folders in the `$RUNTIME`folder." + +[[scope.allow]] +path = "$RUNTIME/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-runtime-read-recursive" +description = "This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-runtime-recursive" +] + +[[set]] +identifier = "allow-runtime-write-recursive" +description = "This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-runtime-recursive" +] + +[[set]] +identifier = "allow-runtime-read" +description = "This allows non-recursive read access to the `$RUNTIME` folder." +permissions = [ + "read-all", + "scope-runtime" +] + +[[set]] +identifier = "allow-runtime-write" +description = "This allows non-recursive write access to the `$RUNTIME` folder." +permissions = [ + "write-all", + "scope-runtime" +] + +[[set]] +identifier = "allow-runtime-meta-recursive" +description = "This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-runtime-recursive" +] + +[[set]] +identifier = "allow-runtime-meta" +description = "This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-runtime-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/temp.toml b/plugins/fs/permissions/autogenerated/base-directories/temp.toml new file mode 100644 index 000000000..b6a231c20 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/temp.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-temp-recursive" +description = "This scope recursive access to the complete `$TEMP` folder, including sub directories and files." + +[[scope.allow]] +path = "$TEMP/**" + +[[permission]] +identifier = "scope-temp" +description = "This scope permits access to all files and list content of top level directories in the `$TEMP`folder." + +[[scope.allow]] +path = "$TEMP/*" + +[[permission]] +identifier = "scope-temp-index" +description = "This scope permits to list all files and folders in the `$TEMP`folder." + +[[scope.allow]] +path = "$TEMP/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-temp-read-recursive" +description = "This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-temp-recursive" +] + +[[set]] +identifier = "allow-temp-write-recursive" +description = "This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-temp-recursive" +] + +[[set]] +identifier = "allow-temp-read" +description = "This allows non-recursive read access to the `$TEMP` folder." +permissions = [ + "read-all", + "scope-temp" +] + +[[set]] +identifier = "allow-temp-write" +description = "This allows non-recursive write access to the `$TEMP` folder." +permissions = [ + "write-all", + "scope-temp" +] + +[[set]] +identifier = "allow-temp-meta-recursive" +description = "This allows read access to metadata of the `$TEMP` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-temp-recursive" +] + +[[set]] +identifier = "allow-temp-meta" +description = "This allows read access to metadata of the `$TEMP` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-temp-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/template.toml b/plugins/fs/permissions/autogenerated/base-directories/template.toml new file mode 100644 index 000000000..bbcf9ec9e --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/template.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-template-recursive" +description = "This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files." + +[[scope.allow]] +path = "$TEMPLATE/**" + +[[permission]] +identifier = "scope-template" +description = "This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder." + +[[scope.allow]] +path = "$TEMPLATE/*" + +[[permission]] +identifier = "scope-template-index" +description = "This scope permits to list all files and folders in the `$TEMPLATE`folder." + +[[scope.allow]] +path = "$TEMPLATE/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-template-read-recursive" +description = "This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-template-recursive" +] + +[[set]] +identifier = "allow-template-write-recursive" +description = "This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-template-recursive" +] + +[[set]] +identifier = "allow-template-read" +description = "This allows non-recursive read access to the `$TEMPLATE` folder." +permissions = [ + "read-all", + "scope-template" +] + +[[set]] +identifier = "allow-template-write" +description = "This allows non-recursive write access to the `$TEMPLATE` folder." +permissions = [ + "write-all", + "scope-template" +] + +[[set]] +identifier = "allow-template-meta-recursive" +description = "This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-template-recursive" +] + +[[set]] +identifier = "allow-template-meta" +description = "This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-template-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/video.toml b/plugins/fs/permissions/autogenerated/base-directories/video.toml new file mode 100644 index 000000000..ef6c14e13 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/base-directories/video.toml @@ -0,0 +1,76 @@ +# Automatically generated - DO NOT EDIT! + +# Scopes Section +# This section contains scopes, which define file level access + +[[permission]] +identifier = "scope-video-recursive" +description = "This scope recursive access to the complete `$VIDEO` folder, including sub directories and files." + +[[scope.allow]] +path = "$VIDEO/**" + +[[permission]] +identifier = "scope-video" +description = "This scope permits access to all files and list content of top level directories in the `$VIDEO`folder." + +[[scope.allow]] +path = "$VIDEO/*" + +[[permission]] +identifier = "scope-video-index" +description = "This scope permits to list all files and folders in the `$VIDEO`folder." + +[[scope.allow]] +path = "$VIDEO/" + +# Sets Section +# This section combines the scope elements with enablement of commands + +[[set]] +identifier = "allow-video-read-recursive" +description = "This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories." +permissions = [ + "read-all", + "scope-video-recursive" +] + +[[set]] +identifier = "allow-video-write-recursive" +description = "This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories." +permissions = [ + "write-all", + "scope-video-recursive" +] + +[[set]] +identifier = "allow-video-read" +description = "This allows non-recursive read access to the `$VIDEO` folder." +permissions = [ + "read-all", + "scope-video" +] + +[[set]] +identifier = "allow-video-write" +description = "This allows non-recursive write access to the `$VIDEO` folder." +permissions = [ + "write-all", + "scope-video" +] + +[[set]] +identifier = "allow-video-meta-recursive" +description = "This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-video-recursive" +] + +[[set]] +identifier = "allow-video-meta" +description = "This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics." +permissions = [ + "read-meta", + "scope-video-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/copy_file.toml b/plugins/fs/permissions/autogenerated/commands/copy_file.toml new file mode 100644 index 000000000..d764ea27e --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/copy_file.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-copy-file" +description = "This enables the copy_file command without any pre-configured accessible paths." +commands.allow = [ + "copy_file" +] + +[[permission]] +identifier = "deny-copy-file" +description = "This denies the copy_file command without any pre-configured accessible paths." +commands.deny = [ + "copy_file" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/create.toml b/plugins/fs/permissions/autogenerated/commands/create.toml new file mode 100644 index 000000000..732e7d27d --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/create.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-create" +description = "This enables the create command without any pre-configured accessible paths." +commands.allow = [ + "create" +] + +[[permission]] +identifier = "deny-create" +description = "This denies the create command without any pre-configured accessible paths." +commands.deny = [ + "create" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/exists.toml b/plugins/fs/permissions/autogenerated/commands/exists.toml new file mode 100644 index 000000000..74ad47bba --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/exists.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-exists" +description = "This enables the exists command without any pre-configured accessible paths." +commands.allow = [ + "exists" +] + +[[permission]] +identifier = "deny-exists" +description = "This denies the exists command without any pre-configured accessible paths." +commands.deny = [ + "exists" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/fstat.toml b/plugins/fs/permissions/autogenerated/commands/fstat.toml new file mode 100644 index 000000000..bca956e80 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/fstat.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-fstat" +description = "This enables the fstat command without any pre-configured accessible paths." +commands.allow = [ + "fstat" +] + +[[permission]] +identifier = "deny-fstat" +description = "This denies the fstat command without any pre-configured accessible paths." +commands.deny = [ + "fstat" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/ftruncate.toml b/plugins/fs/permissions/autogenerated/commands/ftruncate.toml new file mode 100644 index 000000000..c249bc937 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/ftruncate.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-ftruncate" +description = "This enables the ftruncate command without any pre-configured accessible paths." +commands.allow = [ + "ftruncate" +] + +[[permission]] +identifier = "deny-ftruncate" +description = "This denies the ftruncate command without any pre-configured accessible paths." +commands.deny = [ + "ftruncate" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/lstat.toml b/plugins/fs/permissions/autogenerated/commands/lstat.toml new file mode 100644 index 000000000..7fed0b283 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/lstat.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-lstat" +description = "This enables the lstat command without any pre-configured accessible paths." +commands.allow = [ + "lstat" +] + +[[permission]] +identifier = "deny-lstat" +description = "This denies the lstat command without any pre-configured accessible paths." +commands.deny = [ + "lstat" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/mkdir.toml b/plugins/fs/permissions/autogenerated/commands/mkdir.toml new file mode 100644 index 000000000..dc0680226 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/mkdir.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-mkdir" +description = "This enables the mkdir command without any pre-configured accessible paths." +commands.allow = [ + "mkdir" +] + +[[permission]] +identifier = "deny-mkdir" +description = "This denies the mkdir command without any pre-configured accessible paths." +commands.deny = [ + "mkdir" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/open.toml b/plugins/fs/permissions/autogenerated/commands/open.toml new file mode 100644 index 000000000..e140bd1c7 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/open.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-open" +description = "This enables the open command without any pre-configured accessible paths." +commands.allow = [ + "open" +] + +[[permission]] +identifier = "deny-open" +description = "This denies the open command without any pre-configured accessible paths." +commands.deny = [ + "open" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read.toml b/plugins/fs/permissions/autogenerated/commands/read.toml new file mode 100644 index 000000000..7a0716ac7 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/read.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-read" +description = "This enables the read command without any pre-configured accessible paths." +commands.allow = [ + "read" +] + +[[permission]] +identifier = "deny-read" +description = "This denies the read command without any pre-configured accessible paths." +commands.deny = [ + "read" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_dir.toml b/plugins/fs/permissions/autogenerated/commands/read_dir.toml new file mode 100644 index 000000000..c4eeca973 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/read_dir.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-read-dir" +description = "This enables the read_dir command without any pre-configured accessible paths." +commands.allow = [ + "read_dir" +] + +[[permission]] +identifier = "deny-read-dir" +description = "This denies the read_dir command without any pre-configured accessible paths." +commands.deny = [ + "read_dir" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_file.toml b/plugins/fs/permissions/autogenerated/commands/read_file.toml new file mode 100644 index 000000000..42a2d048e --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/read_file.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-read-file" +description = "This enables the read_file command without any pre-configured accessible paths." +commands.allow = [ + "read_file" +] + +[[permission]] +identifier = "deny-read-file" +description = "This denies the read_file command without any pre-configured accessible paths." +commands.deny = [ + "read_file" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file.toml new file mode 100644 index 000000000..3022faa03 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-read-text-file" +description = "This enables the read_text_file command without any pre-configured accessible paths." +commands.allow = [ + "read_text_file" +] + +[[permission]] +identifier = "deny-read-text-file" +description = "This denies the read_text_file command without any pre-configured accessible paths." +commands.deny = [ + "read_text_file" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml new file mode 100644 index 000000000..14514802b --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-read-text-file-lines" +description = "This enables the read_text_file_lines command without any pre-configured accessible paths." +commands.allow = [ + "read_text_file_lines" +] + +[[permission]] +identifier = "deny-read-text-file-lines" +description = "This denies the read_text_file_lines command without any pre-configured accessible paths." +commands.deny = [ + "read_text_file_lines" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml new file mode 100644 index 000000000..19237d96a --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-read-text-file-lines-next" +description = "This enables the read_text_file_lines_next command without any pre-configured accessible paths." +commands.allow = [ + "read_text_file_lines_next" +] + +[[permission]] +identifier = "deny-read-text-file-lines-next" +description = "This denies the read_text_file_lines_next command without any pre-configured accessible paths." +commands.deny = [ + "read_text_file_lines_next" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/remove.toml b/plugins/fs/permissions/autogenerated/commands/remove.toml new file mode 100644 index 000000000..ffa586c39 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/remove.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-remove" +description = "This enables the remove command without any pre-configured accessible paths." +commands.allow = [ + "remove" +] + +[[permission]] +identifier = "deny-remove" +description = "This denies the remove command without any pre-configured accessible paths." +commands.deny = [ + "remove" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/rename.toml b/plugins/fs/permissions/autogenerated/commands/rename.toml new file mode 100644 index 000000000..22bbad3a4 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/rename.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-rename" +description = "This enables the rename command without any pre-configured accessible paths." +commands.allow = [ + "rename" +] + +[[permission]] +identifier = "deny-rename" +description = "This denies the rename command without any pre-configured accessible paths." +commands.deny = [ + "rename" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/seek.toml b/plugins/fs/permissions/autogenerated/commands/seek.toml new file mode 100644 index 000000000..e734e9539 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/seek.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-seek" +description = "This enables the seek command without any pre-configured accessible paths." +commands.allow = [ + "seek" +] + +[[permission]] +identifier = "deny-seek" +description = "This denies the seek command without any pre-configured accessible paths." +commands.deny = [ + "seek" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/stat.toml b/plugins/fs/permissions/autogenerated/commands/stat.toml new file mode 100644 index 000000000..7a36e3386 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/stat.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-stat" +description = "This enables the stat command without any pre-configured accessible paths." +commands.allow = [ + "stat" +] + +[[permission]] +identifier = "deny-stat" +description = "This denies the stat command without any pre-configured accessible paths." +commands.deny = [ + "stat" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/truncate.toml b/plugins/fs/permissions/autogenerated/commands/truncate.toml new file mode 100644 index 000000000..648db8d67 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/truncate.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-truncate" +description = "This enables the truncate command without any pre-configured accessible paths." +commands.allow = [ + "truncate" +] + +[[permission]] +identifier = "deny-truncate" +description = "This denies the truncate command without any pre-configured accessible paths." +commands.deny = [ + "truncate" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/unwatch.toml b/plugins/fs/permissions/autogenerated/commands/unwatch.toml new file mode 100644 index 000000000..843bdc17a --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/unwatch.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-unwatch" +description = "This enables the unwatch command without any pre-configured accessible paths." +commands.allow = [ + "unwatch" +] + +[[permission]] +identifier = "deny-unwatch" +description = "This denies the unwatch command without any pre-configured accessible paths." +commands.deny = [ + "unwatch" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/watch.toml b/plugins/fs/permissions/autogenerated/commands/watch.toml new file mode 100644 index 000000000..91620d98a --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/watch.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-watch" +description = "This enables the watch command without any pre-configured accessible paths." +commands.allow = [ + "watch" +] + +[[permission]] +identifier = "deny-watch" +description = "This denies the watch command without any pre-configured accessible paths." +commands.deny = [ + "watch" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/write.toml b/plugins/fs/permissions/autogenerated/commands/write.toml new file mode 100644 index 000000000..a224b84e3 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/write.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-write" +description = "This enables the write command without any pre-configured accessible paths." +commands.allow = [ + "write" +] + +[[permission]] +identifier = "deny-write" +description = "This denies the write command without any pre-configured accessible paths." +commands.deny = [ + "write" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/write_file.toml b/plugins/fs/permissions/autogenerated/commands/write_file.toml new file mode 100644 index 000000000..90502eaf2 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/write_file.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-write-file" +description = "This enables the write_file command without any pre-configured accessible paths." +commands.allow = [ + "write_file" +] + +[[permission]] +identifier = "deny-write-file" +description = "This denies the write_file command without any pre-configured accessible paths." +commands.deny = [ + "write_file" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/write_text_file.toml b/plugins/fs/permissions/autogenerated/commands/write_text_file.toml new file mode 100644 index 000000000..5f6dd3f93 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/commands/write_text_file.toml @@ -0,0 +1,15 @@ +# Automatically generated - DO NOT EDIT! + +[[permission]] +identifier = "allow-write-text-file" +description = "This enables the write_text_file command without any pre-configured accessible paths." +commands.allow = [ + "write_text_file" +] + +[[permission]] +identifier = "deny-write-text-file" +description = "This denies the write_text_file command without any pre-configured accessible paths." +commands.deny = [ + "write_text_file" +] \ No newline at end of file diff --git a/plugins/fs/permissions/default.toml b/plugins/fs/permissions/default.toml new file mode 100644 index 000000000..83d692ded --- /dev/null +++ b/plugins/fs/permissions/default.toml @@ -0,0 +1,30 @@ +[default] +description = """ +# Tauri `fs` default permissions + +This configuration file defines the default permissions granted +to the filesystem. + +### Granted Permissions + +This default permission set enables all read-related commands and +allows access to the `$APP` folder and sub directories created in it. +The location of the `$APP` folder depends on the operating system, +where the application is run. + +In general the `$APP` folder needs to be manually created +by the application at runtime, before accessing files or folders +in it is possible. + +### Denied Permissions + +This default permission set prevents access to critical components +of the Tauri application by default. +On Windows the webview data folder access is denied. + +""" +permissions = [ + "read-all", + "scope-app-recursive", + "deny-default", +] diff --git a/plugins/fs/permissions/deny-default.toml b/plugins/fs/permissions/deny-default.toml new file mode 100644 index 000000000..2fb705af2 --- /dev/null +++ b/plugins/fs/permissions/deny-default.toml @@ -0,0 +1,7 @@ +[[set]] +identifier = "deny-default" +description = "This denies access to dangerous Tauri relevant files and folders by default." +scope.deny = [ + "deny-webview-data-linux", + "deny-webview-data-windows" +] \ No newline at end of file diff --git a/plugins/fs/permissions/deny-webview-data.toml b/plugins/fs/permissions/deny-webview-data.toml new file mode 100644 index 000000000..9c5b37992 --- /dev/null +++ b/plugins/fs/permissions/deny-webview-data.toml @@ -0,0 +1,17 @@ +[[permission]] +identifier = "deny-webview-data-linux" +description = """This denies read access to the +`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here. +Allowing access can lead to sensitive information disclosure and should be well considered.""" + +[[scope.deny]] +path = "$APPLOCALDATA/**" + +[[permission]] +identifier = "deny-webview-data-windows" +description = """This denies read access to the +`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here. +Allowing access can lead to sensitive information disclosure and should be well considered.""" + +[[scope.deny]] +path = "$APPLOCALDATA/EBWebView/**" \ No newline at end of file diff --git a/plugins/fs/permissions/read-all.toml b/plugins/fs/permissions/read-all.toml new file mode 100644 index 000000000..f4e8455ed --- /dev/null +++ b/plugins/fs/permissions/read-all.toml @@ -0,0 +1,18 @@ +identifier = "read-all" +description = "This enables all read related commands without any pre-configured accessible paths." +commands.allow = [ + "read_dir", + "read_file", + "read", + "open", + "read_text_file", + "read_text_file_lines", + "read_text_file_lines_next", + "seek", + "stat", + "lstat", + "fstat", + "exists", + "watch", + "unwatch" +] diff --git a/plugins/fs/permissions/read-dirs.toml b/plugins/fs/permissions/read-dirs.toml new file mode 100644 index 000000000..53d95ba6a --- /dev/null +++ b/plugins/fs/permissions/read-dirs.toml @@ -0,0 +1,9 @@ +identifier = "read-dirs" +description = "This enables directory read and file metadata related commands without any pre-configured accessible paths." +commands.allow = [ + "read_dir", + "stat", + "lstat", + "fstat", + "exists" +] diff --git a/plugins/fs/permissions/read-files.toml b/plugins/fs/permissions/read-files.toml new file mode 100644 index 000000000..9091ab99e --- /dev/null +++ b/plugins/fs/permissions/read-files.toml @@ -0,0 +1,16 @@ +identifier = "read-files" +description = "This enables file read related commands without any pre-configured accessible paths." +commands.allow = [ + "read_file", + "read", + "open", + "read_text_file", + "read_text_file_lines", + "read_text_file_lines_next", + "seek", + "stat", + "lstat", + "fstat", + "exists", + +] diff --git a/plugins/fs/permissions/read-meta.toml b/plugins/fs/permissions/read-meta.toml new file mode 100644 index 000000000..d8e12c6cb --- /dev/null +++ b/plugins/fs/permissions/read-meta.toml @@ -0,0 +1,9 @@ +identifier = "read-meta" +description = "This enables all index or metadata related commands without any pre-configured accessible paths." +commands.allow = [ + "read_dir", + "stat", + "lstat", + "fstat", + "exists" +] diff --git a/plugins/fs/permissions/write-all.toml b/plugins/fs/permissions/write-all.toml new file mode 100644 index 000000000..54fac49f7 --- /dev/null +++ b/plugins/fs/permissions/write-all.toml @@ -0,0 +1,14 @@ +identifier = "write-all" +description = "This enables all write related commands without any pre-configured accessible paths." +commands.allow = [ + "mkdir", + "create", + "copy_file", + "remove", + "rename", + "truncate", + "ftruncate", + "write", + "write_file", + "write_text_file" +] \ No newline at end of file diff --git a/plugins/fs/permissions/write-files.toml b/plugins/fs/permissions/write-files.toml new file mode 100644 index 000000000..4b140f8d0 --- /dev/null +++ b/plugins/fs/permissions/write-files.toml @@ -0,0 +1,13 @@ +identifier = "write-files" +description = "This enables all file write related commands without any pre-configured accessible paths." +commands.allow = [ + "create", + "copy_file", + "remove", + "rename", + "truncate", + "ftruncate", + "write", + "write_file", + "write_text_file" +] \ No newline at end of file From 9243046392c125424baf9043883c3bfe4ae81a77 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sun, 7 Jan 2024 09:41:22 -0300 Subject: [PATCH 02/35] toml fixes, register permissions [skip ci] --- Cargo.lock | 78 +++++++++++++++++++----- Cargo.toml | 5 +- plugins/fs/Cargo.toml | 4 ++ plugins/fs/build.rs | 3 + plugins/fs/permissions/deny-default.toml | 5 +- plugins/fs/permissions/read-all.toml | 3 +- plugins/fs/permissions/read-dirs.toml | 9 +-- plugins/fs/permissions/read-files.toml | 1 + plugins/fs/permissions/read-meta.toml | 9 +-- plugins/fs/permissions/write-all.toml | 5 +- plugins/fs/permissions/write-files.toml | 5 +- 11 files changed, 88 insertions(+), 39 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1eb5ca126..1573b1aa9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -821,6 +821,38 @@ dependencies = [ "system-deps", ] +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "cargo_toml" version = "0.17.0" @@ -3330,6 +3362,12 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + [[package]] name = "md-5" version = "0.10.6" @@ -5770,8 +5808,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05fb63873c39d3fd5ddad995d395e7b7394ece0b69aeacb31e91d24af48f3de1" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" dependencies = [ "anyhow", "bytes 1.5.0", @@ -5802,6 +5839,7 @@ dependencies = [ "serde_repr", "serialize-to-javascript", "state", + "static_assertions", "swift-rs", "tauri-build", "tauri-macros", @@ -5822,8 +5860,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a2582ffb43e5c28932c43ffc40c295a9196a9a33ffb1163269c6baed84834a" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" dependencies = [ "anyhow", "cargo_toml", @@ -5837,6 +5874,7 @@ dependencies = [ "serde_json", "swift-rs", "tauri-codegen", + "tauri-plugin", "tauri-utils", "tauri-winres", "walkdir", @@ -5845,8 +5883,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06976ec7b704d6b842169ffd4ce596e9ce45917a0ab462cb96a119fa2829be9" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" dependencies = [ "base64 0.21.5", "brotli", @@ -5871,8 +5908,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff509be5a5ac34ec2e60d9029af1032c0a33e421f3e823bc92695192e2871c17" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" dependencies = [ "heck", "proc-macro2", @@ -5882,6 +5918,20 @@ dependencies = [ "tauri-utils", ] +[[package]] +name = "tauri-plugin" +version = "0.1.0" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +dependencies = [ + "cargo_metadata", + "glob", + "serde", + "serde_json", + "tauri-utils", + "thiserror", + "toml 0.8.8", +] + [[package]] name = "tauri-plugin-authenticator" version = "2.0.0-alpha.6" @@ -6003,6 +6053,7 @@ dependencies = [ "serde", "serde_repr", "tauri", + "tauri-plugin", "thiserror", "url", "uuid", @@ -6296,8 +6347,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a989e58af6e554dbac798a0a8d112faafc1509bcfab626466181e0724f09c5" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" dependencies = [ "gtk", "http", @@ -6314,8 +6364,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9f181a6f5f982204ae293c19f37ba90116b8ec0bfd0a08c7a7ba67200cd9e3" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6335,8 +6384,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4858f99fc9f28b72008ef51d04d18b7e3646845c2bc18ee340045fed6ed5095" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" dependencies = [ "aes-gcm 0.10.3", "brotli", @@ -6350,6 +6398,7 @@ dependencies = [ "json-patch", "kuchikiki", "log", + "matchit", "memchr", "phf 0.11.2", "proc-macro2", @@ -6360,6 +6409,7 @@ dependencies = [ "serde_with", "serialize-to-javascript", "thiserror", + "toml 0.8.8", "url", "walkdir", ] diff --git a/Cargo.toml b/Cargo.toml index eb8a71801..15f2f9f2a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,8 +10,9 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = "2.0.0-alpha.20" -tauri-build = "2.0.0-alpha.13" +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "feat/allowlist-v2" } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "feat/allowlist-v2" } +tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "feat/allowlist-v2" } serde_json = "1" thiserror = "1" url = "2" diff --git a/plugins/fs/Cargo.toml b/plugins/fs/Cargo.toml index f40d2c7ff..8b1b66ae3 100644 --- a/plugins/fs/Cargo.toml +++ b/plugins/fs/Cargo.toml @@ -6,11 +6,15 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-fs" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +[build-dependencies] +tauri-plugin = { workspace = true, features = [ "build" ] } + [dependencies] serde = { workspace = true } serde_repr = "0.1" diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index 016169a2a..aedbe0a16 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -178,4 +178,7 @@ permissions = [ std::fs::write(base_dirs.join(format!("{lower}.toml")), toml) .expect(&format!("unable to autogenerate ${upper}")); } + + tauri_plugin::acl::define_permissions("./permissions/**/*.toml") + .expect("failed to define plugin permissions"); } diff --git a/plugins/fs/permissions/deny-default.toml b/plugins/fs/permissions/deny-default.toml index 2fb705af2..6140f54bf 100644 --- a/plugins/fs/permissions/deny-default.toml +++ b/plugins/fs/permissions/deny-default.toml @@ -1,7 +1,4 @@ [[set]] identifier = "deny-default" description = "This denies access to dangerous Tauri relevant files and folders by default." -scope.deny = [ - "deny-webview-data-linux", - "deny-webview-data-windows" -] \ No newline at end of file +permissions = ["deny-webview-data-linux", "deny-webview-data-windows"] diff --git a/plugins/fs/permissions/read-all.toml b/plugins/fs/permissions/read-all.toml index f4e8455ed..519741305 100644 --- a/plugins/fs/permissions/read-all.toml +++ b/plugins/fs/permissions/read-all.toml @@ -1,3 +1,4 @@ +[[permission]] identifier = "read-all" description = "This enables all read related commands without any pre-configured accessible paths." commands.allow = [ @@ -14,5 +15,5 @@ commands.allow = [ "fstat", "exists", "watch", - "unwatch" + "unwatch", ] diff --git a/plugins/fs/permissions/read-dirs.toml b/plugins/fs/permissions/read-dirs.toml index 53d95ba6a..859101628 100644 --- a/plugins/fs/permissions/read-dirs.toml +++ b/plugins/fs/permissions/read-dirs.toml @@ -1,9 +1,4 @@ +[[permission]] identifier = "read-dirs" description = "This enables directory read and file metadata related commands without any pre-configured accessible paths." -commands.allow = [ - "read_dir", - "stat", - "lstat", - "fstat", - "exists" -] +commands.allow = ["read_dir", "stat", "lstat", "fstat", "exists"] diff --git a/plugins/fs/permissions/read-files.toml b/plugins/fs/permissions/read-files.toml index 9091ab99e..1f21dd525 100644 --- a/plugins/fs/permissions/read-files.toml +++ b/plugins/fs/permissions/read-files.toml @@ -1,3 +1,4 @@ +[[permission]] identifier = "read-files" description = "This enables file read related commands without any pre-configured accessible paths." commands.allow = [ diff --git a/plugins/fs/permissions/read-meta.toml b/plugins/fs/permissions/read-meta.toml index d8e12c6cb..c971419ba 100644 --- a/plugins/fs/permissions/read-meta.toml +++ b/plugins/fs/permissions/read-meta.toml @@ -1,9 +1,4 @@ +[[permission]] identifier = "read-meta" description = "This enables all index or metadata related commands without any pre-configured accessible paths." -commands.allow = [ - "read_dir", - "stat", - "lstat", - "fstat", - "exists" -] +commands.allow = ["read_dir", "stat", "lstat", "fstat", "exists"] diff --git a/plugins/fs/permissions/write-all.toml b/plugins/fs/permissions/write-all.toml index 54fac49f7..3b4dd6600 100644 --- a/plugins/fs/permissions/write-all.toml +++ b/plugins/fs/permissions/write-all.toml @@ -1,3 +1,4 @@ +[[permission]] identifier = "write-all" description = "This enables all write related commands without any pre-configured accessible paths." commands.allow = [ @@ -10,5 +11,5 @@ commands.allow = [ "ftruncate", "write", "write_file", - "write_text_file" -] \ No newline at end of file + "write_text_file", +] diff --git a/plugins/fs/permissions/write-files.toml b/plugins/fs/permissions/write-files.toml index 4b140f8d0..1091a0e3c 100644 --- a/plugins/fs/permissions/write-files.toml +++ b/plugins/fs/permissions/write-files.toml @@ -1,3 +1,4 @@ +[[permission]] identifier = "write-files" description = "This enables all file write related commands without any pre-configured accessible paths." commands.allow = [ @@ -9,5 +10,5 @@ commands.allow = [ "ftruncate", "write", "write_file", - "write_text_file" -] \ No newline at end of file + "write_text_file", +] From fbf72c22d0cc66e30e3d433bd2e761e65103e7f6 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Thu, 11 Jan 2024 21:58:29 -0300 Subject: [PATCH 03/35] update to latest tauri [skip ci] --- Cargo.lock | 25 ++++++-------- examples/api/src-tauri/build.rs | 3 +- plugins/fs/build.rs | 34 +------------------ .../autogenerated/commands/copy_file.toml | 4 +-- .../autogenerated/commands/create.toml | 4 +-- .../autogenerated/commands/exists.toml | 4 +-- .../autogenerated/commands/fstat.toml | 4 +-- .../autogenerated/commands/ftruncate.toml | 4 +-- .../autogenerated/commands/lstat.toml | 4 +-- .../autogenerated/commands/mkdir.toml | 4 +-- .../autogenerated/commands/open.toml | 4 +-- .../autogenerated/commands/read.toml | 4 +-- .../autogenerated/commands/read_dir.toml | 4 +-- .../autogenerated/commands/read_file.toml | 4 +-- .../commands/read_text_file.toml | 4 +-- .../commands/read_text_file_lines.toml | 4 +-- .../commands/read_text_file_lines_next.toml | 4 +-- .../autogenerated/commands/remove.toml | 4 +-- .../autogenerated/commands/rename.toml | 4 +-- .../autogenerated/commands/seek.toml | 4 +-- .../autogenerated/commands/stat.toml | 4 +-- .../autogenerated/commands/truncate.toml | 4 +-- .../autogenerated/commands/unwatch.toml | 4 +-- .../autogenerated/commands/watch.toml | 4 +-- .../autogenerated/commands/write.toml | 4 +-- .../autogenerated/commands/write_file.toml | 4 +-- .../commands/write_text_file.toml | 4 +-- 27 files changed, 61 insertions(+), 97 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1573b1aa9..be08fad30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3362,12 +3362,6 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "md-5" version = "0.10.6" @@ -5808,7 +5802,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.20" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" dependencies = [ "anyhow", "bytes 1.5.0", @@ -5860,11 +5854,12 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" dependencies = [ "anyhow", "cargo_toml", "dirs-next", + "glob", "heck", "json-patch", "plist", @@ -5877,13 +5872,14 @@ dependencies = [ "tauri-plugin", "tauri-utils", "tauri-winres", + "toml 0.8.8", "walkdir", ] [[package]] name = "tauri-codegen" version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" dependencies = [ "base64 0.21.5", "brotli", @@ -5908,7 +5904,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" dependencies = [ "heck", "proc-macro2", @@ -5921,7 +5917,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "0.1.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" dependencies = [ "cargo_metadata", "glob", @@ -6347,7 +6343,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.7" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" dependencies = [ "gtk", "http", @@ -6364,7 +6360,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6384,7 +6380,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#5db52172d9ff875a219f76bce14d69c2013f6dc4" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" dependencies = [ "aes-gcm 0.10.3", "brotli", @@ -6398,7 +6394,6 @@ dependencies = [ "json-patch", "kuchikiki", "log", - "matchit", "memchr", "phf 0.11.2", "proc-macro2", diff --git a/examples/api/src-tauri/build.rs b/examples/api/src-tauri/build.rs index e9f99b296..21901574c 100644 --- a/examples/api/src-tauri/build.rs +++ b/examples/api/src-tauri/build.rs @@ -3,10 +3,11 @@ // SPDX-License-Identifier: MIT fn main() { + tauri_build::build(); + let mut codegen = tauri_build::CodegenContext::new(); if !cfg!(feature = "custom-protocol") { codegen = codegen.dev(); } codegen.build(); - tauri_build::build(); } diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index aedbe0a16..790107092 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -57,42 +57,11 @@ const COMMANDS: &[&str] = &[ fn main() { let autogenerated = Path::new("permissions/autogenerated/"); let base_dirs = &autogenerated.join("base-directories"); - let commands_dir = &autogenerated.join("commands"); if !base_dirs.exists() { create_dir_all(base_dirs).expect("unable to create autogenerated base directories dir"); } - if !commands_dir.exists() { - create_dir_all(commands_dir).expect("unable to create autogenerated commands dir"); - } - - for command in COMMANDS { - let slugified_command = command.replace("_", "-"); - let toml = format!( - r###"# Automatically generated - DO NOT EDIT! - -[[permission]] -identifier = "allow-{slugified_command}" -description = "This enables the {command} command without any pre-configured accessible paths." -commands.allow = [ - "{command}" -] - -[[permission]] -identifier = "deny-{slugified_command}" -description = "This denies the {command} command without any pre-configured accessible paths." -commands.deny = [ - "{command}" -]"###, - command = command, - slugified_command = slugified_command - ); - - std::fs::write(commands_dir.join(format!("{command}.toml")), toml) - .expect(&format!("unable to autogenerate ${command}.toml")); - } - for base_dir in BASE_DIR_VARS { let upper = base_dir; let lower = base_dir.to_lowercase(); @@ -179,6 +148,5 @@ permissions = [ .expect(&format!("unable to autogenerate ${upper}")); } - tauri_plugin::acl::define_permissions("./permissions/**/*.toml") - .expect("failed to define plugin permissions"); + tauri_plugin::Builder::new(COMMANDS).build(); } diff --git a/plugins/fs/permissions/autogenerated/commands/copy_file.toml b/plugins/fs/permissions/autogenerated/commands/copy_file.toml index d764ea27e..c51fa24ba 100644 --- a/plugins/fs/permissions/autogenerated/commands/copy_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/copy_file.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-copy-file" -description = "This enables the copy_file command without any pre-configured accessible paths." +description = "This enables the copy_file command without any pre-configured scope." commands.allow = [ "copy_file" ] [[permission]] identifier = "deny-copy-file" -description = "This denies the copy_file command without any pre-configured accessible paths." +description = "This denies the copy_file command without any pre-configured scope." commands.deny = [ "copy_file" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/create.toml b/plugins/fs/permissions/autogenerated/commands/create.toml index 732e7d27d..309ce1f3f 100644 --- a/plugins/fs/permissions/autogenerated/commands/create.toml +++ b/plugins/fs/permissions/autogenerated/commands/create.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-create" -description = "This enables the create command without any pre-configured accessible paths." +description = "This enables the create command without any pre-configured scope." commands.allow = [ "create" ] [[permission]] identifier = "deny-create" -description = "This denies the create command without any pre-configured accessible paths." +description = "This denies the create command without any pre-configured scope." commands.deny = [ "create" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/exists.toml b/plugins/fs/permissions/autogenerated/commands/exists.toml index 74ad47bba..8dc5b9b1f 100644 --- a/plugins/fs/permissions/autogenerated/commands/exists.toml +++ b/plugins/fs/permissions/autogenerated/commands/exists.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-exists" -description = "This enables the exists command without any pre-configured accessible paths." +description = "This enables the exists command without any pre-configured scope." commands.allow = [ "exists" ] [[permission]] identifier = "deny-exists" -description = "This denies the exists command without any pre-configured accessible paths." +description = "This denies the exists command without any pre-configured scope." commands.deny = [ "exists" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/fstat.toml b/plugins/fs/permissions/autogenerated/commands/fstat.toml index bca956e80..896b77b40 100644 --- a/plugins/fs/permissions/autogenerated/commands/fstat.toml +++ b/plugins/fs/permissions/autogenerated/commands/fstat.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-fstat" -description = "This enables the fstat command without any pre-configured accessible paths." +description = "This enables the fstat command without any pre-configured scope." commands.allow = [ "fstat" ] [[permission]] identifier = "deny-fstat" -description = "This denies the fstat command without any pre-configured accessible paths." +description = "This denies the fstat command without any pre-configured scope." commands.deny = [ "fstat" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/ftruncate.toml b/plugins/fs/permissions/autogenerated/commands/ftruncate.toml index c249bc937..2d77e2c4a 100644 --- a/plugins/fs/permissions/autogenerated/commands/ftruncate.toml +++ b/plugins/fs/permissions/autogenerated/commands/ftruncate.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-ftruncate" -description = "This enables the ftruncate command without any pre-configured accessible paths." +description = "This enables the ftruncate command without any pre-configured scope." commands.allow = [ "ftruncate" ] [[permission]] identifier = "deny-ftruncate" -description = "This denies the ftruncate command without any pre-configured accessible paths." +description = "This denies the ftruncate command without any pre-configured scope." commands.deny = [ "ftruncate" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/lstat.toml b/plugins/fs/permissions/autogenerated/commands/lstat.toml index 7fed0b283..d45f1babf 100644 --- a/plugins/fs/permissions/autogenerated/commands/lstat.toml +++ b/plugins/fs/permissions/autogenerated/commands/lstat.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-lstat" -description = "This enables the lstat command without any pre-configured accessible paths." +description = "This enables the lstat command without any pre-configured scope." commands.allow = [ "lstat" ] [[permission]] identifier = "deny-lstat" -description = "This denies the lstat command without any pre-configured accessible paths." +description = "This denies the lstat command without any pre-configured scope." commands.deny = [ "lstat" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/mkdir.toml b/plugins/fs/permissions/autogenerated/commands/mkdir.toml index dc0680226..9e17feb39 100644 --- a/plugins/fs/permissions/autogenerated/commands/mkdir.toml +++ b/plugins/fs/permissions/autogenerated/commands/mkdir.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-mkdir" -description = "This enables the mkdir command without any pre-configured accessible paths." +description = "This enables the mkdir command without any pre-configured scope." commands.allow = [ "mkdir" ] [[permission]] identifier = "deny-mkdir" -description = "This denies the mkdir command without any pre-configured accessible paths." +description = "This denies the mkdir command without any pre-configured scope." commands.deny = [ "mkdir" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/open.toml b/plugins/fs/permissions/autogenerated/commands/open.toml index e140bd1c7..7cb7ad408 100644 --- a/plugins/fs/permissions/autogenerated/commands/open.toml +++ b/plugins/fs/permissions/autogenerated/commands/open.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-open" -description = "This enables the open command without any pre-configured accessible paths." +description = "This enables the open command without any pre-configured scope." commands.allow = [ "open" ] [[permission]] identifier = "deny-open" -description = "This denies the open command without any pre-configured accessible paths." +description = "This denies the open command without any pre-configured scope." commands.deny = [ "open" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read.toml b/plugins/fs/permissions/autogenerated/commands/read.toml index 7a0716ac7..6068133e1 100644 --- a/plugins/fs/permissions/autogenerated/commands/read.toml +++ b/plugins/fs/permissions/autogenerated/commands/read.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-read" -description = "This enables the read command without any pre-configured accessible paths." +description = "This enables the read command without any pre-configured scope." commands.allow = [ "read" ] [[permission]] identifier = "deny-read" -description = "This denies the read command without any pre-configured accessible paths." +description = "This denies the read command without any pre-configured scope." commands.deny = [ "read" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_dir.toml b/plugins/fs/permissions/autogenerated/commands/read_dir.toml index c4eeca973..c5c1a1212 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_dir.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_dir.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-read-dir" -description = "This enables the read_dir command without any pre-configured accessible paths." +description = "This enables the read_dir command without any pre-configured scope." commands.allow = [ "read_dir" ] [[permission]] identifier = "deny-read-dir" -description = "This denies the read_dir command without any pre-configured accessible paths." +description = "This denies the read_dir command without any pre-configured scope." commands.deny = [ "read_dir" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_file.toml b/plugins/fs/permissions/autogenerated/commands/read_file.toml index 42a2d048e..ff6526f5b 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_file.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-read-file" -description = "This enables the read_file command without any pre-configured accessible paths." +description = "This enables the read_file command without any pre-configured scope." commands.allow = [ "read_file" ] [[permission]] identifier = "deny-read-file" -description = "This denies the read_file command without any pre-configured accessible paths." +description = "This denies the read_file command without any pre-configured scope." commands.deny = [ "read_file" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file.toml index 3022faa03..33f69689e 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-read-text-file" -description = "This enables the read_text_file command without any pre-configured accessible paths." +description = "This enables the read_text_file command without any pre-configured scope." commands.allow = [ "read_text_file" ] [[permission]] identifier = "deny-read-text-file" -description = "This denies the read_text_file command without any pre-configured accessible paths." +description = "This denies the read_text_file command without any pre-configured scope." commands.deny = [ "read_text_file" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml index 14514802b..eb6e6904d 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-read-text-file-lines" -description = "This enables the read_text_file_lines command without any pre-configured accessible paths." +description = "This enables the read_text_file_lines command without any pre-configured scope." commands.allow = [ "read_text_file_lines" ] [[permission]] identifier = "deny-read-text-file-lines" -description = "This denies the read_text_file_lines command without any pre-configured accessible paths." +description = "This denies the read_text_file_lines command without any pre-configured scope." commands.deny = [ "read_text_file_lines" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml index 19237d96a..2aeb84cb7 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-read-text-file-lines-next" -description = "This enables the read_text_file_lines_next command without any pre-configured accessible paths." +description = "This enables the read_text_file_lines_next command without any pre-configured scope." commands.allow = [ "read_text_file_lines_next" ] [[permission]] identifier = "deny-read-text-file-lines-next" -description = "This denies the read_text_file_lines_next command without any pre-configured accessible paths." +description = "This denies the read_text_file_lines_next command without any pre-configured scope." commands.deny = [ "read_text_file_lines_next" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/remove.toml b/plugins/fs/permissions/autogenerated/commands/remove.toml index ffa586c39..c211a1a22 100644 --- a/plugins/fs/permissions/autogenerated/commands/remove.toml +++ b/plugins/fs/permissions/autogenerated/commands/remove.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-remove" -description = "This enables the remove command without any pre-configured accessible paths." +description = "This enables the remove command without any pre-configured scope." commands.allow = [ "remove" ] [[permission]] identifier = "deny-remove" -description = "This denies the remove command without any pre-configured accessible paths." +description = "This denies the remove command without any pre-configured scope." commands.deny = [ "remove" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/rename.toml b/plugins/fs/permissions/autogenerated/commands/rename.toml index 22bbad3a4..e11b0d944 100644 --- a/plugins/fs/permissions/autogenerated/commands/rename.toml +++ b/plugins/fs/permissions/autogenerated/commands/rename.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-rename" -description = "This enables the rename command without any pre-configured accessible paths." +description = "This enables the rename command without any pre-configured scope." commands.allow = [ "rename" ] [[permission]] identifier = "deny-rename" -description = "This denies the rename command without any pre-configured accessible paths." +description = "This denies the rename command without any pre-configured scope." commands.deny = [ "rename" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/seek.toml b/plugins/fs/permissions/autogenerated/commands/seek.toml index e734e9539..90bb8ead7 100644 --- a/plugins/fs/permissions/autogenerated/commands/seek.toml +++ b/plugins/fs/permissions/autogenerated/commands/seek.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-seek" -description = "This enables the seek command without any pre-configured accessible paths." +description = "This enables the seek command without any pre-configured scope." commands.allow = [ "seek" ] [[permission]] identifier = "deny-seek" -description = "This denies the seek command without any pre-configured accessible paths." +description = "This denies the seek command without any pre-configured scope." commands.deny = [ "seek" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/stat.toml b/plugins/fs/permissions/autogenerated/commands/stat.toml index 7a36e3386..7e911ee22 100644 --- a/plugins/fs/permissions/autogenerated/commands/stat.toml +++ b/plugins/fs/permissions/autogenerated/commands/stat.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-stat" -description = "This enables the stat command without any pre-configured accessible paths." +description = "This enables the stat command without any pre-configured scope." commands.allow = [ "stat" ] [[permission]] identifier = "deny-stat" -description = "This denies the stat command without any pre-configured accessible paths." +description = "This denies the stat command without any pre-configured scope." commands.deny = [ "stat" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/truncate.toml b/plugins/fs/permissions/autogenerated/commands/truncate.toml index 648db8d67..b7adb0382 100644 --- a/plugins/fs/permissions/autogenerated/commands/truncate.toml +++ b/plugins/fs/permissions/autogenerated/commands/truncate.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-truncate" -description = "This enables the truncate command without any pre-configured accessible paths." +description = "This enables the truncate command without any pre-configured scope." commands.allow = [ "truncate" ] [[permission]] identifier = "deny-truncate" -description = "This denies the truncate command without any pre-configured accessible paths." +description = "This denies the truncate command without any pre-configured scope." commands.deny = [ "truncate" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/unwatch.toml b/plugins/fs/permissions/autogenerated/commands/unwatch.toml index 843bdc17a..9a28e6de6 100644 --- a/plugins/fs/permissions/autogenerated/commands/unwatch.toml +++ b/plugins/fs/permissions/autogenerated/commands/unwatch.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-unwatch" -description = "This enables the unwatch command without any pre-configured accessible paths." +description = "This enables the unwatch command without any pre-configured scope." commands.allow = [ "unwatch" ] [[permission]] identifier = "deny-unwatch" -description = "This denies the unwatch command without any pre-configured accessible paths." +description = "This denies the unwatch command without any pre-configured scope." commands.deny = [ "unwatch" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/watch.toml b/plugins/fs/permissions/autogenerated/commands/watch.toml index 91620d98a..a86dea9a5 100644 --- a/plugins/fs/permissions/autogenerated/commands/watch.toml +++ b/plugins/fs/permissions/autogenerated/commands/watch.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-watch" -description = "This enables the watch command without any pre-configured accessible paths." +description = "This enables the watch command without any pre-configured scope." commands.allow = [ "watch" ] [[permission]] identifier = "deny-watch" -description = "This denies the watch command without any pre-configured accessible paths." +description = "This denies the watch command without any pre-configured scope." commands.deny = [ "watch" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/write.toml b/plugins/fs/permissions/autogenerated/commands/write.toml index a224b84e3..d0978f611 100644 --- a/plugins/fs/permissions/autogenerated/commands/write.toml +++ b/plugins/fs/permissions/autogenerated/commands/write.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-write" -description = "This enables the write command without any pre-configured accessible paths." +description = "This enables the write command without any pre-configured scope." commands.allow = [ "write" ] [[permission]] identifier = "deny-write" -description = "This denies the write command without any pre-configured accessible paths." +description = "This denies the write command without any pre-configured scope." commands.deny = [ "write" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/write_file.toml b/plugins/fs/permissions/autogenerated/commands/write_file.toml index 90502eaf2..b6fe24f5c 100644 --- a/plugins/fs/permissions/autogenerated/commands/write_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/write_file.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-write-file" -description = "This enables the write_file command without any pre-configured accessible paths." +description = "This enables the write_file command without any pre-configured scope." commands.allow = [ "write_file" ] [[permission]] identifier = "deny-write-file" -description = "This denies the write_file command without any pre-configured accessible paths." +description = "This denies the write_file command without any pre-configured scope." commands.deny = [ "write_file" ] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/commands/write_text_file.toml b/plugins/fs/permissions/autogenerated/commands/write_text_file.toml index 5f6dd3f93..a6ca653f1 100644 --- a/plugins/fs/permissions/autogenerated/commands/write_text_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/write_text_file.toml @@ -2,14 +2,14 @@ [[permission]] identifier = "allow-write-text-file" -description = "This enables the write_text_file command without any pre-configured accessible paths." +description = "This enables the write_text_file command without any pre-configured scope." commands.allow = [ "write_text_file" ] [[permission]] identifier = "deny-write-text-file" -description = "This denies the write_text_file command without any pre-configured accessible paths." +description = "This denies the write_text_file command without any pre-configured scope." commands.deny = [ "write_text_file" ] \ No newline at end of file From da791f0dbd17fd6875edab5d5aa7eada53c6a828 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Mon, 15 Jan 2024 16:37:58 -0300 Subject: [PATCH 04/35] update tauri, fix scopes, add schema [skip ci] --- Cargo.lock | 65 ++++- plugins/fs/build.rs | 8 +- plugins/fs/permissions/.schema.json | 261 ++++++++++++++++++ .../autogenerated/base-directories/app.toml | 8 +- .../base-directories/appcache.toml | 8 +- .../base-directories/appconfig.toml | 8 +- .../base-directories/appdata.toml | 8 +- .../base-directories/applocaldata.toml | 8 +- .../base-directories/applog.toml | 8 +- .../autogenerated/base-directories/audio.toml | 8 +- .../autogenerated/base-directories/cache.toml | 8 +- .../base-directories/config.toml | 8 +- .../autogenerated/base-directories/data.toml | 8 +- .../base-directories/desktop.toml | 8 +- .../base-directories/document.toml | 8 +- .../base-directories/download.toml | 8 +- .../autogenerated/base-directories/exe.toml | 8 +- .../autogenerated/base-directories/font.toml | 8 +- .../autogenerated/base-directories/home.toml | 8 +- .../base-directories/localdata.toml | 8 +- .../autogenerated/base-directories/log.toml | 8 +- .../base-directories/picture.toml | 8 +- .../base-directories/public.toml | 8 +- .../base-directories/resource.toml | 8 +- .../base-directories/runtime.toml | 8 +- .../autogenerated/base-directories/temp.toml | 8 +- .../base-directories/template.toml | 8 +- .../autogenerated/base-directories/video.toml | 8 +- .../autogenerated/commands/copy_file.toml | 14 +- .../autogenerated/commands/create.toml | 14 +- .../autogenerated/commands/exists.toml | 14 +- .../autogenerated/commands/fstat.toml | 14 +- .../autogenerated/commands/ftruncate.toml | 14 +- .../autogenerated/commands/lstat.toml | 14 +- .../autogenerated/commands/mkdir.toml | 14 +- .../autogenerated/commands/open.toml | 14 +- .../autogenerated/commands/read.toml | 14 +- .../autogenerated/commands/read_dir.toml | 14 +- .../autogenerated/commands/read_file.toml | 14 +- .../commands/read_text_file.toml | 14 +- .../commands/read_text_file_lines.toml | 14 +- .../commands/read_text_file_lines_next.toml | 14 +- .../autogenerated/commands/remove.toml | 14 +- .../autogenerated/commands/rename.toml | 14 +- .../autogenerated/commands/seek.toml | 14 +- .../autogenerated/commands/stat.toml | 14 +- .../autogenerated/commands/truncate.toml | 14 +- .../autogenerated/commands/unwatch.toml | 14 +- .../autogenerated/commands/watch.toml | 14 +- .../autogenerated/commands/write.toml | 14 +- .../autogenerated/commands/write_file.toml | 14 +- .../commands/write_text_file.toml | 14 +- plugins/fs/permissions/default.toml | 8 +- plugins/fs/permissions/deny-default.toml | 2 + plugins/fs/permissions/deny-webview-data.toml | 4 +- plugins/fs/permissions/read-all.toml | 2 + plugins/fs/permissions/read-dirs.toml | 2 + plugins/fs/permissions/read-files.toml | 2 + plugins/fs/permissions/read-meta.toml | 2 + plugins/fs/permissions/write-all.toml | 2 + plugins/fs/permissions/write-files.toml | 2 + 61 files changed, 610 insertions(+), 286 deletions(-) create mode 100644 plugins/fs/permissions/.schema.json diff --git a/Cargo.lock b/Cargo.lock index be08fad30..3b5596b86 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1569,6 +1569,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +[[package]] +name = "dyn-clone" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -4919,6 +4925,31 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "schemars" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", + "url", +] + +[[package]] +name = "schemars_derive" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 1.0.109", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -5013,6 +5044,17 @@ dependencies = [ "syn 2.0.39", ] +[[package]] +name = "serde_derive_internals" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "serde_json" version = "1.0.108" @@ -5802,7 +5844,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.20" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" dependencies = [ "anyhow", "bytes 1.5.0", @@ -5854,7 +5896,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" dependencies = [ "anyhow", "cargo_toml", @@ -5864,12 +5906,12 @@ dependencies = [ "json-patch", "plist", "quote", + "schemars", "semver", "serde", "serde_json", "swift-rs", "tauri-codegen", - "tauri-plugin", "tauri-utils", "tauri-winres", "toml 0.8.8", @@ -5879,7 +5921,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" dependencies = [ "base64 0.21.5", "brotli", @@ -5904,7 +5946,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" dependencies = [ "heck", "proc-macro2", @@ -5917,14 +5959,15 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "0.1.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" dependencies = [ "cargo_metadata", "glob", + "schemars", "serde", "serde_json", + "tauri", "tauri-utils", - "thiserror", "toml 0.8.8", ] @@ -6343,7 +6386,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.7" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" dependencies = [ "gtk", "http", @@ -6360,7 +6403,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6380,10 +6423,11 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ddd898c6a9cf07ef7ebafce4ad1261f1fe86c75c" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" dependencies = [ "aes-gcm 0.10.3", "brotli", + "cargo_metadata", "ctor", "dunce", "getrandom 0.2.11", @@ -6398,6 +6442,7 @@ dependencies = [ "phf 0.11.2", "proc-macro2", "quote", + "schemars", "semver", "serde", "serde_json", diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index 790107092..250ffa21b 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -68,6 +68,8 @@ fn main() { let toml = format!( r###"# Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -75,21 +77,21 @@ fn main() { identifier = "scope-{lower}-recursive" description = "This scope recursive access to the complete `${upper}` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "${upper}/**" [[permission]] identifier = "scope-{lower}" description = "This scope permits access to all files and list content of top level directories in the `${upper}`folder." -[[scope.allow]] +[permission.scope.allow] path = "${upper}/*" [[permission]] identifier = "scope-{lower}-index" description = "This scope permits to list all files and folders in the `${upper}`folder." -[[scope.allow]] +[permission.scope.allow] path = "${upper}/" # Sets Section diff --git a/plugins/fs/permissions/.schema.json b/plugins/fs/permissions/.schema.json new file mode 100644 index 000000000..d35823e90 --- /dev/null +++ b/plugins/fs/permissions/.schema.json @@ -0,0 +1,261 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionSet": { + "description": "A set of permissions or other permission sets.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "anyOf": [ + { + "$ref": "#/definitions/Value" + }, + { + "type": "null" + } + ] + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "anyOf": [ + { + "$ref": "#/definitions/Value" + }, + { + "type": "null" + } + ] + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/app.toml b/plugins/fs/permissions/autogenerated/base-directories/app.toml index 4fc981963..6d09dc72a 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/app.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/app.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-app-recursive" description = "This scope recursive access to the complete `$APP` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$APP/**" [[permission]] identifier = "scope-app" description = "This scope permits access to all files and list content of top level directories in the `$APP`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APP/*" [[permission]] identifier = "scope-app-index" description = "This scope permits to list all files and folders in the `$APP`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APP/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml index a36da6744..353923deb 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-appcache-recursive" description = "This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$APPCACHE/**" [[permission]] identifier = "scope-appcache" description = "This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPCACHE/*" [[permission]] identifier = "scope-appcache-index" description = "This scope permits to list all files and folders in the `$APPCACHE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPCACHE/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml index 56032c602..328f98fc4 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-appconfig-recursive" description = "This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$APPCONFIG/**" [[permission]] identifier = "scope-appconfig" description = "This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPCONFIG/*" [[permission]] identifier = "scope-appconfig-index" description = "This scope permits to list all files and folders in the `$APPCONFIG`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPCONFIG/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml index af2278e0c..75cc64c8c 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-appdata-recursive" description = "This scope recursive access to the complete `$APPDATA` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$APPDATA/**" [[permission]] identifier = "scope-appdata" description = "This scope permits access to all files and list content of top level directories in the `$APPDATA`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPDATA/*" [[permission]] identifier = "scope-appdata-index" description = "This scope permits to list all files and folders in the `$APPDATA`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPDATA/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml index 3f2c5ebca..f328dbd3f 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-applocaldata-recursive" description = "This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$APPLOCALDATA/**" [[permission]] identifier = "scope-applocaldata" description = "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPLOCALDATA/*" [[permission]] identifier = "scope-applocaldata-index" description = "This scope permits to list all files and folders in the `$APPLOCALDATA`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPLOCALDATA/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/applog.toml b/plugins/fs/permissions/autogenerated/base-directories/applog.toml index 6d8d2c369..929eea73d 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/applog.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/applog.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-applog-recursive" description = "This scope recursive access to the complete `$APPLOG` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$APPLOG/**" [[permission]] identifier = "scope-applog" description = "This scope permits access to all files and list content of top level directories in the `$APPLOG`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPLOG/*" [[permission]] identifier = "scope-applog-index" description = "This scope permits to list all files and folders in the `$APPLOG`folder." -[[scope.allow]] +[permission.scope.allow] path = "$APPLOG/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/audio.toml b/plugins/fs/permissions/autogenerated/base-directories/audio.toml index 30ce5e954..2faa91037 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/audio.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/audio.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-audio-recursive" description = "This scope recursive access to the complete `$AUDIO` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$AUDIO/**" [[permission]] identifier = "scope-audio" description = "This scope permits access to all files and list content of top level directories in the `$AUDIO`folder." -[[scope.allow]] +[permission.scope.allow] path = "$AUDIO/*" [[permission]] identifier = "scope-audio-index" description = "This scope permits to list all files and folders in the `$AUDIO`folder." -[[scope.allow]] +[permission.scope.allow] path = "$AUDIO/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/cache.toml b/plugins/fs/permissions/autogenerated/base-directories/cache.toml index 360e069b8..00ebe988d 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/cache.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/cache.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-cache-recursive" description = "This scope recursive access to the complete `$CACHE` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$CACHE/**" [[permission]] identifier = "scope-cache" description = "This scope permits access to all files and list content of top level directories in the `$CACHE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$CACHE/*" [[permission]] identifier = "scope-cache-index" description = "This scope permits to list all files and folders in the `$CACHE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$CACHE/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/config.toml b/plugins/fs/permissions/autogenerated/base-directories/config.toml index c98da1da0..70f8942af 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/config.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/config.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-config-recursive" description = "This scope recursive access to the complete `$CONFIG` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$CONFIG/**" [[permission]] identifier = "scope-config" description = "This scope permits access to all files and list content of top level directories in the `$CONFIG`folder." -[[scope.allow]] +[permission.scope.allow] path = "$CONFIG/*" [[permission]] identifier = "scope-config-index" description = "This scope permits to list all files and folders in the `$CONFIG`folder." -[[scope.allow]] +[permission.scope.allow] path = "$CONFIG/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/data.toml b/plugins/fs/permissions/autogenerated/base-directories/data.toml index 192ee1f73..78ed63064 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/data.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/data.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-data-recursive" description = "This scope recursive access to the complete `$DATA` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$DATA/**" [[permission]] identifier = "scope-data" description = "This scope permits access to all files and list content of top level directories in the `$DATA`folder." -[[scope.allow]] +[permission.scope.allow] path = "$DATA/*" [[permission]] identifier = "scope-data-index" description = "This scope permits to list all files and folders in the `$DATA`folder." -[[scope.allow]] +[permission.scope.allow] path = "$DATA/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml index 220928120..4f36c37fa 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-desktop-recursive" description = "This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$DESKTOP/**" [[permission]] identifier = "scope-desktop" description = "This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder." -[[scope.allow]] +[permission.scope.allow] path = "$DESKTOP/*" [[permission]] identifier = "scope-desktop-index" description = "This scope permits to list all files and folders in the `$DESKTOP`folder." -[[scope.allow]] +[permission.scope.allow] path = "$DESKTOP/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/document.toml b/plugins/fs/permissions/autogenerated/base-directories/document.toml index 25f410f73..5fd11c841 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/document.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/document.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-document-recursive" description = "This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$DOCUMENT/**" [[permission]] identifier = "scope-document" description = "This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder." -[[scope.allow]] +[permission.scope.allow] path = "$DOCUMENT/*" [[permission]] identifier = "scope-document-index" description = "This scope permits to list all files and folders in the `$DOCUMENT`folder." -[[scope.allow]] +[permission.scope.allow] path = "$DOCUMENT/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/download.toml b/plugins/fs/permissions/autogenerated/base-directories/download.toml index 8fde4b917..6e793c030 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/download.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/download.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-download-recursive" description = "This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$DOWNLOAD/**" [[permission]] identifier = "scope-download" description = "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder." -[[scope.allow]] +[permission.scope.allow] path = "$DOWNLOAD/*" [[permission]] identifier = "scope-download-index" description = "This scope permits to list all files and folders in the `$DOWNLOAD`folder." -[[scope.allow]] +[permission.scope.allow] path = "$DOWNLOAD/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/exe.toml b/plugins/fs/permissions/autogenerated/base-directories/exe.toml index fafdcf8a7..fb6f0c788 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/exe.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/exe.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-exe-recursive" description = "This scope recursive access to the complete `$EXE` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$EXE/**" [[permission]] identifier = "scope-exe" description = "This scope permits access to all files and list content of top level directories in the `$EXE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$EXE/*" [[permission]] identifier = "scope-exe-index" description = "This scope permits to list all files and folders in the `$EXE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$EXE/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/font.toml b/plugins/fs/permissions/autogenerated/base-directories/font.toml index 84d94d0aa..637380c7e 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/font.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/font.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-font-recursive" description = "This scope recursive access to the complete `$FONT` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$FONT/**" [[permission]] identifier = "scope-font" description = "This scope permits access to all files and list content of top level directories in the `$FONT`folder." -[[scope.allow]] +[permission.scope.allow] path = "$FONT/*" [[permission]] identifier = "scope-font-index" description = "This scope permits to list all files and folders in the `$FONT`folder." -[[scope.allow]] +[permission.scope.allow] path = "$FONT/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/home.toml b/plugins/fs/permissions/autogenerated/base-directories/home.toml index 0e2e954b3..a3c24f4ed 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/home.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/home.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-home-recursive" description = "This scope recursive access to the complete `$HOME` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$HOME/**" [[permission]] identifier = "scope-home" description = "This scope permits access to all files and list content of top level directories in the `$HOME`folder." -[[scope.allow]] +[permission.scope.allow] path = "$HOME/*" [[permission]] identifier = "scope-home-index" description = "This scope permits to list all files and folders in the `$HOME`folder." -[[scope.allow]] +[permission.scope.allow] path = "$HOME/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml index e9fbc0684..518b23c02 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-localdata-recursive" description = "This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$LOCALDATA/**" [[permission]] identifier = "scope-localdata" description = "This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder." -[[scope.allow]] +[permission.scope.allow] path = "$LOCALDATA/*" [[permission]] identifier = "scope-localdata-index" description = "This scope permits to list all files and folders in the `$LOCALDATA`folder." -[[scope.allow]] +[permission.scope.allow] path = "$LOCALDATA/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/log.toml b/plugins/fs/permissions/autogenerated/base-directories/log.toml index 947b4dc41..35f373e91 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/log.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/log.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-log-recursive" description = "This scope recursive access to the complete `$LOG` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$LOG/**" [[permission]] identifier = "scope-log" description = "This scope permits access to all files and list content of top level directories in the `$LOG`folder." -[[scope.allow]] +[permission.scope.allow] path = "$LOG/*" [[permission]] identifier = "scope-log-index" description = "This scope permits to list all files and folders in the `$LOG`folder." -[[scope.allow]] +[permission.scope.allow] path = "$LOG/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/picture.toml b/plugins/fs/permissions/autogenerated/base-directories/picture.toml index 811c794d2..4872bdf69 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/picture.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/picture.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-picture-recursive" description = "This scope recursive access to the complete `$PICTURE` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$PICTURE/**" [[permission]] identifier = "scope-picture" description = "This scope permits access to all files and list content of top level directories in the `$PICTURE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$PICTURE/*" [[permission]] identifier = "scope-picture-index" description = "This scope permits to list all files and folders in the `$PICTURE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$PICTURE/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/public.toml b/plugins/fs/permissions/autogenerated/base-directories/public.toml index 2c1cd712d..6923bfdc7 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/public.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/public.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-public-recursive" description = "This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$PUBLIC/**" [[permission]] identifier = "scope-public" description = "This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder." -[[scope.allow]] +[permission.scope.allow] path = "$PUBLIC/*" [[permission]] identifier = "scope-public-index" description = "This scope permits to list all files and folders in the `$PUBLIC`folder." -[[scope.allow]] +[permission.scope.allow] path = "$PUBLIC/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/resource.toml b/plugins/fs/permissions/autogenerated/base-directories/resource.toml index 43dc8564d..eb967bf00 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/resource.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/resource.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-resource-recursive" description = "This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$RESOURCE/**" [[permission]] identifier = "scope-resource" description = "This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$RESOURCE/*" [[permission]] identifier = "scope-resource-index" description = "This scope permits to list all files and folders in the `$RESOURCE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$RESOURCE/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml index 7843be634..5a442bf03 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-runtime-recursive" description = "This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$RUNTIME/**" [[permission]] identifier = "scope-runtime" description = "This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder." -[[scope.allow]] +[permission.scope.allow] path = "$RUNTIME/*" [[permission]] identifier = "scope-runtime-index" description = "This scope permits to list all files and folders in the `$RUNTIME`folder." -[[scope.allow]] +[permission.scope.allow] path = "$RUNTIME/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/temp.toml b/plugins/fs/permissions/autogenerated/base-directories/temp.toml index b6a231c20..e3c4f2438 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/temp.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/temp.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-temp-recursive" description = "This scope recursive access to the complete `$TEMP` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$TEMP/**" [[permission]] identifier = "scope-temp" description = "This scope permits access to all files and list content of top level directories in the `$TEMP`folder." -[[scope.allow]] +[permission.scope.allow] path = "$TEMP/*" [[permission]] identifier = "scope-temp-index" description = "This scope permits to list all files and folders in the `$TEMP`folder." -[[scope.allow]] +[permission.scope.allow] path = "$TEMP/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/template.toml b/plugins/fs/permissions/autogenerated/base-directories/template.toml index bbcf9ec9e..90cf68d65 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/template.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/template.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-template-recursive" description = "This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$TEMPLATE/**" [[permission]] identifier = "scope-template" description = "This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$TEMPLATE/*" [[permission]] identifier = "scope-template-index" description = "This scope permits to list all files and folders in the `$TEMPLATE`folder." -[[scope.allow]] +[permission.scope.allow] path = "$TEMPLATE/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/video.toml b/plugins/fs/permissions/autogenerated/base-directories/video.toml index ef6c14e13..354060069 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/video.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/video.toml @@ -1,5 +1,7 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + # Scopes Section # This section contains scopes, which define file level access @@ -7,21 +9,21 @@ identifier = "scope-video-recursive" description = "This scope recursive access to the complete `$VIDEO` folder, including sub directories and files." -[[scope.allow]] +[permission.scope.allow] path = "$VIDEO/**" [[permission]] identifier = "scope-video" description = "This scope permits access to all files and list content of top level directories in the `$VIDEO`folder." -[[scope.allow]] +[permission.scope.allow] path = "$VIDEO/*" [[permission]] identifier = "scope-video-index" description = "This scope permits to list all files and folders in the `$VIDEO`folder." -[[scope.allow]] +[permission.scope.allow] path = "$VIDEO/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/commands/copy_file.toml b/plugins/fs/permissions/autogenerated/commands/copy_file.toml index c51fa24ba..8bbd394f4 100644 --- a/plugins/fs/permissions/autogenerated/commands/copy_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/copy_file.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-copy-file" -description = "This enables the copy_file command without any pre-configured scope." -commands.allow = [ - "copy_file" -] +description = "Enables the copy_file command without any pre-configured scope." +commands.allow = ["copy_file"] [[permission]] identifier = "deny-copy-file" -description = "This denies the copy_file command without any pre-configured scope." -commands.deny = [ - "copy_file" -] \ No newline at end of file +description = "Denies the copy_file command without any pre-configured scope." +commands.deny = ["copy_file"] diff --git a/plugins/fs/permissions/autogenerated/commands/create.toml b/plugins/fs/permissions/autogenerated/commands/create.toml index 309ce1f3f..9c79a172a 100644 --- a/plugins/fs/permissions/autogenerated/commands/create.toml +++ b/plugins/fs/permissions/autogenerated/commands/create.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-create" -description = "This enables the create command without any pre-configured scope." -commands.allow = [ - "create" -] +description = "Enables the create command without any pre-configured scope." +commands.allow = ["create"] [[permission]] identifier = "deny-create" -description = "This denies the create command without any pre-configured scope." -commands.deny = [ - "create" -] \ No newline at end of file +description = "Denies the create command without any pre-configured scope." +commands.deny = ["create"] diff --git a/plugins/fs/permissions/autogenerated/commands/exists.toml b/plugins/fs/permissions/autogenerated/commands/exists.toml index 8dc5b9b1f..4dbb81439 100644 --- a/plugins/fs/permissions/autogenerated/commands/exists.toml +++ b/plugins/fs/permissions/autogenerated/commands/exists.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-exists" -description = "This enables the exists command without any pre-configured scope." -commands.allow = [ - "exists" -] +description = "Enables the exists command without any pre-configured scope." +commands.allow = ["exists"] [[permission]] identifier = "deny-exists" -description = "This denies the exists command without any pre-configured scope." -commands.deny = [ - "exists" -] \ No newline at end of file +description = "Denies the exists command without any pre-configured scope." +commands.deny = ["exists"] diff --git a/plugins/fs/permissions/autogenerated/commands/fstat.toml b/plugins/fs/permissions/autogenerated/commands/fstat.toml index 896b77b40..1efc83556 100644 --- a/plugins/fs/permissions/autogenerated/commands/fstat.toml +++ b/plugins/fs/permissions/autogenerated/commands/fstat.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-fstat" -description = "This enables the fstat command without any pre-configured scope." -commands.allow = [ - "fstat" -] +description = "Enables the fstat command without any pre-configured scope." +commands.allow = ["fstat"] [[permission]] identifier = "deny-fstat" -description = "This denies the fstat command without any pre-configured scope." -commands.deny = [ - "fstat" -] \ No newline at end of file +description = "Denies the fstat command without any pre-configured scope." +commands.deny = ["fstat"] diff --git a/plugins/fs/permissions/autogenerated/commands/ftruncate.toml b/plugins/fs/permissions/autogenerated/commands/ftruncate.toml index 2d77e2c4a..c6444837e 100644 --- a/plugins/fs/permissions/autogenerated/commands/ftruncate.toml +++ b/plugins/fs/permissions/autogenerated/commands/ftruncate.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-ftruncate" -description = "This enables the ftruncate command without any pre-configured scope." -commands.allow = [ - "ftruncate" -] +description = "Enables the ftruncate command without any pre-configured scope." +commands.allow = ["ftruncate"] [[permission]] identifier = "deny-ftruncate" -description = "This denies the ftruncate command without any pre-configured scope." -commands.deny = [ - "ftruncate" -] \ No newline at end of file +description = "Denies the ftruncate command without any pre-configured scope." +commands.deny = ["ftruncate"] diff --git a/plugins/fs/permissions/autogenerated/commands/lstat.toml b/plugins/fs/permissions/autogenerated/commands/lstat.toml index d45f1babf..92c218f4e 100644 --- a/plugins/fs/permissions/autogenerated/commands/lstat.toml +++ b/plugins/fs/permissions/autogenerated/commands/lstat.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-lstat" -description = "This enables the lstat command without any pre-configured scope." -commands.allow = [ - "lstat" -] +description = "Enables the lstat command without any pre-configured scope." +commands.allow = ["lstat"] [[permission]] identifier = "deny-lstat" -description = "This denies the lstat command without any pre-configured scope." -commands.deny = [ - "lstat" -] \ No newline at end of file +description = "Denies the lstat command without any pre-configured scope." +commands.deny = ["lstat"] diff --git a/plugins/fs/permissions/autogenerated/commands/mkdir.toml b/plugins/fs/permissions/autogenerated/commands/mkdir.toml index 9e17feb39..719fb88ce 100644 --- a/plugins/fs/permissions/autogenerated/commands/mkdir.toml +++ b/plugins/fs/permissions/autogenerated/commands/mkdir.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-mkdir" -description = "This enables the mkdir command without any pre-configured scope." -commands.allow = [ - "mkdir" -] +description = "Enables the mkdir command without any pre-configured scope." +commands.allow = ["mkdir"] [[permission]] identifier = "deny-mkdir" -description = "This denies the mkdir command without any pre-configured scope." -commands.deny = [ - "mkdir" -] \ No newline at end of file +description = "Denies the mkdir command without any pre-configured scope." +commands.deny = ["mkdir"] diff --git a/plugins/fs/permissions/autogenerated/commands/open.toml b/plugins/fs/permissions/autogenerated/commands/open.toml index 7cb7ad408..8d1ef53c5 100644 --- a/plugins/fs/permissions/autogenerated/commands/open.toml +++ b/plugins/fs/permissions/autogenerated/commands/open.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-open" -description = "This enables the open command without any pre-configured scope." -commands.allow = [ - "open" -] +description = "Enables the open command without any pre-configured scope." +commands.allow = ["open"] [[permission]] identifier = "deny-open" -description = "This denies the open command without any pre-configured scope." -commands.deny = [ - "open" -] \ No newline at end of file +description = "Denies the open command without any pre-configured scope." +commands.deny = ["open"] diff --git a/plugins/fs/permissions/autogenerated/commands/read.toml b/plugins/fs/permissions/autogenerated/commands/read.toml index 6068133e1..c961d8f35 100644 --- a/plugins/fs/permissions/autogenerated/commands/read.toml +++ b/plugins/fs/permissions/autogenerated/commands/read.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-read" -description = "This enables the read command without any pre-configured scope." -commands.allow = [ - "read" -] +description = "Enables the read command without any pre-configured scope." +commands.allow = ["read"] [[permission]] identifier = "deny-read" -description = "This denies the read command without any pre-configured scope." -commands.deny = [ - "read" -] \ No newline at end of file +description = "Denies the read command without any pre-configured scope." +commands.deny = ["read"] diff --git a/plugins/fs/permissions/autogenerated/commands/read_dir.toml b/plugins/fs/permissions/autogenerated/commands/read_dir.toml index c5c1a1212..a2774d359 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_dir.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_dir.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-read-dir" -description = "This enables the read_dir command without any pre-configured scope." -commands.allow = [ - "read_dir" -] +description = "Enables the read_dir command without any pre-configured scope." +commands.allow = ["read_dir"] [[permission]] identifier = "deny-read-dir" -description = "This denies the read_dir command without any pre-configured scope." -commands.deny = [ - "read_dir" -] \ No newline at end of file +description = "Denies the read_dir command without any pre-configured scope." +commands.deny = ["read_dir"] diff --git a/plugins/fs/permissions/autogenerated/commands/read_file.toml b/plugins/fs/permissions/autogenerated/commands/read_file.toml index ff6526f5b..1f349f4d2 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_file.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-read-file" -description = "This enables the read_file command without any pre-configured scope." -commands.allow = [ - "read_file" -] +description = "Enables the read_file command without any pre-configured scope." +commands.allow = ["read_file"] [[permission]] identifier = "deny-read-file" -description = "This denies the read_file command without any pre-configured scope." -commands.deny = [ - "read_file" -] \ No newline at end of file +description = "Denies the read_file command without any pre-configured scope." +commands.deny = ["read_file"] diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file.toml index 33f69689e..d05e4b45b 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-read-text-file" -description = "This enables the read_text_file command without any pre-configured scope." -commands.allow = [ - "read_text_file" -] +description = "Enables the read_text_file command without any pre-configured scope." +commands.allow = ["read_text_file"] [[permission]] identifier = "deny-read-text-file" -description = "This denies the read_text_file command without any pre-configured scope." -commands.deny = [ - "read_text_file" -] \ No newline at end of file +description = "Denies the read_text_file command without any pre-configured scope." +commands.deny = ["read_text_file"] diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml index eb6e6904d..19ad4bd75 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-read-text-file-lines" -description = "This enables the read_text_file_lines command without any pre-configured scope." -commands.allow = [ - "read_text_file_lines" -] +description = "Enables the read_text_file_lines command without any pre-configured scope." +commands.allow = ["read_text_file_lines"] [[permission]] identifier = "deny-read-text-file-lines" -description = "This denies the read_text_file_lines command without any pre-configured scope." -commands.deny = [ - "read_text_file_lines" -] \ No newline at end of file +description = "Denies the read_text_file_lines command without any pre-configured scope." +commands.deny = ["read_text_file_lines"] diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml index 2aeb84cb7..801ff4688 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-read-text-file-lines-next" -description = "This enables the read_text_file_lines_next command without any pre-configured scope." -commands.allow = [ - "read_text_file_lines_next" -] +description = "Enables the read_text_file_lines_next command without any pre-configured scope." +commands.allow = ["read_text_file_lines_next"] [[permission]] identifier = "deny-read-text-file-lines-next" -description = "This denies the read_text_file_lines_next command without any pre-configured scope." -commands.deny = [ - "read_text_file_lines_next" -] \ No newline at end of file +description = "Denies the read_text_file_lines_next command without any pre-configured scope." +commands.deny = ["read_text_file_lines_next"] diff --git a/plugins/fs/permissions/autogenerated/commands/remove.toml b/plugins/fs/permissions/autogenerated/commands/remove.toml index c211a1a22..cd4925fc6 100644 --- a/plugins/fs/permissions/autogenerated/commands/remove.toml +++ b/plugins/fs/permissions/autogenerated/commands/remove.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-remove" -description = "This enables the remove command without any pre-configured scope." -commands.allow = [ - "remove" -] +description = "Enables the remove command without any pre-configured scope." +commands.allow = ["remove"] [[permission]] identifier = "deny-remove" -description = "This denies the remove command without any pre-configured scope." -commands.deny = [ - "remove" -] \ No newline at end of file +description = "Denies the remove command without any pre-configured scope." +commands.deny = ["remove"] diff --git a/plugins/fs/permissions/autogenerated/commands/rename.toml b/plugins/fs/permissions/autogenerated/commands/rename.toml index e11b0d944..fc6bc9fe3 100644 --- a/plugins/fs/permissions/autogenerated/commands/rename.toml +++ b/plugins/fs/permissions/autogenerated/commands/rename.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-rename" -description = "This enables the rename command without any pre-configured scope." -commands.allow = [ - "rename" -] +description = "Enables the rename command without any pre-configured scope." +commands.allow = ["rename"] [[permission]] identifier = "deny-rename" -description = "This denies the rename command without any pre-configured scope." -commands.deny = [ - "rename" -] \ No newline at end of file +description = "Denies the rename command without any pre-configured scope." +commands.deny = ["rename"] diff --git a/plugins/fs/permissions/autogenerated/commands/seek.toml b/plugins/fs/permissions/autogenerated/commands/seek.toml index 90bb8ead7..6f75d610e 100644 --- a/plugins/fs/permissions/autogenerated/commands/seek.toml +++ b/plugins/fs/permissions/autogenerated/commands/seek.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-seek" -description = "This enables the seek command without any pre-configured scope." -commands.allow = [ - "seek" -] +description = "Enables the seek command without any pre-configured scope." +commands.allow = ["seek"] [[permission]] identifier = "deny-seek" -description = "This denies the seek command without any pre-configured scope." -commands.deny = [ - "seek" -] \ No newline at end of file +description = "Denies the seek command without any pre-configured scope." +commands.deny = ["seek"] diff --git a/plugins/fs/permissions/autogenerated/commands/stat.toml b/plugins/fs/permissions/autogenerated/commands/stat.toml index 7e911ee22..5b1f7724e 100644 --- a/plugins/fs/permissions/autogenerated/commands/stat.toml +++ b/plugins/fs/permissions/autogenerated/commands/stat.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-stat" -description = "This enables the stat command without any pre-configured scope." -commands.allow = [ - "stat" -] +description = "Enables the stat command without any pre-configured scope." +commands.allow = ["stat"] [[permission]] identifier = "deny-stat" -description = "This denies the stat command without any pre-configured scope." -commands.deny = [ - "stat" -] \ No newline at end of file +description = "Denies the stat command without any pre-configured scope." +commands.deny = ["stat"] diff --git a/plugins/fs/permissions/autogenerated/commands/truncate.toml b/plugins/fs/permissions/autogenerated/commands/truncate.toml index b7adb0382..3960fdcc2 100644 --- a/plugins/fs/permissions/autogenerated/commands/truncate.toml +++ b/plugins/fs/permissions/autogenerated/commands/truncate.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-truncate" -description = "This enables the truncate command without any pre-configured scope." -commands.allow = [ - "truncate" -] +description = "Enables the truncate command without any pre-configured scope." +commands.allow = ["truncate"] [[permission]] identifier = "deny-truncate" -description = "This denies the truncate command without any pre-configured scope." -commands.deny = [ - "truncate" -] \ No newline at end of file +description = "Denies the truncate command without any pre-configured scope." +commands.deny = ["truncate"] diff --git a/plugins/fs/permissions/autogenerated/commands/unwatch.toml b/plugins/fs/permissions/autogenerated/commands/unwatch.toml index 9a28e6de6..35328cf55 100644 --- a/plugins/fs/permissions/autogenerated/commands/unwatch.toml +++ b/plugins/fs/permissions/autogenerated/commands/unwatch.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-unwatch" -description = "This enables the unwatch command without any pre-configured scope." -commands.allow = [ - "unwatch" -] +description = "Enables the unwatch command without any pre-configured scope." +commands.allow = ["unwatch"] [[permission]] identifier = "deny-unwatch" -description = "This denies the unwatch command without any pre-configured scope." -commands.deny = [ - "unwatch" -] \ No newline at end of file +description = "Denies the unwatch command without any pre-configured scope." +commands.deny = ["unwatch"] diff --git a/plugins/fs/permissions/autogenerated/commands/watch.toml b/plugins/fs/permissions/autogenerated/commands/watch.toml index a86dea9a5..09615fed1 100644 --- a/plugins/fs/permissions/autogenerated/commands/watch.toml +++ b/plugins/fs/permissions/autogenerated/commands/watch.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-watch" -description = "This enables the watch command without any pre-configured scope." -commands.allow = [ - "watch" -] +description = "Enables the watch command without any pre-configured scope." +commands.allow = ["watch"] [[permission]] identifier = "deny-watch" -description = "This denies the watch command without any pre-configured scope." -commands.deny = [ - "watch" -] \ No newline at end of file +description = "Denies the watch command without any pre-configured scope." +commands.deny = ["watch"] diff --git a/plugins/fs/permissions/autogenerated/commands/write.toml b/plugins/fs/permissions/autogenerated/commands/write.toml index d0978f611..adc43c7aa 100644 --- a/plugins/fs/permissions/autogenerated/commands/write.toml +++ b/plugins/fs/permissions/autogenerated/commands/write.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-write" -description = "This enables the write command without any pre-configured scope." -commands.allow = [ - "write" -] +description = "Enables the write command without any pre-configured scope." +commands.allow = ["write"] [[permission]] identifier = "deny-write" -description = "This denies the write command without any pre-configured scope." -commands.deny = [ - "write" -] \ No newline at end of file +description = "Denies the write command without any pre-configured scope." +commands.deny = ["write"] diff --git a/plugins/fs/permissions/autogenerated/commands/write_file.toml b/plugins/fs/permissions/autogenerated/commands/write_file.toml index b6fe24f5c..460745054 100644 --- a/plugins/fs/permissions/autogenerated/commands/write_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/write_file.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-write-file" -description = "This enables the write_file command without any pre-configured scope." -commands.allow = [ - "write_file" -] +description = "Enables the write_file command without any pre-configured scope." +commands.allow = ["write_file"] [[permission]] identifier = "deny-write-file" -description = "This denies the write_file command without any pre-configured scope." -commands.deny = [ - "write_file" -] \ No newline at end of file +description = "Denies the write_file command without any pre-configured scope." +commands.deny = ["write_file"] diff --git a/plugins/fs/permissions/autogenerated/commands/write_text_file.toml b/plugins/fs/permissions/autogenerated/commands/write_text_file.toml index a6ca653f1..0ac4c64a8 100644 --- a/plugins/fs/permissions/autogenerated/commands/write_text_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/write_text_file.toml @@ -1,15 +1,13 @@ # Automatically generated - DO NOT EDIT! +"$schema" = "../../.schema.json" + [[permission]] identifier = "allow-write-text-file" -description = "This enables the write_text_file command without any pre-configured scope." -commands.allow = [ - "write_text_file" -] +description = "Enables the write_text_file command without any pre-configured scope." +commands.allow = ["write_text_file"] [[permission]] identifier = "deny-write-text-file" -description = "This denies the write_text_file command without any pre-configured scope." -commands.deny = [ - "write_text_file" -] \ No newline at end of file +description = "Denies the write_text_file command without any pre-configured scope." +commands.deny = ["write_text_file"] diff --git a/plugins/fs/permissions/default.toml b/plugins/fs/permissions/default.toml index 83d692ded..08e247752 100644 --- a/plugins/fs/permissions/default.toml +++ b/plugins/fs/permissions/default.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [default] description = """ # Tauri `fs` default permissions @@ -23,8 +25,4 @@ of the Tauri application by default. On Windows the webview data folder access is denied. """ -permissions = [ - "read-all", - "scope-app-recursive", - "deny-default", -] +permissions = ["read-all", "scope-app-recursive", "deny-default"] diff --git a/plugins/fs/permissions/deny-default.toml b/plugins/fs/permissions/deny-default.toml index 6140f54bf..c4733923c 100644 --- a/plugins/fs/permissions/deny-default.toml +++ b/plugins/fs/permissions/deny-default.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [[set]] identifier = "deny-default" description = "This denies access to dangerous Tauri relevant files and folders by default." diff --git a/plugins/fs/permissions/deny-webview-data.toml b/plugins/fs/permissions/deny-webview-data.toml index 9c5b37992..6dbb62dfc 100644 --- a/plugins/fs/permissions/deny-webview-data.toml +++ b/plugins/fs/permissions/deny-webview-data.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [[permission]] identifier = "deny-webview-data-linux" description = """This denies read access to the @@ -14,4 +16,4 @@ description = """This denies read access to the Allowing access can lead to sensitive information disclosure and should be well considered.""" [[scope.deny]] -path = "$APPLOCALDATA/EBWebView/**" \ No newline at end of file +path = "$APPLOCALDATA/EBWebView/**" diff --git a/plugins/fs/permissions/read-all.toml b/plugins/fs/permissions/read-all.toml index 519741305..6d003966d 100644 --- a/plugins/fs/permissions/read-all.toml +++ b/plugins/fs/permissions/read-all.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [[permission]] identifier = "read-all" description = "This enables all read related commands without any pre-configured accessible paths." diff --git a/plugins/fs/permissions/read-dirs.toml b/plugins/fs/permissions/read-dirs.toml index 859101628..a05e851a8 100644 --- a/plugins/fs/permissions/read-dirs.toml +++ b/plugins/fs/permissions/read-dirs.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [[permission]] identifier = "read-dirs" description = "This enables directory read and file metadata related commands without any pre-configured accessible paths." diff --git a/plugins/fs/permissions/read-files.toml b/plugins/fs/permissions/read-files.toml index 1f21dd525..cba9c2d2e 100644 --- a/plugins/fs/permissions/read-files.toml +++ b/plugins/fs/permissions/read-files.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [[permission]] identifier = "read-files" description = "This enables file read related commands without any pre-configured accessible paths." diff --git a/plugins/fs/permissions/read-meta.toml b/plugins/fs/permissions/read-meta.toml index c971419ba..567b1a07c 100644 --- a/plugins/fs/permissions/read-meta.toml +++ b/plugins/fs/permissions/read-meta.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [[permission]] identifier = "read-meta" description = "This enables all index or metadata related commands without any pre-configured accessible paths." diff --git a/plugins/fs/permissions/write-all.toml b/plugins/fs/permissions/write-all.toml index 3b4dd6600..b1eb345c3 100644 --- a/plugins/fs/permissions/write-all.toml +++ b/plugins/fs/permissions/write-all.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [[permission]] identifier = "write-all" description = "This enables all write related commands without any pre-configured accessible paths." diff --git a/plugins/fs/permissions/write-files.toml b/plugins/fs/permissions/write-files.toml index 1091a0e3c..55a1399ca 100644 --- a/plugins/fs/permissions/write-files.toml +++ b/plugins/fs/permissions/write-files.toml @@ -1,3 +1,5 @@ +"$schema" = ".schema.json" + [[permission]] identifier = "write-files" description = "This enables all file write related commands without any pre-configured accessible paths." From ceb051ee3a1cbdc48b9ffbb0124e7f61f0df3b2e Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Wed, 17 Jan 2024 16:31:30 -0300 Subject: [PATCH 05/35] update scopes [skip ci] --- Cargo.lock | 35 +++++++++--------- plugins/fs/build.rs | 6 ++-- .../autogenerated/base-directories/app.toml | 36 +++++-------------- .../base-directories/appcache.toml | 36 +++++-------------- .../base-directories/appconfig.toml | 36 +++++-------------- .../base-directories/appdata.toml | 36 +++++-------------- .../base-directories/applocaldata.toml | 36 +++++-------------- .../base-directories/applog.toml | 36 +++++-------------- .../autogenerated/base-directories/audio.toml | 36 +++++-------------- .../autogenerated/base-directories/cache.toml | 36 +++++-------------- .../base-directories/config.toml | 36 +++++-------------- .../autogenerated/base-directories/data.toml | 36 +++++-------------- .../base-directories/desktop.toml | 36 +++++-------------- .../base-directories/document.toml | 36 +++++-------------- .../base-directories/download.toml | 36 +++++-------------- .../autogenerated/base-directories/exe.toml | 36 +++++-------------- .../autogenerated/base-directories/font.toml | 36 +++++-------------- .../autogenerated/base-directories/home.toml | 36 +++++-------------- .../base-directories/localdata.toml | 36 +++++-------------- .../autogenerated/base-directories/log.toml | 36 +++++-------------- .../base-directories/picture.toml | 36 +++++-------------- .../base-directories/public.toml | 36 +++++-------------- .../base-directories/resource.toml | 36 +++++-------------- .../base-directories/runtime.toml | 36 +++++-------------- .../autogenerated/base-directories/temp.toml | 36 +++++-------------- .../base-directories/template.toml | 36 +++++-------------- .../autogenerated/base-directories/video.toml | 36 +++++-------------- 27 files changed, 245 insertions(+), 696 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3b5596b86..e44de5541 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5843,8 +5843,8 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" -version = "2.0.0-alpha.20" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" +version = "2.0.0-alpha.21" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" dependencies = [ "anyhow", "bytes 1.5.0", @@ -5895,8 +5895,8 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" +version = "2.0.0-alpha.14" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" dependencies = [ "anyhow", "cargo_toml", @@ -5920,8 +5920,8 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" +version = "2.0.0-alpha.13" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" dependencies = [ "base64 0.21.5", "brotli", @@ -5945,8 +5945,8 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" +version = "2.0.0-alpha.13" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" dependencies = [ "heck", "proc-macro2", @@ -5959,11 +5959,10 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "0.1.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" dependencies = [ "cargo_metadata", "glob", - "schemars", "serde", "serde_json", "tauri", @@ -6385,8 +6384,8 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "1.0.0-alpha.7" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" +version = "1.0.0-alpha.8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" dependencies = [ "gtk", "http", @@ -6402,8 +6401,8 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" +version = "1.0.0-alpha.9" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6422,8 +6421,8 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.0.0-alpha.12" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#6b7a0d0c46783bfe6a346c354039c4282ef16bb5" +version = "2.0.0-alpha.13" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" dependencies = [ "aes-gcm 0.10.3", "brotli", @@ -7867,9 +7866,9 @@ dependencies = [ [[package]] name = "wry" -version = "0.35.1" +version = "0.35.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ad1bc1d6925e0cde1bd01830b0073cd0448e21357e843b9ede33b6d81c7423" +checksum = "d3016c47c9b6f7029a9da7cd48af8352327226bba0e955f3c92e2966651365a9" dependencies = [ "base64 0.21.5", "block", diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index 250ffa21b..5322a5c07 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -77,21 +77,21 @@ fn main() { identifier = "scope-{lower}-recursive" description = "This scope recursive access to the complete `${upper}` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "${upper}/**" [[permission]] identifier = "scope-{lower}" description = "This scope permits access to all files and list content of top level directories in the `${upper}`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "${upper}/*" [[permission]] identifier = "scope-{lower}-index" description = "This scope permits to list all files and folders in the `${upper}`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "${upper}/" # Sets Section diff --git a/plugins/fs/permissions/autogenerated/base-directories/app.toml b/plugins/fs/permissions/autogenerated/base-directories/app.toml index 6d09dc72a..3d836e453 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/app.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/app.toml @@ -9,21 +9,21 @@ identifier = "scope-app-recursive" description = "This scope recursive access to the complete `$APP` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APP/**" [[permission]] identifier = "scope-app" description = "This scope permits access to all files and list content of top level directories in the `$APP`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APP/*" [[permission]] identifier = "scope-app-index" description = "This scope permits to list all files and folders in the `$APP`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APP/" # Sets Section @@ -32,47 +32,29 @@ path = "$APP/" [[set]] identifier = "allow-app-read-recursive" description = "This allows full recursive read access to the complete `$APP` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-app-recursive" -] +permissions = ["read-all", "scope-app-recursive"] [[set]] identifier = "allow-app-write-recursive" description = "This allows full recusrive write access to the complete `$APP` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-app-recursive" -] +permissions = ["write-all", "scope-app-recursive"] [[set]] identifier = "allow-app-read" description = "This allows non-recursive read access to the `$APP` folder." -permissions = [ - "read-all", - "scope-app" -] +permissions = ["read-all", "scope-app"] [[set]] identifier = "allow-app-write" description = "This allows non-recursive write access to the `$APP` folder." -permissions = [ - "write-all", - "scope-app" -] +permissions = ["write-all", "scope-app"] [[set]] identifier = "allow-app-meta-recursive" description = "This allows read access to metadata of the `$APP` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-app-recursive" -] +permissions = ["read-meta", "scope-app-recursive"] [[set]] identifier = "allow-app-meta" description = "This allows read access to metadata of the `$APP` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-app-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-app-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml index 353923deb..73b1b0ce1 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml @@ -9,21 +9,21 @@ identifier = "scope-appcache-recursive" description = "This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPCACHE/**" [[permission]] identifier = "scope-appcache" description = "This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPCACHE/*" [[permission]] identifier = "scope-appcache-index" description = "This scope permits to list all files and folders in the `$APPCACHE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPCACHE/" # Sets Section @@ -32,47 +32,29 @@ path = "$APPCACHE/" [[set]] identifier = "allow-appcache-read-recursive" description = "This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-appcache-recursive" -] +permissions = ["read-all", "scope-appcache-recursive"] [[set]] identifier = "allow-appcache-write-recursive" description = "This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-appcache-recursive" -] +permissions = ["write-all", "scope-appcache-recursive"] [[set]] identifier = "allow-appcache-read" description = "This allows non-recursive read access to the `$APPCACHE` folder." -permissions = [ - "read-all", - "scope-appcache" -] +permissions = ["read-all", "scope-appcache"] [[set]] identifier = "allow-appcache-write" description = "This allows non-recursive write access to the `$APPCACHE` folder." -permissions = [ - "write-all", - "scope-appcache" -] +permissions = ["write-all", "scope-appcache"] [[set]] identifier = "allow-appcache-meta-recursive" description = "This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-appcache-recursive" -] +permissions = ["read-meta", "scope-appcache-recursive"] [[set]] identifier = "allow-appcache-meta" description = "This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-appcache-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-appcache-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml index 328f98fc4..6a2d682b5 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml @@ -9,21 +9,21 @@ identifier = "scope-appconfig-recursive" description = "This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPCONFIG/**" [[permission]] identifier = "scope-appconfig" description = "This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPCONFIG/*" [[permission]] identifier = "scope-appconfig-index" description = "This scope permits to list all files and folders in the `$APPCONFIG`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPCONFIG/" # Sets Section @@ -32,47 +32,29 @@ path = "$APPCONFIG/" [[set]] identifier = "allow-appconfig-read-recursive" description = "This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-appconfig-recursive" -] +permissions = ["read-all", "scope-appconfig-recursive"] [[set]] identifier = "allow-appconfig-write-recursive" description = "This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-appconfig-recursive" -] +permissions = ["write-all", "scope-appconfig-recursive"] [[set]] identifier = "allow-appconfig-read" description = "This allows non-recursive read access to the `$APPCONFIG` folder." -permissions = [ - "read-all", - "scope-appconfig" -] +permissions = ["read-all", "scope-appconfig"] [[set]] identifier = "allow-appconfig-write" description = "This allows non-recursive write access to the `$APPCONFIG` folder." -permissions = [ - "write-all", - "scope-appconfig" -] +permissions = ["write-all", "scope-appconfig"] [[set]] identifier = "allow-appconfig-meta-recursive" description = "This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-appconfig-recursive" -] +permissions = ["read-meta", "scope-appconfig-recursive"] [[set]] identifier = "allow-appconfig-meta" description = "This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-appconfig-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-appconfig-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml index 75cc64c8c..69ab9ca51 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml @@ -9,21 +9,21 @@ identifier = "scope-appdata-recursive" description = "This scope recursive access to the complete `$APPDATA` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPDATA/**" [[permission]] identifier = "scope-appdata" description = "This scope permits access to all files and list content of top level directories in the `$APPDATA`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPDATA/*" [[permission]] identifier = "scope-appdata-index" description = "This scope permits to list all files and folders in the `$APPDATA`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPDATA/" # Sets Section @@ -32,47 +32,29 @@ path = "$APPDATA/" [[set]] identifier = "allow-appdata-read-recursive" description = "This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-appdata-recursive" -] +permissions = ["read-all", "scope-appdata-recursive"] [[set]] identifier = "allow-appdata-write-recursive" description = "This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-appdata-recursive" -] +permissions = ["write-all", "scope-appdata-recursive"] [[set]] identifier = "allow-appdata-read" description = "This allows non-recursive read access to the `$APPDATA` folder." -permissions = [ - "read-all", - "scope-appdata" -] +permissions = ["read-all", "scope-appdata"] [[set]] identifier = "allow-appdata-write" description = "This allows non-recursive write access to the `$APPDATA` folder." -permissions = [ - "write-all", - "scope-appdata" -] +permissions = ["write-all", "scope-appdata"] [[set]] identifier = "allow-appdata-meta-recursive" description = "This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-appdata-recursive" -] +permissions = ["read-meta", "scope-appdata-recursive"] [[set]] identifier = "allow-appdata-meta" description = "This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-appdata-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-appdata-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml index f328dbd3f..ceeb4b8f7 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml @@ -9,21 +9,21 @@ identifier = "scope-applocaldata-recursive" description = "This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPLOCALDATA/**" [[permission]] identifier = "scope-applocaldata" description = "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPLOCALDATA/*" [[permission]] identifier = "scope-applocaldata-index" description = "This scope permits to list all files and folders in the `$APPLOCALDATA`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPLOCALDATA/" # Sets Section @@ -32,47 +32,29 @@ path = "$APPLOCALDATA/" [[set]] identifier = "allow-applocaldata-read-recursive" description = "This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-applocaldata-recursive" -] +permissions = ["read-all", "scope-applocaldata-recursive"] [[set]] identifier = "allow-applocaldata-write-recursive" description = "This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-applocaldata-recursive" -] +permissions = ["write-all", "scope-applocaldata-recursive"] [[set]] identifier = "allow-applocaldata-read" description = "This allows non-recursive read access to the `$APPLOCALDATA` folder." -permissions = [ - "read-all", - "scope-applocaldata" -] +permissions = ["read-all", "scope-applocaldata"] [[set]] identifier = "allow-applocaldata-write" description = "This allows non-recursive write access to the `$APPLOCALDATA` folder." -permissions = [ - "write-all", - "scope-applocaldata" -] +permissions = ["write-all", "scope-applocaldata"] [[set]] identifier = "allow-applocaldata-meta-recursive" description = "This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-applocaldata-recursive" -] +permissions = ["read-meta", "scope-applocaldata-recursive"] [[set]] identifier = "allow-applocaldata-meta" description = "This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-applocaldata-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-applocaldata-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/applog.toml b/plugins/fs/permissions/autogenerated/base-directories/applog.toml index 929eea73d..0fed6e3de 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/applog.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/applog.toml @@ -9,21 +9,21 @@ identifier = "scope-applog-recursive" description = "This scope recursive access to the complete `$APPLOG` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPLOG/**" [[permission]] identifier = "scope-applog" description = "This scope permits access to all files and list content of top level directories in the `$APPLOG`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPLOG/*" [[permission]] identifier = "scope-applog-index" description = "This scope permits to list all files and folders in the `$APPLOG`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$APPLOG/" # Sets Section @@ -32,47 +32,29 @@ path = "$APPLOG/" [[set]] identifier = "allow-applog-read-recursive" description = "This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-applog-recursive" -] +permissions = ["read-all", "scope-applog-recursive"] [[set]] identifier = "allow-applog-write-recursive" description = "This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-applog-recursive" -] +permissions = ["write-all", "scope-applog-recursive"] [[set]] identifier = "allow-applog-read" description = "This allows non-recursive read access to the `$APPLOG` folder." -permissions = [ - "read-all", - "scope-applog" -] +permissions = ["read-all", "scope-applog"] [[set]] identifier = "allow-applog-write" description = "This allows non-recursive write access to the `$APPLOG` folder." -permissions = [ - "write-all", - "scope-applog" -] +permissions = ["write-all", "scope-applog"] [[set]] identifier = "allow-applog-meta-recursive" description = "This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-applog-recursive" -] +permissions = ["read-meta", "scope-applog-recursive"] [[set]] identifier = "allow-applog-meta" description = "This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-applog-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-applog-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/audio.toml b/plugins/fs/permissions/autogenerated/base-directories/audio.toml index 2faa91037..75401af8c 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/audio.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/audio.toml @@ -9,21 +9,21 @@ identifier = "scope-audio-recursive" description = "This scope recursive access to the complete `$AUDIO` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$AUDIO/**" [[permission]] identifier = "scope-audio" description = "This scope permits access to all files and list content of top level directories in the `$AUDIO`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$AUDIO/*" [[permission]] identifier = "scope-audio-index" description = "This scope permits to list all files and folders in the `$AUDIO`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$AUDIO/" # Sets Section @@ -32,47 +32,29 @@ path = "$AUDIO/" [[set]] identifier = "allow-audio-read-recursive" description = "This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-audio-recursive" -] +permissions = ["read-all", "scope-audio-recursive"] [[set]] identifier = "allow-audio-write-recursive" description = "This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-audio-recursive" -] +permissions = ["write-all", "scope-audio-recursive"] [[set]] identifier = "allow-audio-read" description = "This allows non-recursive read access to the `$AUDIO` folder." -permissions = [ - "read-all", - "scope-audio" -] +permissions = ["read-all", "scope-audio"] [[set]] identifier = "allow-audio-write" description = "This allows non-recursive write access to the `$AUDIO` folder." -permissions = [ - "write-all", - "scope-audio" -] +permissions = ["write-all", "scope-audio"] [[set]] identifier = "allow-audio-meta-recursive" description = "This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-audio-recursive" -] +permissions = ["read-meta", "scope-audio-recursive"] [[set]] identifier = "allow-audio-meta" description = "This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-audio-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-audio-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/cache.toml b/plugins/fs/permissions/autogenerated/base-directories/cache.toml index 00ebe988d..86582b2eb 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/cache.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/cache.toml @@ -9,21 +9,21 @@ identifier = "scope-cache-recursive" description = "This scope recursive access to the complete `$CACHE` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$CACHE/**" [[permission]] identifier = "scope-cache" description = "This scope permits access to all files and list content of top level directories in the `$CACHE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$CACHE/*" [[permission]] identifier = "scope-cache-index" description = "This scope permits to list all files and folders in the `$CACHE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$CACHE/" # Sets Section @@ -32,47 +32,29 @@ path = "$CACHE/" [[set]] identifier = "allow-cache-read-recursive" description = "This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-cache-recursive" -] +permissions = ["read-all", "scope-cache-recursive"] [[set]] identifier = "allow-cache-write-recursive" description = "This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-cache-recursive" -] +permissions = ["write-all", "scope-cache-recursive"] [[set]] identifier = "allow-cache-read" description = "This allows non-recursive read access to the `$CACHE` folder." -permissions = [ - "read-all", - "scope-cache" -] +permissions = ["read-all", "scope-cache"] [[set]] identifier = "allow-cache-write" description = "This allows non-recursive write access to the `$CACHE` folder." -permissions = [ - "write-all", - "scope-cache" -] +permissions = ["write-all", "scope-cache"] [[set]] identifier = "allow-cache-meta-recursive" description = "This allows read access to metadata of the `$CACHE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-cache-recursive" -] +permissions = ["read-meta", "scope-cache-recursive"] [[set]] identifier = "allow-cache-meta" description = "This allows read access to metadata of the `$CACHE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-cache-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-cache-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/config.toml b/plugins/fs/permissions/autogenerated/base-directories/config.toml index 70f8942af..262b13dcf 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/config.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/config.toml @@ -9,21 +9,21 @@ identifier = "scope-config-recursive" description = "This scope recursive access to the complete `$CONFIG` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$CONFIG/**" [[permission]] identifier = "scope-config" description = "This scope permits access to all files and list content of top level directories in the `$CONFIG`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$CONFIG/*" [[permission]] identifier = "scope-config-index" description = "This scope permits to list all files and folders in the `$CONFIG`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$CONFIG/" # Sets Section @@ -32,47 +32,29 @@ path = "$CONFIG/" [[set]] identifier = "allow-config-read-recursive" description = "This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-config-recursive" -] +permissions = ["read-all", "scope-config-recursive"] [[set]] identifier = "allow-config-write-recursive" description = "This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-config-recursive" -] +permissions = ["write-all", "scope-config-recursive"] [[set]] identifier = "allow-config-read" description = "This allows non-recursive read access to the `$CONFIG` folder." -permissions = [ - "read-all", - "scope-config" -] +permissions = ["read-all", "scope-config"] [[set]] identifier = "allow-config-write" description = "This allows non-recursive write access to the `$CONFIG` folder." -permissions = [ - "write-all", - "scope-config" -] +permissions = ["write-all", "scope-config"] [[set]] identifier = "allow-config-meta-recursive" description = "This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-config-recursive" -] +permissions = ["read-meta", "scope-config-recursive"] [[set]] identifier = "allow-config-meta" description = "This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-config-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-config-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/data.toml b/plugins/fs/permissions/autogenerated/base-directories/data.toml index 78ed63064..c15bef2d7 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/data.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/data.toml @@ -9,21 +9,21 @@ identifier = "scope-data-recursive" description = "This scope recursive access to the complete `$DATA` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DATA/**" [[permission]] identifier = "scope-data" description = "This scope permits access to all files and list content of top level directories in the `$DATA`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DATA/*" [[permission]] identifier = "scope-data-index" description = "This scope permits to list all files and folders in the `$DATA`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DATA/" # Sets Section @@ -32,47 +32,29 @@ path = "$DATA/" [[set]] identifier = "allow-data-read-recursive" description = "This allows full recursive read access to the complete `$DATA` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-data-recursive" -] +permissions = ["read-all", "scope-data-recursive"] [[set]] identifier = "allow-data-write-recursive" description = "This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-data-recursive" -] +permissions = ["write-all", "scope-data-recursive"] [[set]] identifier = "allow-data-read" description = "This allows non-recursive read access to the `$DATA` folder." -permissions = [ - "read-all", - "scope-data" -] +permissions = ["read-all", "scope-data"] [[set]] identifier = "allow-data-write" description = "This allows non-recursive write access to the `$DATA` folder." -permissions = [ - "write-all", - "scope-data" -] +permissions = ["write-all", "scope-data"] [[set]] identifier = "allow-data-meta-recursive" description = "This allows read access to metadata of the `$DATA` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-data-recursive" -] +permissions = ["read-meta", "scope-data-recursive"] [[set]] identifier = "allow-data-meta" description = "This allows read access to metadata of the `$DATA` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-data-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-data-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml index 4f36c37fa..67250cb4d 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml @@ -9,21 +9,21 @@ identifier = "scope-desktop-recursive" description = "This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DESKTOP/**" [[permission]] identifier = "scope-desktop" description = "This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DESKTOP/*" [[permission]] identifier = "scope-desktop-index" description = "This scope permits to list all files and folders in the `$DESKTOP`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DESKTOP/" # Sets Section @@ -32,47 +32,29 @@ path = "$DESKTOP/" [[set]] identifier = "allow-desktop-read-recursive" description = "This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-desktop-recursive" -] +permissions = ["read-all", "scope-desktop-recursive"] [[set]] identifier = "allow-desktop-write-recursive" description = "This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-desktop-recursive" -] +permissions = ["write-all", "scope-desktop-recursive"] [[set]] identifier = "allow-desktop-read" description = "This allows non-recursive read access to the `$DESKTOP` folder." -permissions = [ - "read-all", - "scope-desktop" -] +permissions = ["read-all", "scope-desktop"] [[set]] identifier = "allow-desktop-write" description = "This allows non-recursive write access to the `$DESKTOP` folder." -permissions = [ - "write-all", - "scope-desktop" -] +permissions = ["write-all", "scope-desktop"] [[set]] identifier = "allow-desktop-meta-recursive" description = "This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-desktop-recursive" -] +permissions = ["read-meta", "scope-desktop-recursive"] [[set]] identifier = "allow-desktop-meta" description = "This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-desktop-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-desktop-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/document.toml b/plugins/fs/permissions/autogenerated/base-directories/document.toml index 5fd11c841..58a5581a8 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/document.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/document.toml @@ -9,21 +9,21 @@ identifier = "scope-document-recursive" description = "This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DOCUMENT/**" [[permission]] identifier = "scope-document" description = "This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DOCUMENT/*" [[permission]] identifier = "scope-document-index" description = "This scope permits to list all files and folders in the `$DOCUMENT`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DOCUMENT/" # Sets Section @@ -32,47 +32,29 @@ path = "$DOCUMENT/" [[set]] identifier = "allow-document-read-recursive" description = "This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-document-recursive" -] +permissions = ["read-all", "scope-document-recursive"] [[set]] identifier = "allow-document-write-recursive" description = "This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-document-recursive" -] +permissions = ["write-all", "scope-document-recursive"] [[set]] identifier = "allow-document-read" description = "This allows non-recursive read access to the `$DOCUMENT` folder." -permissions = [ - "read-all", - "scope-document" -] +permissions = ["read-all", "scope-document"] [[set]] identifier = "allow-document-write" description = "This allows non-recursive write access to the `$DOCUMENT` folder." -permissions = [ - "write-all", - "scope-document" -] +permissions = ["write-all", "scope-document"] [[set]] identifier = "allow-document-meta-recursive" description = "This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-document-recursive" -] +permissions = ["read-meta", "scope-document-recursive"] [[set]] identifier = "allow-document-meta" description = "This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-document-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-document-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/download.toml b/plugins/fs/permissions/autogenerated/base-directories/download.toml index 6e793c030..8ff3e3552 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/download.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/download.toml @@ -9,21 +9,21 @@ identifier = "scope-download-recursive" description = "This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DOWNLOAD/**" [[permission]] identifier = "scope-download" description = "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DOWNLOAD/*" [[permission]] identifier = "scope-download-index" description = "This scope permits to list all files and folders in the `$DOWNLOAD`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$DOWNLOAD/" # Sets Section @@ -32,47 +32,29 @@ path = "$DOWNLOAD/" [[set]] identifier = "allow-download-read-recursive" description = "This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-download-recursive" -] +permissions = ["read-all", "scope-download-recursive"] [[set]] identifier = "allow-download-write-recursive" description = "This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-download-recursive" -] +permissions = ["write-all", "scope-download-recursive"] [[set]] identifier = "allow-download-read" description = "This allows non-recursive read access to the `$DOWNLOAD` folder." -permissions = [ - "read-all", - "scope-download" -] +permissions = ["read-all", "scope-download"] [[set]] identifier = "allow-download-write" description = "This allows non-recursive write access to the `$DOWNLOAD` folder." -permissions = [ - "write-all", - "scope-download" -] +permissions = ["write-all", "scope-download"] [[set]] identifier = "allow-download-meta-recursive" description = "This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-download-recursive" -] +permissions = ["read-meta", "scope-download-recursive"] [[set]] identifier = "allow-download-meta" description = "This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-download-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-download-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/exe.toml b/plugins/fs/permissions/autogenerated/base-directories/exe.toml index fb6f0c788..5abdb76df 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/exe.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/exe.toml @@ -9,21 +9,21 @@ identifier = "scope-exe-recursive" description = "This scope recursive access to the complete `$EXE` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$EXE/**" [[permission]] identifier = "scope-exe" description = "This scope permits access to all files and list content of top level directories in the `$EXE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$EXE/*" [[permission]] identifier = "scope-exe-index" description = "This scope permits to list all files and folders in the `$EXE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$EXE/" # Sets Section @@ -32,47 +32,29 @@ path = "$EXE/" [[set]] identifier = "allow-exe-read-recursive" description = "This allows full recursive read access to the complete `$EXE` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-exe-recursive" -] +permissions = ["read-all", "scope-exe-recursive"] [[set]] identifier = "allow-exe-write-recursive" description = "This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-exe-recursive" -] +permissions = ["write-all", "scope-exe-recursive"] [[set]] identifier = "allow-exe-read" description = "This allows non-recursive read access to the `$EXE` folder." -permissions = [ - "read-all", - "scope-exe" -] +permissions = ["read-all", "scope-exe"] [[set]] identifier = "allow-exe-write" description = "This allows non-recursive write access to the `$EXE` folder." -permissions = [ - "write-all", - "scope-exe" -] +permissions = ["write-all", "scope-exe"] [[set]] identifier = "allow-exe-meta-recursive" description = "This allows read access to metadata of the `$EXE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-exe-recursive" -] +permissions = ["read-meta", "scope-exe-recursive"] [[set]] identifier = "allow-exe-meta" description = "This allows read access to metadata of the `$EXE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-exe-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-exe-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/font.toml b/plugins/fs/permissions/autogenerated/base-directories/font.toml index 637380c7e..e72b9e12a 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/font.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/font.toml @@ -9,21 +9,21 @@ identifier = "scope-font-recursive" description = "This scope recursive access to the complete `$FONT` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$FONT/**" [[permission]] identifier = "scope-font" description = "This scope permits access to all files and list content of top level directories in the `$FONT`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$FONT/*" [[permission]] identifier = "scope-font-index" description = "This scope permits to list all files and folders in the `$FONT`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$FONT/" # Sets Section @@ -32,47 +32,29 @@ path = "$FONT/" [[set]] identifier = "allow-font-read-recursive" description = "This allows full recursive read access to the complete `$FONT` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-font-recursive" -] +permissions = ["read-all", "scope-font-recursive"] [[set]] identifier = "allow-font-write-recursive" description = "This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-font-recursive" -] +permissions = ["write-all", "scope-font-recursive"] [[set]] identifier = "allow-font-read" description = "This allows non-recursive read access to the `$FONT` folder." -permissions = [ - "read-all", - "scope-font" -] +permissions = ["read-all", "scope-font"] [[set]] identifier = "allow-font-write" description = "This allows non-recursive write access to the `$FONT` folder." -permissions = [ - "write-all", - "scope-font" -] +permissions = ["write-all", "scope-font"] [[set]] identifier = "allow-font-meta-recursive" description = "This allows read access to metadata of the `$FONT` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-font-recursive" -] +permissions = ["read-meta", "scope-font-recursive"] [[set]] identifier = "allow-font-meta" description = "This allows read access to metadata of the `$FONT` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-font-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-font-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/home.toml b/plugins/fs/permissions/autogenerated/base-directories/home.toml index a3c24f4ed..b7ff9faa8 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/home.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/home.toml @@ -9,21 +9,21 @@ identifier = "scope-home-recursive" description = "This scope recursive access to the complete `$HOME` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$HOME/**" [[permission]] identifier = "scope-home" description = "This scope permits access to all files and list content of top level directories in the `$HOME`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$HOME/*" [[permission]] identifier = "scope-home-index" description = "This scope permits to list all files and folders in the `$HOME`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$HOME/" # Sets Section @@ -32,47 +32,29 @@ path = "$HOME/" [[set]] identifier = "allow-home-read-recursive" description = "This allows full recursive read access to the complete `$HOME` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-home-recursive" -] +permissions = ["read-all", "scope-home-recursive"] [[set]] identifier = "allow-home-write-recursive" description = "This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-home-recursive" -] +permissions = ["write-all", "scope-home-recursive"] [[set]] identifier = "allow-home-read" description = "This allows non-recursive read access to the `$HOME` folder." -permissions = [ - "read-all", - "scope-home" -] +permissions = ["read-all", "scope-home"] [[set]] identifier = "allow-home-write" description = "This allows non-recursive write access to the `$HOME` folder." -permissions = [ - "write-all", - "scope-home" -] +permissions = ["write-all", "scope-home"] [[set]] identifier = "allow-home-meta-recursive" description = "This allows read access to metadata of the `$HOME` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-home-recursive" -] +permissions = ["read-meta", "scope-home-recursive"] [[set]] identifier = "allow-home-meta" description = "This allows read access to metadata of the `$HOME` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-home-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-home-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml index 518b23c02..ad3c400d8 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml @@ -9,21 +9,21 @@ identifier = "scope-localdata-recursive" description = "This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$LOCALDATA/**" [[permission]] identifier = "scope-localdata" description = "This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$LOCALDATA/*" [[permission]] identifier = "scope-localdata-index" description = "This scope permits to list all files and folders in the `$LOCALDATA`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$LOCALDATA/" # Sets Section @@ -32,47 +32,29 @@ path = "$LOCALDATA/" [[set]] identifier = "allow-localdata-read-recursive" description = "This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-localdata-recursive" -] +permissions = ["read-all", "scope-localdata-recursive"] [[set]] identifier = "allow-localdata-write-recursive" description = "This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-localdata-recursive" -] +permissions = ["write-all", "scope-localdata-recursive"] [[set]] identifier = "allow-localdata-read" description = "This allows non-recursive read access to the `$LOCALDATA` folder." -permissions = [ - "read-all", - "scope-localdata" -] +permissions = ["read-all", "scope-localdata"] [[set]] identifier = "allow-localdata-write" description = "This allows non-recursive write access to the `$LOCALDATA` folder." -permissions = [ - "write-all", - "scope-localdata" -] +permissions = ["write-all", "scope-localdata"] [[set]] identifier = "allow-localdata-meta-recursive" description = "This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-localdata-recursive" -] +permissions = ["read-meta", "scope-localdata-recursive"] [[set]] identifier = "allow-localdata-meta" description = "This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-localdata-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-localdata-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/log.toml b/plugins/fs/permissions/autogenerated/base-directories/log.toml index 35f373e91..523dab053 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/log.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/log.toml @@ -9,21 +9,21 @@ identifier = "scope-log-recursive" description = "This scope recursive access to the complete `$LOG` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$LOG/**" [[permission]] identifier = "scope-log" description = "This scope permits access to all files and list content of top level directories in the `$LOG`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$LOG/*" [[permission]] identifier = "scope-log-index" description = "This scope permits to list all files and folders in the `$LOG`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$LOG/" # Sets Section @@ -32,47 +32,29 @@ path = "$LOG/" [[set]] identifier = "allow-log-read-recursive" description = "This allows full recursive read access to the complete `$LOG` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-log-recursive" -] +permissions = ["read-all", "scope-log-recursive"] [[set]] identifier = "allow-log-write-recursive" description = "This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-log-recursive" -] +permissions = ["write-all", "scope-log-recursive"] [[set]] identifier = "allow-log-read" description = "This allows non-recursive read access to the `$LOG` folder." -permissions = [ - "read-all", - "scope-log" -] +permissions = ["read-all", "scope-log"] [[set]] identifier = "allow-log-write" description = "This allows non-recursive write access to the `$LOG` folder." -permissions = [ - "write-all", - "scope-log" -] +permissions = ["write-all", "scope-log"] [[set]] identifier = "allow-log-meta-recursive" description = "This allows read access to metadata of the `$LOG` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-log-recursive" -] +permissions = ["read-meta", "scope-log-recursive"] [[set]] identifier = "allow-log-meta" description = "This allows read access to metadata of the `$LOG` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-log-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-log-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/picture.toml b/plugins/fs/permissions/autogenerated/base-directories/picture.toml index 4872bdf69..e6f80aa99 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/picture.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/picture.toml @@ -9,21 +9,21 @@ identifier = "scope-picture-recursive" description = "This scope recursive access to the complete `$PICTURE` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$PICTURE/**" [[permission]] identifier = "scope-picture" description = "This scope permits access to all files and list content of top level directories in the `$PICTURE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$PICTURE/*" [[permission]] identifier = "scope-picture-index" description = "This scope permits to list all files and folders in the `$PICTURE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$PICTURE/" # Sets Section @@ -32,47 +32,29 @@ path = "$PICTURE/" [[set]] identifier = "allow-picture-read-recursive" description = "This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-picture-recursive" -] +permissions = ["read-all", "scope-picture-recursive"] [[set]] identifier = "allow-picture-write-recursive" description = "This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-picture-recursive" -] +permissions = ["write-all", "scope-picture-recursive"] [[set]] identifier = "allow-picture-read" description = "This allows non-recursive read access to the `$PICTURE` folder." -permissions = [ - "read-all", - "scope-picture" -] +permissions = ["read-all", "scope-picture"] [[set]] identifier = "allow-picture-write" description = "This allows non-recursive write access to the `$PICTURE` folder." -permissions = [ - "write-all", - "scope-picture" -] +permissions = ["write-all", "scope-picture"] [[set]] identifier = "allow-picture-meta-recursive" description = "This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-picture-recursive" -] +permissions = ["read-meta", "scope-picture-recursive"] [[set]] identifier = "allow-picture-meta" description = "This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-picture-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-picture-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/public.toml b/plugins/fs/permissions/autogenerated/base-directories/public.toml index 6923bfdc7..159de27f9 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/public.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/public.toml @@ -9,21 +9,21 @@ identifier = "scope-public-recursive" description = "This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$PUBLIC/**" [[permission]] identifier = "scope-public" description = "This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$PUBLIC/*" [[permission]] identifier = "scope-public-index" description = "This scope permits to list all files and folders in the `$PUBLIC`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$PUBLIC/" # Sets Section @@ -32,47 +32,29 @@ path = "$PUBLIC/" [[set]] identifier = "allow-public-read-recursive" description = "This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-public-recursive" -] +permissions = ["read-all", "scope-public-recursive"] [[set]] identifier = "allow-public-write-recursive" description = "This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-public-recursive" -] +permissions = ["write-all", "scope-public-recursive"] [[set]] identifier = "allow-public-read" description = "This allows non-recursive read access to the `$PUBLIC` folder." -permissions = [ - "read-all", - "scope-public" -] +permissions = ["read-all", "scope-public"] [[set]] identifier = "allow-public-write" description = "This allows non-recursive write access to the `$PUBLIC` folder." -permissions = [ - "write-all", - "scope-public" -] +permissions = ["write-all", "scope-public"] [[set]] identifier = "allow-public-meta-recursive" description = "This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-public-recursive" -] +permissions = ["read-meta", "scope-public-recursive"] [[set]] identifier = "allow-public-meta" description = "This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-public-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-public-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/resource.toml b/plugins/fs/permissions/autogenerated/base-directories/resource.toml index eb967bf00..135694014 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/resource.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/resource.toml @@ -9,21 +9,21 @@ identifier = "scope-resource-recursive" description = "This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$RESOURCE/**" [[permission]] identifier = "scope-resource" description = "This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$RESOURCE/*" [[permission]] identifier = "scope-resource-index" description = "This scope permits to list all files and folders in the `$RESOURCE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$RESOURCE/" # Sets Section @@ -32,47 +32,29 @@ path = "$RESOURCE/" [[set]] identifier = "allow-resource-read-recursive" description = "This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-resource-recursive" -] +permissions = ["read-all", "scope-resource-recursive"] [[set]] identifier = "allow-resource-write-recursive" description = "This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-resource-recursive" -] +permissions = ["write-all", "scope-resource-recursive"] [[set]] identifier = "allow-resource-read" description = "This allows non-recursive read access to the `$RESOURCE` folder." -permissions = [ - "read-all", - "scope-resource" -] +permissions = ["read-all", "scope-resource"] [[set]] identifier = "allow-resource-write" description = "This allows non-recursive write access to the `$RESOURCE` folder." -permissions = [ - "write-all", - "scope-resource" -] +permissions = ["write-all", "scope-resource"] [[set]] identifier = "allow-resource-meta-recursive" description = "This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-resource-recursive" -] +permissions = ["read-meta", "scope-resource-recursive"] [[set]] identifier = "allow-resource-meta" description = "This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-resource-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-resource-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml index 5a442bf03..d36ac3e2b 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml @@ -9,21 +9,21 @@ identifier = "scope-runtime-recursive" description = "This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$RUNTIME/**" [[permission]] identifier = "scope-runtime" description = "This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$RUNTIME/*" [[permission]] identifier = "scope-runtime-index" description = "This scope permits to list all files and folders in the `$RUNTIME`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$RUNTIME/" # Sets Section @@ -32,47 +32,29 @@ path = "$RUNTIME/" [[set]] identifier = "allow-runtime-read-recursive" description = "This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-runtime-recursive" -] +permissions = ["read-all", "scope-runtime-recursive"] [[set]] identifier = "allow-runtime-write-recursive" description = "This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-runtime-recursive" -] +permissions = ["write-all", "scope-runtime-recursive"] [[set]] identifier = "allow-runtime-read" description = "This allows non-recursive read access to the `$RUNTIME` folder." -permissions = [ - "read-all", - "scope-runtime" -] +permissions = ["read-all", "scope-runtime"] [[set]] identifier = "allow-runtime-write" description = "This allows non-recursive write access to the `$RUNTIME` folder." -permissions = [ - "write-all", - "scope-runtime" -] +permissions = ["write-all", "scope-runtime"] [[set]] identifier = "allow-runtime-meta-recursive" description = "This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-runtime-recursive" -] +permissions = ["read-meta", "scope-runtime-recursive"] [[set]] identifier = "allow-runtime-meta" description = "This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-runtime-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-runtime-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/temp.toml b/plugins/fs/permissions/autogenerated/base-directories/temp.toml index e3c4f2438..fd0afaaa6 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/temp.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/temp.toml @@ -9,21 +9,21 @@ identifier = "scope-temp-recursive" description = "This scope recursive access to the complete `$TEMP` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$TEMP/**" [[permission]] identifier = "scope-temp" description = "This scope permits access to all files and list content of top level directories in the `$TEMP`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$TEMP/*" [[permission]] identifier = "scope-temp-index" description = "This scope permits to list all files and folders in the `$TEMP`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$TEMP/" # Sets Section @@ -32,47 +32,29 @@ path = "$TEMP/" [[set]] identifier = "allow-temp-read-recursive" description = "This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-temp-recursive" -] +permissions = ["read-all", "scope-temp-recursive"] [[set]] identifier = "allow-temp-write-recursive" description = "This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-temp-recursive" -] +permissions = ["write-all", "scope-temp-recursive"] [[set]] identifier = "allow-temp-read" description = "This allows non-recursive read access to the `$TEMP` folder." -permissions = [ - "read-all", - "scope-temp" -] +permissions = ["read-all", "scope-temp"] [[set]] identifier = "allow-temp-write" description = "This allows non-recursive write access to the `$TEMP` folder." -permissions = [ - "write-all", - "scope-temp" -] +permissions = ["write-all", "scope-temp"] [[set]] identifier = "allow-temp-meta-recursive" description = "This allows read access to metadata of the `$TEMP` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-temp-recursive" -] +permissions = ["read-meta", "scope-temp-recursive"] [[set]] identifier = "allow-temp-meta" description = "This allows read access to metadata of the `$TEMP` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-temp-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-temp-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/template.toml b/plugins/fs/permissions/autogenerated/base-directories/template.toml index 90cf68d65..89afad88c 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/template.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/template.toml @@ -9,21 +9,21 @@ identifier = "scope-template-recursive" description = "This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$TEMPLATE/**" [[permission]] identifier = "scope-template" description = "This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$TEMPLATE/*" [[permission]] identifier = "scope-template-index" description = "This scope permits to list all files and folders in the `$TEMPLATE`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$TEMPLATE/" # Sets Section @@ -32,47 +32,29 @@ path = "$TEMPLATE/" [[set]] identifier = "allow-template-read-recursive" description = "This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-template-recursive" -] +permissions = ["read-all", "scope-template-recursive"] [[set]] identifier = "allow-template-write-recursive" description = "This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-template-recursive" -] +permissions = ["write-all", "scope-template-recursive"] [[set]] identifier = "allow-template-read" description = "This allows non-recursive read access to the `$TEMPLATE` folder." -permissions = [ - "read-all", - "scope-template" -] +permissions = ["read-all", "scope-template"] [[set]] identifier = "allow-template-write" description = "This allows non-recursive write access to the `$TEMPLATE` folder." -permissions = [ - "write-all", - "scope-template" -] +permissions = ["write-all", "scope-template"] [[set]] identifier = "allow-template-meta-recursive" description = "This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-template-recursive" -] +permissions = ["read-meta", "scope-template-recursive"] [[set]] identifier = "allow-template-meta" description = "This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-template-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-template-index"] diff --git a/plugins/fs/permissions/autogenerated/base-directories/video.toml b/plugins/fs/permissions/autogenerated/base-directories/video.toml index 354060069..1aaba2cb0 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/video.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/video.toml @@ -9,21 +9,21 @@ identifier = "scope-video-recursive" description = "This scope recursive access to the complete `$VIDEO` folder, including sub directories and files." -[permission.scope.allow] +[[permission.scope.allow]] path = "$VIDEO/**" [[permission]] identifier = "scope-video" description = "This scope permits access to all files and list content of top level directories in the `$VIDEO`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$VIDEO/*" [[permission]] identifier = "scope-video-index" description = "This scope permits to list all files and folders in the `$VIDEO`folder." -[permission.scope.allow] +[[permission.scope.allow]] path = "$VIDEO/" # Sets Section @@ -32,47 +32,29 @@ path = "$VIDEO/" [[set]] identifier = "allow-video-read-recursive" description = "This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories." -permissions = [ - "read-all", - "scope-video-recursive" -] +permissions = ["read-all", "scope-video-recursive"] [[set]] identifier = "allow-video-write-recursive" description = "This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories." -permissions = [ - "write-all", - "scope-video-recursive" -] +permissions = ["write-all", "scope-video-recursive"] [[set]] identifier = "allow-video-read" description = "This allows non-recursive read access to the `$VIDEO` folder." -permissions = [ - "read-all", - "scope-video" -] +permissions = ["read-all", "scope-video"] [[set]] identifier = "allow-video-write" description = "This allows non-recursive write access to the `$VIDEO` folder." -permissions = [ - "write-all", - "scope-video" -] +permissions = ["write-all", "scope-video"] [[set]] identifier = "allow-video-meta-recursive" description = "This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-video-recursive" -] +permissions = ["read-meta", "scope-video-recursive"] [[set]] identifier = "allow-video-meta" description = "This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics." -permissions = [ - "read-meta", - "scope-video-index" -] \ No newline at end of file +permissions = ["read-meta", "scope-video-index"] From dca164f2b4e44c2e1e9e77868226cc8f13e9a3d1 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Wed, 17 Jan 2024 17:37:12 -0300 Subject: [PATCH 06/35] add permisions for commands on all plugins [skip ci] --- Cargo.lock | 24 + .../api/src-tauri/capabilities/.schema.json | 4213 +++++++++++++++++ plugins/authenticator/Cargo.toml | 8 +- plugins/authenticator/build.rs | 15 + .../authenticator/permissions/.schema.json | 332 ++ .../autogenerated/commands/init_auth.toml | 13 + .../autogenerated/commands/register.toml | 13 + .../autogenerated/commands/sign.toml | 13 + .../commands/verify_registration.toml | 13 + .../commands/verify_signature.toml | 13 + plugins/autostart/Cargo.toml | 4 + plugins/autostart/build.rs | 9 + plugins/autostart/permissions/.schema.json | 304 ++ .../autogenerated/commands/disable.toml | 13 + .../autogenerated/commands/enable.toml | 13 + .../autogenerated/commands/is_enabled.toml | 13 + plugins/barcode-scanner/Cargo.toml | 7 +- plugins/barcode-scanner/build.rs | 10 + plugins/barcode-scanner/guest-js/index.ts | 6 +- .../barcode-scanner/permissions/.schema.json | 332 ++ .../autogenerated/commands/cancel.toml | 13 + .../commands/open_app_settings.toml | 13 + .../commands/request_permissions.toml | 13 + .../autogenerated/commands/scan.toml | 13 + .../autogenerated/commands/vibrate.toml | 13 + plugins/biometric/Cargo.toml | 1 + .../android/src/main/java/BiometricPlugin.kt | 2 +- plugins/biometric/build.rs | 3 + plugins/biometric/permissions/.schema.json | 290 ++ .../autogenerated/commands/authenticate.toml | 13 + .../autogenerated/commands/status.toml | 13 + plugins/cli/Cargo.toml | 4 + plugins/cli/build.rs | 9 + plugins/cli/permissions/.schema.json | 283 ++ .../autogenerated/commands/cli_matches.toml | 13 + plugins/cli/permissions/default.toml | 4 + plugins/clipboard-manager/Cargo.toml | 7 +- plugins/clipboard-manager/build.rs | 4 + .../permissions/.schema.json | 290 ++ .../autogenerated/commands/read.toml | 13 + .../autogenerated/commands/write.toml | 13 + plugins/deep-link/Cargo.toml | 7 +- plugins/deep-link/build.rs | 4 + .../app/src-tauri/capabilities/.schema.json | 1700 +++++++ plugins/deep-link/permissions/.schema.json | 283 ++ .../autogenerated/commands/get_current.toml | 13 + plugins/deep-link/permissions/default.toml | 4 + plugins/dialog/Cargo.toml | 15 +- plugins/dialog/build.rs | 4 + plugins/dialog/permissions/.schema.json | 332 ++ .../autogenerated/commands/ask.toml | 13 + .../autogenerated/commands/confirm.toml | 13 + .../autogenerated/commands/message.toml | 13 + .../autogenerated/commands/open.toml | 13 + .../autogenerated/commands/save.toml | 13 + plugins/fs/Cargo.toml | 16 +- plugins/fs/build.rs | 2 +- plugins/fs/permissions/.schema.json | 2122 ++++++++- .../autogenerated/base-directories/app.toml | 30 +- .../base-directories/appcache.toml | 30 +- .../base-directories/appconfig.toml | 30 +- .../base-directories/appdata.toml | 30 +- .../base-directories/applocaldata.toml | 30 +- .../base-directories/applog.toml | 30 +- .../autogenerated/base-directories/audio.toml | 30 +- .../autogenerated/base-directories/cache.toml | 30 +- .../base-directories/config.toml | 30 +- .../autogenerated/base-directories/data.toml | 30 +- .../base-directories/desktop.toml | 30 +- .../base-directories/document.toml | 30 +- .../base-directories/download.toml | 30 +- .../autogenerated/base-directories/exe.toml | 30 +- .../autogenerated/base-directories/font.toml | 30 +- .../autogenerated/base-directories/home.toml | 30 +- .../base-directories/localdata.toml | 30 +- .../autogenerated/base-directories/log.toml | 30 +- .../base-directories/picture.toml | 30 +- .../base-directories/public.toml | 30 +- .../base-directories/resource.toml | 30 +- .../base-directories/runtime.toml | 30 +- .../autogenerated/base-directories/temp.toml | 30 +- .../base-directories/template.toml | 30 +- .../autogenerated/base-directories/video.toml | 30 +- plugins/global-shortcut/Cargo.toml | 8 +- plugins/global-shortcut/build.rs | 15 + .../global-shortcut/permissions/.schema.json | 332 ++ .../autogenerated/commands/is_registered.toml | 13 + .../autogenerated/commands/register.toml | 13 + .../autogenerated/commands/register_all.toml | 13 + .../autogenerated/commands/unregister.toml | 13 + .../commands/unregister_all.toml | 13 + plugins/http/Cargo.toml | 46 +- plugins/http/build.rs | 9 + plugins/http/permissions/.schema.json | 325 ++ .../autogenerated/commands/fetch.toml | 13 + .../autogenerated/commands/fetch_cancel.toml | 13 + .../commands/fetch_read_body.toml | 13 + .../autogenerated/commands/fetch_send.toml | 13 + plugins/http/permissions/default.toml | 9 + plugins/localhost/Cargo.toml | 4 +- plugins/log/Cargo.toml | 12 +- plugins/log/build.rs | 4 + plugins/log/permissions/.schema.json | 283 ++ .../autogenerated/commands/log.toml | 13 + plugins/log/permissions/default.toml | 4 + plugins/nfc/Cargo.toml | 1 + plugins/nfc/build.rs | 4 + plugins/nfc/guest-js/index.ts | 14 +- plugins/nfc/permissions/.schema.json | 304 ++ .../autogenerated/commands/is_available.toml | 13 + .../autogenerated/commands/scan.toml | 13 + .../autogenerated/commands/write.toml | 13 + plugins/notification/Cargo.toml | 13 +- plugins/notification/build.rs | 4 + plugins/notification/permissions/.schema.json | 311 ++ .../commands/is_permission_granted.toml | 13 + .../autogenerated/commands/notify.toml | 13 + .../commands/request_permission.toml | 13 + plugins/notification/permissions/default.toml | 8 + plugins/os/Cargo.toml | 8 +- plugins/os/build.rs | 18 + plugins/os/permissions/.schema.json | 374 ++ .../autogenerated/commands/arch.toml | 13 + .../autogenerated/commands/exe_extension.toml | 13 + .../autogenerated/commands/family.toml | 13 + .../autogenerated/commands/hostname.toml | 13 + .../autogenerated/commands/locale.toml | 13 + .../autogenerated/commands/os_type.toml | 13 + .../autogenerated/commands/platform.toml | 13 + .../autogenerated/commands/version.toml | 13 + plugins/persisted-scope/Cargo.toml | 6 +- plugins/positioner/Cargo.toml | 10 +- plugins/positioner/build.rs | 9 + plugins/positioner/permissions/.schema.json | 283 ++ .../autogenerated/commands/move_window.toml | 13 + plugins/positioner/permissions/default.toml | 4 + plugins/process/Cargo.toml | 8 +- plugins/process/build.rs | 9 + plugins/process/permissions/.schema.json | 290 ++ .../autogenerated/commands/exit.toml | 13 + .../autogenerated/commands/restart.toml | 13 + plugins/shell/Cargo.toml | 8 +- plugins/shell/build.rs | 9 + plugins/shell/permissions/.schema.json | 318 ++ .../autogenerated/commands/execute.toml | 13 + .../autogenerated/commands/kill.toml | 13 + .../autogenerated/commands/open.toml | 13 + .../autogenerated/commands/stdin_write.toml | 13 + .../src-tauri/capabilities/.schema.json | 1679 +++++++ plugins/sql/Cargo.toml | 20 +- plugins/sql/build.rs | 9 + plugins/sql/permissions/.schema.json | 318 ++ .../autogenerated/commands/close.toml | 13 + .../autogenerated/commands/execute.toml | 13 + .../autogenerated/commands/load.toml | 13 + .../autogenerated/commands/select.toml | 13 + plugins/store/Cargo.toml | 8 +- plugins/store/build.rs | 12 + plugins/store/permissions/.schema.json | 430 ++ .../autogenerated/commands/clear.toml | 13 + .../autogenerated/commands/delete.toml | 13 + .../autogenerated/commands/entries.toml | 13 + .../autogenerated/commands/get.toml | 13 + .../autogenerated/commands/has.toml | 13 + .../autogenerated/commands/keys.toml | 13 + .../autogenerated/commands/length.toml | 13 + .../autogenerated/commands/load.toml | 13 + .../autogenerated/commands/reset.toml | 13 + .../autogenerated/commands/save.toml | 13 + .../autogenerated/commands/set.toml | 13 + .../autogenerated/commands/values.toml | 13 + plugins/stronghold/Cargo.toml | 16 +- plugins/stronghold/build.rs | 21 + plugins/stronghold/permissions/.schema.json | 416 ++ .../autogenerated/commands/create_client.toml | 13 + .../autogenerated/commands/destroy.toml | 13 + .../commands/execute_procedure.toml | 13 + .../commands/get_store_record.toml | 13 + .../autogenerated/commands/initialize.toml | 13 + .../autogenerated/commands/load_client.toml | 13 + .../autogenerated/commands/remove_secret.toml | 13 + .../commands/remove_store_record.toml | 13 + .../autogenerated/commands/save.toml | 13 + .../autogenerated/commands/save_secret.toml | 13 + .../commands/save_store_record.toml | 13 + plugins/updater/Cargo.toml | 23 +- plugins/updater/build.rs | 4 + plugins/updater/permissions/.schema.json | 297 ++ .../autogenerated/commands/check.toml | 13 + .../commands/download_and_install.toml | 13 + plugins/updater/permissions/default.toml | 4 + .../app-updater/capabilities/.schema.json | 1714 +++++++ plugins/upload/Cargo.toml | 23 +- plugins/upload/build.rs | 9 + plugins/upload/permissions/.schema.json | 290 ++ .../autogenerated/commands/download.toml | 13 + .../autogenerated/commands/upload.toml | 13 + plugins/websocket/Cargo.toml | 18 +- plugins/websocket/build.rs | 9 + .../src-tauri/capabilities/.schema.json | 1714 +++++++ plugins/websocket/permissions/.schema.json | 297 ++ .../autogenerated/commands/connect.toml | 13 + .../autogenerated/commands/send.toml | 13 + plugins/websocket/permissions/default.toml | 4 + plugins/window-state/Cargo.toml | 8 +- plugins/window-state/build.rs | 9 + plugins/window-state/permissions/.schema.json | 290 ++ .../commands/restore_window_state.toml | 13 + .../commands/save_window_state.toml | 13 + shared/template/Cargo.toml | 3 + 210 files changed, 22933 insertions(+), 346 deletions(-) create mode 100644 examples/api/src-tauri/capabilities/.schema.json create mode 100644 plugins/authenticator/build.rs create mode 100644 plugins/authenticator/permissions/.schema.json create mode 100644 plugins/authenticator/permissions/autogenerated/commands/init_auth.toml create mode 100644 plugins/authenticator/permissions/autogenerated/commands/register.toml create mode 100644 plugins/authenticator/permissions/autogenerated/commands/sign.toml create mode 100644 plugins/authenticator/permissions/autogenerated/commands/verify_registration.toml create mode 100644 plugins/authenticator/permissions/autogenerated/commands/verify_signature.toml create mode 100644 plugins/autostart/build.rs create mode 100644 plugins/autostart/permissions/.schema.json create mode 100644 plugins/autostart/permissions/autogenerated/commands/disable.toml create mode 100644 plugins/autostart/permissions/autogenerated/commands/enable.toml create mode 100644 plugins/autostart/permissions/autogenerated/commands/is_enabled.toml create mode 100644 plugins/barcode-scanner/permissions/.schema.json create mode 100644 plugins/barcode-scanner/permissions/autogenerated/commands/cancel.toml create mode 100644 plugins/barcode-scanner/permissions/autogenerated/commands/open_app_settings.toml create mode 100644 plugins/barcode-scanner/permissions/autogenerated/commands/request_permissions.toml create mode 100644 plugins/barcode-scanner/permissions/autogenerated/commands/scan.toml create mode 100644 plugins/barcode-scanner/permissions/autogenerated/commands/vibrate.toml create mode 100644 plugins/biometric/permissions/.schema.json create mode 100644 plugins/biometric/permissions/autogenerated/commands/authenticate.toml create mode 100644 plugins/biometric/permissions/autogenerated/commands/status.toml create mode 100644 plugins/cli/build.rs create mode 100644 plugins/cli/permissions/.schema.json create mode 100644 plugins/cli/permissions/autogenerated/commands/cli_matches.toml create mode 100644 plugins/cli/permissions/default.toml create mode 100644 plugins/clipboard-manager/permissions/.schema.json create mode 100644 plugins/clipboard-manager/permissions/autogenerated/commands/read.toml create mode 100644 plugins/clipboard-manager/permissions/autogenerated/commands/write.toml create mode 100644 plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json create mode 100644 plugins/deep-link/permissions/.schema.json create mode 100644 plugins/deep-link/permissions/autogenerated/commands/get_current.toml create mode 100644 plugins/deep-link/permissions/default.toml create mode 100644 plugins/dialog/permissions/.schema.json create mode 100644 plugins/dialog/permissions/autogenerated/commands/ask.toml create mode 100644 plugins/dialog/permissions/autogenerated/commands/confirm.toml create mode 100644 plugins/dialog/permissions/autogenerated/commands/message.toml create mode 100644 plugins/dialog/permissions/autogenerated/commands/open.toml create mode 100644 plugins/dialog/permissions/autogenerated/commands/save.toml create mode 100644 plugins/global-shortcut/build.rs create mode 100644 plugins/global-shortcut/permissions/.schema.json create mode 100644 plugins/global-shortcut/permissions/autogenerated/commands/is_registered.toml create mode 100644 plugins/global-shortcut/permissions/autogenerated/commands/register.toml create mode 100644 plugins/global-shortcut/permissions/autogenerated/commands/register_all.toml create mode 100644 plugins/global-shortcut/permissions/autogenerated/commands/unregister.toml create mode 100644 plugins/global-shortcut/permissions/autogenerated/commands/unregister_all.toml create mode 100644 plugins/http/build.rs create mode 100644 plugins/http/permissions/.schema.json create mode 100644 plugins/http/permissions/autogenerated/commands/fetch.toml create mode 100644 plugins/http/permissions/autogenerated/commands/fetch_cancel.toml create mode 100644 plugins/http/permissions/autogenerated/commands/fetch_read_body.toml create mode 100644 plugins/http/permissions/autogenerated/commands/fetch_send.toml create mode 100644 plugins/http/permissions/default.toml create mode 100644 plugins/log/permissions/.schema.json create mode 100644 plugins/log/permissions/autogenerated/commands/log.toml create mode 100644 plugins/log/permissions/default.toml create mode 100644 plugins/nfc/permissions/.schema.json create mode 100644 plugins/nfc/permissions/autogenerated/commands/is_available.toml create mode 100644 plugins/nfc/permissions/autogenerated/commands/scan.toml create mode 100644 plugins/nfc/permissions/autogenerated/commands/write.toml create mode 100644 plugins/notification/permissions/.schema.json create mode 100644 plugins/notification/permissions/autogenerated/commands/is_permission_granted.toml create mode 100644 plugins/notification/permissions/autogenerated/commands/notify.toml create mode 100644 plugins/notification/permissions/autogenerated/commands/request_permission.toml create mode 100644 plugins/notification/permissions/default.toml create mode 100644 plugins/os/build.rs create mode 100644 plugins/os/permissions/.schema.json create mode 100644 plugins/os/permissions/autogenerated/commands/arch.toml create mode 100644 plugins/os/permissions/autogenerated/commands/exe_extension.toml create mode 100644 plugins/os/permissions/autogenerated/commands/family.toml create mode 100644 plugins/os/permissions/autogenerated/commands/hostname.toml create mode 100644 plugins/os/permissions/autogenerated/commands/locale.toml create mode 100644 plugins/os/permissions/autogenerated/commands/os_type.toml create mode 100644 plugins/os/permissions/autogenerated/commands/platform.toml create mode 100644 plugins/os/permissions/autogenerated/commands/version.toml create mode 100644 plugins/positioner/build.rs create mode 100644 plugins/positioner/permissions/.schema.json create mode 100644 plugins/positioner/permissions/autogenerated/commands/move_window.toml create mode 100644 plugins/positioner/permissions/default.toml create mode 100644 plugins/process/build.rs create mode 100644 plugins/process/permissions/.schema.json create mode 100644 plugins/process/permissions/autogenerated/commands/exit.toml create mode 100644 plugins/process/permissions/autogenerated/commands/restart.toml create mode 100644 plugins/shell/build.rs create mode 100644 plugins/shell/permissions/.schema.json create mode 100644 plugins/shell/permissions/autogenerated/commands/execute.toml create mode 100644 plugins/shell/permissions/autogenerated/commands/kill.toml create mode 100644 plugins/shell/permissions/autogenerated/commands/open.toml create mode 100644 plugins/shell/permissions/autogenerated/commands/stdin_write.toml create mode 100644 plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json create mode 100644 plugins/sql/build.rs create mode 100644 plugins/sql/permissions/.schema.json create mode 100644 plugins/sql/permissions/autogenerated/commands/close.toml create mode 100644 plugins/sql/permissions/autogenerated/commands/execute.toml create mode 100644 plugins/sql/permissions/autogenerated/commands/load.toml create mode 100644 plugins/sql/permissions/autogenerated/commands/select.toml create mode 100644 plugins/store/build.rs create mode 100644 plugins/store/permissions/.schema.json create mode 100644 plugins/store/permissions/autogenerated/commands/clear.toml create mode 100644 plugins/store/permissions/autogenerated/commands/delete.toml create mode 100644 plugins/store/permissions/autogenerated/commands/entries.toml create mode 100644 plugins/store/permissions/autogenerated/commands/get.toml create mode 100644 plugins/store/permissions/autogenerated/commands/has.toml create mode 100644 plugins/store/permissions/autogenerated/commands/keys.toml create mode 100644 plugins/store/permissions/autogenerated/commands/length.toml create mode 100644 plugins/store/permissions/autogenerated/commands/load.toml create mode 100644 plugins/store/permissions/autogenerated/commands/reset.toml create mode 100644 plugins/store/permissions/autogenerated/commands/save.toml create mode 100644 plugins/store/permissions/autogenerated/commands/set.toml create mode 100644 plugins/store/permissions/autogenerated/commands/values.toml create mode 100644 plugins/stronghold/build.rs create mode 100644 plugins/stronghold/permissions/.schema.json create mode 100644 plugins/stronghold/permissions/autogenerated/commands/create_client.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/destroy.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/execute_procedure.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/get_store_record.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/initialize.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/load_client.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/remove_secret.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/remove_store_record.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/save.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/save_secret.toml create mode 100644 plugins/stronghold/permissions/autogenerated/commands/save_store_record.toml create mode 100644 plugins/updater/permissions/.schema.json create mode 100644 plugins/updater/permissions/autogenerated/commands/check.toml create mode 100644 plugins/updater/permissions/autogenerated/commands/download_and_install.toml create mode 100644 plugins/updater/permissions/default.toml create mode 100644 plugins/updater/tests/app-updater/capabilities/.schema.json create mode 100644 plugins/upload/build.rs create mode 100644 plugins/upload/permissions/.schema.json create mode 100644 plugins/upload/permissions/autogenerated/commands/download.toml create mode 100644 plugins/upload/permissions/autogenerated/commands/upload.toml create mode 100644 plugins/websocket/build.rs create mode 100644 plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json create mode 100644 plugins/websocket/permissions/.schema.json create mode 100644 plugins/websocket/permissions/autogenerated/commands/connect.toml create mode 100644 plugins/websocket/permissions/autogenerated/commands/send.toml create mode 100644 plugins/websocket/permissions/default.toml create mode 100644 plugins/window-state/build.rs create mode 100644 plugins/window-state/permissions/.schema.json create mode 100644 plugins/window-state/permissions/autogenerated/commands/restore_window_state.toml create mode 100644 plugins/window-state/permissions/autogenerated/commands/save_window_state.toml diff --git a/Cargo.lock b/Cargo.lock index e44de5541..e7ce1f70a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5985,6 +5985,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "tauri", + "tauri-plugin", "thiserror", "u2f", ] @@ -5998,6 +5999,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "thiserror", ] @@ -6010,6 +6012,7 @@ dependencies = [ "serde_json", "tauri", "tauri-build", + "tauri-plugin", "thiserror", ] @@ -6023,6 +6026,7 @@ dependencies = [ "serde_repr", "tauri", "tauri-build", + "tauri-plugin", "thiserror", ] @@ -6035,6 +6039,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "thiserror", ] @@ -6048,6 +6053,7 @@ dependencies = [ "serde_json", "tauri", "tauri-build", + "tauri-plugin", "thiserror", ] @@ -6060,6 +6066,7 @@ dependencies = [ "serde_json", "tauri", "tauri-build", + "tauri-plugin", "thiserror", "url", ] @@ -6076,6 +6083,7 @@ dependencies = [ "serde_json", "tauri", "tauri-build", + "tauri-plugin", "tauri-plugin-fs", "thiserror", ] @@ -6106,6 +6114,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "thiserror", ] @@ -6120,6 +6129,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "tauri-plugin-fs", "thiserror", "url", @@ -6154,6 +6164,7 @@ dependencies = [ "swift-rs", "tauri", "tauri-build", + "tauri-plugin", "time 0.3.30", ] @@ -6167,6 +6178,7 @@ dependencies = [ "serde_repr", "tauri", "tauri-build", + "tauri-plugin", "thiserror", ] @@ -6182,6 +6194,7 @@ dependencies = [ "serde_repr", "tauri", "tauri-build", + "tauri-plugin", "thiserror", "time 0.3.30", "url", @@ -6201,6 +6214,7 @@ dependencies = [ "serialize-to-javascript", "sys-locale", "tauri", + "tauri-plugin", "thiserror", ] @@ -6227,6 +6241,7 @@ dependencies = [ "serde_json", "serde_repr", "tauri", + "tauri-plugin", "thiserror", ] @@ -6235,6 +6250,7 @@ name = "tauri-plugin-process" version = "2.0.0-alpha.6" dependencies = [ "tauri", + "tauri-plugin", ] [[package]] @@ -6250,6 +6266,7 @@ dependencies = [ "serde_json", "shared_child", "tauri", + "tauri-plugin", "thiserror", ] @@ -6276,6 +6293,7 @@ dependencies = [ "serde_json", "sqlx", "tauri", + "tauri-plugin", "thiserror", "time 0.3.30", "tokio", @@ -6289,6 +6307,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "thiserror", ] @@ -6308,6 +6327,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "thiserror", "zeroize", ] @@ -6330,6 +6350,7 @@ dependencies = [ "serde_json", "tar", "tauri", + "tauri-plugin", "tempfile", "thiserror", "time 0.3.30", @@ -6349,6 +6370,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "thiserror", "tokio", "tokio-util", @@ -6364,6 +6386,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "thiserror", "tokio", "tokio-tungstenite", @@ -6379,6 +6402,7 @@ dependencies = [ "serde", "serde_json", "tauri", + "tauri-plugin", "thiserror", ] diff --git a/examples/api/src-tauri/capabilities/.schema.json b/examples/api/src-tauri/capabilities/.schema.json new file mode 100644 index 000000000..f7fc9b201 --- /dev/null +++ b/examples/api/src-tauri/capabilities/.schema.json @@ -0,0 +1,4213 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", + "type": "object", + "required": [ + "identifier", + "permissions", + "windows" + ], + "properties": { + "context": { + "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", + "default": "local", + "allOf": [ + { + "$ref": "#/definitions/CapabilityContext" + } + ] + }, + "description": { + "description": "Description of the capability.", + "default": "", + "type": "string" + }, + "identifier": { + "description": "Identifier of the capability.", + "type": "string" + }, + "permissions": { + "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", + "type": "array", + "items": { + "$ref": "#/definitions/Identifier" + } + }, + "windows": { + "description": "List of windows that uses this capability. Can be a glob pattern.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CapabilityContext": { + "description": "Context of the capability.", + "oneOf": [ + { + "description": "Capability refers to local URL usage.", + "type": "string", + "enum": [ + "local" + ] + }, + { + "description": "Capability refers to remote usage.", + "type": "object", + "required": [ + "remote" + ], + "properties": { + "remote": { + "type": "object", + "required": [ + "domains" + ], + "properties": { + "domains": { + "description": "Remote domains this capability refers to.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "additionalProperties": false + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" + ] + }, + { + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-version" + ] + }, + { + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-name" + ] + }, + { + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-show" + ] + }, + { + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-tauri-version" + ] + }, + { + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-name" + ] + }, + { + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-version" + ] + }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" + ] + }, + { + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-hide" + ] + }, + { + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-show" + ] + }, + { + "description": "cli:default -> Allows reading the CLI matches", + "type": "string", + "enum": [ + "cli:default" + ] + }, + { + "description": "cli:deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "cli:deny-cli-matches" + ] + }, + { + "description": "cli:allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "cli:allow-cli-matches" + ] + }, + { + "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:deny-read" + ] + }, + { + "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-read" + ] + }, + { + "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-write" + ] + }, + { + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:deny-write" + ] + }, + { + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-save" + ] + }, + { + "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-confirm" + ] + }, + { + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-message" + ] + }, + { + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-open" + ] + }, + { + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-ask" + ] + }, + { + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-save" + ] + }, + { + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-confirm" + ] + }, + { + "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-message" + ] + }, + { + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-ask" + ] + }, + { + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-open" + ] + }, + { + "description": "event:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "event:default" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" + ] + }, + { + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-listen" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" + ] + }, + { + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit" + ] + }, + { + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-unlisten" + ] + }, + { + "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-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appconfig-meta" + ] + }, + { + "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-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-applog-write-recursive" + ] + }, + { + "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-audio-meta-recursive" + ] + }, + { + "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-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-font-meta-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-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-audio-meta" + ] + }, + { + "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-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "type": "string", + "enum": [ + "fs:allow-resource-read" + ] + }, + { + "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-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appconfig-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-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-video-write-recursive" + ] + }, + { + "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-applocaldata-write-recursive" + ] + }, + { + "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-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "type": "string", + "enum": [ + "fs:allow-home-read" + ] + }, + { + "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-template-meta" + ] + }, + { + "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-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-log-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-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-font-meta" + ] + }, + { + "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-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "type": "string", + "enum": [ + "fs:allow-config-write" + ] + }, + { + "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-data-meta-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-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "type": "string", + "enum": [ + "fs:allow-appdata-write" + ] + }, + { + "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-document-write-recursive" + ] + }, + { + "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-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-exe-meta" + ] + }, + { + "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-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "type": "string", + "enum": [ + "fs:allow-document-write" + ] + }, + { + "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-app-meta" + ] + }, + { + "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-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "type": "string", + "enum": [ + "fs:allow-appconfig-read" + ] + }, + { + "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-exe-meta-recursive" + ] + }, + { + "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-applog-meta-recursive" + ] + }, + { + "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-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appcache-meta-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-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-home-meta-recursive" + ] + }, + { + "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-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-localdata-meta-recursive" + ] + }, + { + "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-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "type": "string", + "enum": [ + "fs:allow-applocaldata-write" + ] + }, + { + "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-home-meta" + ] + }, + { + "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-video-meta" + ] + }, + { + "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-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-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-applocaldata-meta-recursive" + ] + }, + { + "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-log-meta" + ] + }, + { + "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-public-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-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appdata-meta" + ] + }, + { + "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-desktop-meta" + ] + }, + { + "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-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-resource-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-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-cache-write-recursive" + ] + }, + { + "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-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-runtime-meta" + ] + }, + { + "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-home-write-recursive" + ] + }, + { + "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-config-write-recursive" + ] + }, + { + "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-appcache-write-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-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-cache-meta" + ] + }, + { + "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-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-applocaldata-meta" + ] + }, + { + "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-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-applog-meta" + ] + }, + { + "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-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "type": "string", + "enum": [ + "fs:allow-temp-write" + ] + }, + { + "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-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "type": "string", + "enum": [ + "fs:allow-appcache-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-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-picture-meta" + ] + }, + { + "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-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-cache-meta-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-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-picture-write-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-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-public-write-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-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-document-meta-recursive" + ] + }, + { + "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-temp-meta" + ] + }, + { + "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-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "type": "string", + "enum": [ + "fs:allow-picture-write" + ] + }, + { + "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-app-meta-recursive" + ] + }, + { + "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-resource-write-recursive" + ] + }, + { + "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-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-localdata-meta" + ] + }, + { + "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-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-runtime-write-recursive" + ] + }, + { + "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-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "type": "string", + "enum": [ + "fs:allow-appcache-write" + ] + }, + { + "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-exe-write-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-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "type": "string", + "enum": [ + "fs:allow-picture-read" + ] + }, + { + "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-public-meta" + ] + }, + { + "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-download-meta" + ] + }, + { + "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-resource-meta" + ] + }, + { + "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-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "type": "string", + "enum": [ + "fs:allow-download-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-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "type": "string", + "enum": [ + "fs:allow-appdata-read" + ] + }, + { + "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-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-config-meta" + ] + }, + { + "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-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-desktop-meta-recursive" + ] + }, + { + "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-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-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "type": "string", + "enum": [ + "fs:allow-font-write" + ] + }, + { + "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-appdata-write-recursive" + ] + }, + { + "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-app-write-recursive" + ] + }, + { + "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-log-write-recursive" + ] + }, + { + "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-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "type": "string", + "enum": [ + "fs:allow-resource-write" + ] + }, + { + "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-localdata-write-recursive" + ] + }, + { + "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-config-meta-recursive" + ] + }, + { + "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-font-write-recursive" + ] + }, + { + "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-template-meta-recursive" + ] + }, + { + "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appdata-meta-recursive" + ] + }, + { + "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-data-write-recursive" + ] + }, + { + "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-download-meta-recursive" + ] + }, + { + "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-template-write-recursive" + ] + }, + { + "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-data-meta" + ] + }, + { + "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-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-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "type": "string", + "enum": [ + "fs:allow-applocaldata-read" + ] + }, + { + "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-audio-write-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-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "type": "string", + "enum": [ + "fs:allow-runtime-read" + ] + }, + { + "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-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-desktop-write-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-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-video-meta-recursive" + ] + }, + { + "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appcache-meta" + ] + }, + { + "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-appconfig-write-recursive" + ] + }, + { + "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-download-write-recursive" + ] + }, + { + "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-picture-meta-recursive" + ] + }, + { + "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-temp-write-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-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-document-meta" + ] + }, + { + "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-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "type": "string", + "enum": [ + "fs:allow-font-read" + ] + }, + { + "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-runtime-meta-recursive" + ] + }, + { + "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-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-temp-meta-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-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:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-read-dir" + ] + }, + { + "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-appdata-recursive" + ] + }, + { + "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-copy-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: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-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-download-recursive" + ] + }, + { + "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-home-recursive" + ] + }, + { + "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:allow-seek -> Enables the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-seek" + ] + }, + { + "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-open" + ] + }, + { + "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-audio-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:deny-write-file -> Denies the write_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-write-file" + ] + }, + { + "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: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:allow-watch -> Enables the watch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-watch" + ] + }, + { + "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-rename" + ] + }, + { + "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-document-recursive" + ] + }, + { + "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-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-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-font-recursive" + ] + }, + { + "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-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:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-unwatch" + ] + }, + { + "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-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-data-recursive" + ] + }, + { + "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-exists" + ] + }, + { + "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:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-lstat" + ] + }, + { + "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:deny-watch -> Denies the watch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-watch" + ] + }, + { + "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-localdata-recursive" + ] + }, + { + "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-unwatch" + ] + }, + { + "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-config-recursive" + ] + }, + { + "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-truncate -> Enables the truncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-truncate" + ] + }, + { + "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-appcache-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-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-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-appconfig-recursive" + ] + }, + { + "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-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-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-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-log-recursive" + ] + }, + { + "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-runtime-recursive" + ] + }, + { + "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-lstat" + ] + }, + { + "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:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-read-file" + ] + }, + { + "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-seek" + ] + }, + { + "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-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-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-applog-recursive" + ] + }, + { + "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-resource-recursive" + ] + }, + { + "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-ftruncate" + ] + }, + { + "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-video-recursive" + ] + }, + { + "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-write" + ] + }, + { + "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:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-app-recursive" + ] + }, + { + "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-picture-recursive" + ] + }, + { + "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:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-temp-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:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-exe-recursive" + ] + }, + { + "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-public-recursive" + ] + }, + { + "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-cache-recursive" + ] + }, + { + "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-desktop-recursive" + ] + }, + { + "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-write" + ] + }, + { + "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:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-copy-file" + ] + }, + { + "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-stat" + ] + }, + { + "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: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-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:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-read-file" + ] + }, + { + "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-truncate" + ] + }, + { + "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:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-open" + ] + }, + { + "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-rename" + ] + }, + { + "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:read-files -> This enables file read related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "fs:read-files" + ] + }, + { + "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-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-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "type": "string", + "enum": [ + "fs:scope-picture-index" + ] + }, + { + "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-exists" + ] + }, + { + "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "fs:read-all" + ] + }, + { + "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:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-create" + ] + }, + { + "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-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-applocaldata-recursive" + ] + }, + { + "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:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-mkdir" + ] + }, + { + "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: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-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "type": "string", + "enum": [ + "fs:scope-runtime-index" + ] + }, + { + "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-remove" + ] + }, + { + "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:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-fstat" + ] + }, + { + "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-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:allow-stat -> Enables the stat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-stat" + ] + }, + { + "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-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "type": "string", + "enum": [ + "fs:scope-home-index" + ] + }, + { + "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:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-fstat" + ] + }, + { + "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-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-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-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-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "type": "string", + "enum": [ + "fs:scope-video-index" + ] + }, + { + "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-mkdir" + ] + }, + { + "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-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-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-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-template-recursive" + ] + }, + { + "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-read" + ] + }, + { + "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:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-read-dir" + ] + }, + { + "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-read" + ] + }, + { + "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:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-create" + ] + }, + { + "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:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-write-file" + ] + }, + { + "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-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-read-text-file" + ] + }, + { + "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-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:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-remove" + ] + }, + { + "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "fs:write-files" + ] + }, + { + "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:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-ftruncate" + ] + }, + { + "description": "global-http:default -> Allows all fetch operations", + "type": "string", + "enum": [ + "global-http:default" + ] + }, + { + "description": "global-http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-http:deny-fetch-cancel" + ] + }, + { + "description": "global-http:allow-fetch -> Enables the fetch command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-http:allow-fetch" + ] + }, + { + "description": "global-http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-http:allow-fetch-send" + ] + }, + { + "description": "global-http:deny-fetch -> Denies the fetch command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-http:deny-fetch" + ] + }, + { + "description": "global-http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-http:allow-fetch-read-body" + ] + }, + { + "description": "global-http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-http:deny-fetch-read-body" + ] + }, + { + "description": "global-http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-http:deny-fetch-send" + ] + }, + { + "description": "global-http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-http:allow-fetch-cancel" + ] + }, + { + "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-unregister" + ] + }, + { + "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-register-all" + ] + }, + { + "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-unregister-all" + ] + }, + { + "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-unregister-all" + ] + }, + { + "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-register" + ] + }, + { + "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-register-all" + ] + }, + { + "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-register" + ] + }, + { + "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-is-registered" + ] + }, + { + "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-is-registered" + ] + }, + { + "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-unregister" + ] + }, + { + "description": "log:default -> Allows the log command", + "type": "string", + "enum": [ + "log:default" + ] + }, + { + "description": "log:deny-log -> Denies the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "log:deny-log" + ] + }, + { + "description": "log:allow-log -> Enables the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "log:allow-log" + ] + }, + { + "description": "menu:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "menu:default" + ] + }, + { + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-accelerator" + ] + }, + { + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-new" + ] + }, + { + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-enabled" + ] + }, + { + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-insert" + ] + }, + { + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-popup" + ] + }, + { + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove" + ] + }, + { + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-window-menu" + ] + }, + { + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-get" + ] + }, + { + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-icon" + ] + }, + { + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-enabled" + ] + }, + { + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-checked" + ] + }, + { + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-items" + ] + }, + { + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-text" + ] + }, + { + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-append" + ] + }, + { + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-prepend" + ] + }, + { + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-checked" + ] + }, + { + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-app-menu" + ] + }, + { + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-text" + ] + }, + { + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-append" + ] + }, + { + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-create-default" + ] + }, + { + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-get" + ] + }, + { + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-enabled" + ] + }, + { + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove-at" + ] + }, + { + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-checked" + ] + }, + { + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-accelerator" + ] + }, + { + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-text" + ] + }, + { + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-items" + ] + }, + { + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-popup" + ] + }, + { + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-checked" + ] + }, + { + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove" + ] + }, + { + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove-at" + ] + }, + { + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-create-default" + ] + }, + { + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-text" + ] + }, + { + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-app-menu" + ] + }, + { + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-enabled" + ] + }, + { + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-prepend" + ] + }, + { + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-new" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" + ] + }, + { + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-insert" + ] + }, + { + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-window-menu" + ] + }, + { + "description": "notification:default -> Allows requesting permission, checking permission state and sending notifications", + "type": "string", + "enum": [ + "notification:default" + ] + }, + { + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-request-permission" + ] + }, + { + "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-request-permission" + ] + }, + { + "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-notify" + ] + }, + { + "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-is-permission-granted" + ] + }, + { + "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-is-permission-granted" + ] + }, + { + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-notify" + ] + }, + { + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-version" + ] + }, + { + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-exe-extension" + ] + }, + { + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-locale" + ] + }, + { + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-platform" + ] + }, + { + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-arch" + ] + }, + { + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-hostname" + ] + }, + { + "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-platform" + ] + }, + { + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-version" + ] + }, + { + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-hostname" + ] + }, + { + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-os-type" + ] + }, + { + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-os-type" + ] + }, + { + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-exe-extension" + ] + }, + { + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-arch" + ] + }, + { + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-family" + ] + }, + { + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-family" + ] + }, + { + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-locale" + ] + }, + { + "description": "path:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "path:default" + ] + }, + { + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-extname" + ] + }, + { + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-is-absolute" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-join" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" + ] + }, + { + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-is-absolute" + ] + }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve-directory" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, + { + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-extname" + ] + }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve" + ] + }, + { + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:allow-restart" + ] + }, + { + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-exit" + ] + }, + { + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-restart" + ] + }, + { + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:allow-exit" + ] + }, + { + "description": "resources:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "resources:default" + ] + }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, + { + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:deny-close" + ] + }, + { + "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:allow-open" + ] + }, + { + "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:allow-stdin-write" + ] + }, + { + "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:allow-execute" + ] + }, + { + "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-execute" + ] + }, + { + "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:allow-kill" + ] + }, + { + "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-open" + ] + }, + { + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" + ] + }, + { + "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-kill" + ] + }, + { + "description": "tray:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "tray:default" + ] + }, + { + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-new" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" + ] + }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" + ] + }, + { + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-title" + ] + }, + { + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-menu" + ] + }, + { + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-temp-dir-path" + ] + }, + { + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-new" + ] + }, + { + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-tooltip" + ] + }, + { + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-title" + ] + }, + { + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-tooltip" + ] + }, + { + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-visible" + ] + }, + { + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon-as-template" + ] + }, + { + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-temp-dir-path" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" + ] + }, + { + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon" + ] + }, + { + "description": "updater:default -> Allows checking for new updates and installing them", + "type": "string", + "enum": [ + "updater:default" + ] + }, + { + "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:allow-check" + ] + }, + { + "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:deny-download-and-install" + ] + }, + { + "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:allow-download-and-install" + ] + }, + { + "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:deny-check" + ] + }, + { + "description": "window:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "window:default" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-visible" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" + ] + }, + { + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimizable" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-close" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" + ] + }, + { + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-focus" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-position" + ] + }, + { + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimized" + ] + }, + { + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-position" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" + ] + }, + { + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-title" + ] + }, + { + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-current-monitor" + ] + }, + { + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-available-monitors" + ] + }, + { + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-decorated" + ] + }, + { + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-size" + ] + }, + { + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximizable" + ] + }, + { + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-closable" + ] + }, + { + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-closable" + ] + }, + { + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-title" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, + { + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-size" + ] + }, + { + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-create" + ] + }, + { + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-print" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-request-user-attention" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-visible" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-request-user-attention" + ] + }, + { + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-resizable" + ] + }, + { + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimized" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-minimizable" + ] + }, + { + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-focused" + ] + }, + { + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-theme" + ] + }, + { + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-devtools" + ] + }, + { + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-position" + ] + }, + { + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-position" + ] + }, + { + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-decorations" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" + ] + }, + { + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-fullscreen" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + }, + { + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-create" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-show" + ] + }, + { + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimizable" + ] + }, + { + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-fullscreen" + ] + }, + { + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-bottom" + ] + }, + { + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-center" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-effects" + ] + }, + { + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-show" + ] + }, + { + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-maximize" + ] + }, + { + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-shadow" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-start-dragging" + ] + }, + { + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-position" + ] + }, + { + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-content-protected" + ] + }, + { + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-close" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-grab" + ] + }, + { + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-closable" + ] + }, + { + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-position" + ] + }, + { + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-fullscreen" + ] + }, + { + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-hide" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-position" + ] + }, + { + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-title" + ] + }, + { + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-size" + ] + }, + { + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-center" + ] + }, + { + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-grab" + ] + }, + { + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-primary-monitor" + ] + }, + { + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-visible" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-theme" + ] + }, + { + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unmaximize" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" + ] + }, + { + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-decorations" + ] + }, + { + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-devtools" + ] + }, + { + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-print" + ] + }, + { + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-scale-factor" + ] + }, + { + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-current-monitor" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-scale-factor" + ] + }, + { + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-resizable" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-skip-taskbar" + ] + }, + { + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-size" + ] + }, + { + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-focused" + ] + }, + { + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-hide" + ] + }, + { + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-primary-monitor" + ] + }, + { + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximized" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-effects" + ] + }, + { + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-icon" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-max-size" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" + ] + }, + { + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unminimize" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + }, + { + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" + ] + }, + { + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-minimize" + ] + }, + { + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-icon" + ] + }, + { + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-maximizable" + ] + }, + { + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-start-dragging" + ] + }, + { + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximized" + ] + }, + { + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximizable" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/authenticator/Cargo.toml b/plugins/authenticator/Cargo.toml index 2c70cbb0f..3469f864e 100644 --- a/plugins/authenticator/Cargo.toml +++ b/plugins/authenticator/Cargo.toml @@ -6,10 +6,14 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-authenticator" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/authenticator/build.rs b/plugins/authenticator/build.rs new file mode 100644 index 000000000..993df57a9 --- /dev/null +++ b/plugins/authenticator/build.rs @@ -0,0 +1,15 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &[ + "init_auth", + "register", + "verify_registration", + "sign", + "verify_signature", +]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/authenticator/permissions/.schema.json b/plugins/authenticator/permissions/.schema.json new file mode 100644 index 000000000..34b42c425 --- /dev/null +++ b/plugins/authenticator/permissions/.schema.json @@ -0,0 +1,332 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-init-auth -> Enables the init_auth command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-init-auth" + ] + }, + { + "description": "deny-init-auth -> Denies the init_auth command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-init-auth" + ] + }, + { + "description": "allow-register -> Enables the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-register" + ] + }, + { + "description": "deny-register -> Denies the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-register" + ] + }, + { + "description": "allow-sign -> Enables the sign command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-sign" + ] + }, + { + "description": "deny-sign -> Denies the sign command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-sign" + ] + }, + { + "description": "allow-verify-registration -> Enables the verify_registration command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-verify-registration" + ] + }, + { + "description": "deny-verify-registration -> Denies the verify_registration command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-verify-registration" + ] + }, + { + "description": "allow-verify-signature -> Enables the verify_signature command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-verify-signature" + ] + }, + { + "description": "deny-verify-signature -> Denies the verify_signature command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-verify-signature" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/authenticator/permissions/autogenerated/commands/init_auth.toml b/plugins/authenticator/permissions/autogenerated/commands/init_auth.toml new file mode 100644 index 000000000..ed2640dd8 --- /dev/null +++ b/plugins/authenticator/permissions/autogenerated/commands/init_auth.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-init-auth" +description = "Enables the init_auth command without any pre-configured scope." +commands.allow = ["init_auth"] + +[[permission]] +identifier = "deny-init-auth" +description = "Denies the init_auth command without any pre-configured scope." +commands.deny = ["init_auth"] diff --git a/plugins/authenticator/permissions/autogenerated/commands/register.toml b/plugins/authenticator/permissions/autogenerated/commands/register.toml new file mode 100644 index 000000000..d07242c70 --- /dev/null +++ b/plugins/authenticator/permissions/autogenerated/commands/register.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-register" +description = "Enables the register command without any pre-configured scope." +commands.allow = ["register"] + +[[permission]] +identifier = "deny-register" +description = "Denies the register command without any pre-configured scope." +commands.deny = ["register"] diff --git a/plugins/authenticator/permissions/autogenerated/commands/sign.toml b/plugins/authenticator/permissions/autogenerated/commands/sign.toml new file mode 100644 index 000000000..728fed63a --- /dev/null +++ b/plugins/authenticator/permissions/autogenerated/commands/sign.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-sign" +description = "Enables the sign command without any pre-configured scope." +commands.allow = ["sign"] + +[[permission]] +identifier = "deny-sign" +description = "Denies the sign command without any pre-configured scope." +commands.deny = ["sign"] diff --git a/plugins/authenticator/permissions/autogenerated/commands/verify_registration.toml b/plugins/authenticator/permissions/autogenerated/commands/verify_registration.toml new file mode 100644 index 000000000..8fd00b3a5 --- /dev/null +++ b/plugins/authenticator/permissions/autogenerated/commands/verify_registration.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-verify-registration" +description = "Enables the verify_registration command without any pre-configured scope." +commands.allow = ["verify_registration"] + +[[permission]] +identifier = "deny-verify-registration" +description = "Denies the verify_registration command without any pre-configured scope." +commands.deny = ["verify_registration"] diff --git a/plugins/authenticator/permissions/autogenerated/commands/verify_signature.toml b/plugins/authenticator/permissions/autogenerated/commands/verify_signature.toml new file mode 100644 index 000000000..43d2d1660 --- /dev/null +++ b/plugins/authenticator/permissions/autogenerated/commands/verify_signature.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-verify-signature" +description = "Enables the verify_signature command without any pre-configured scope." +commands.allow = ["verify_signature"] + +[[permission]] +identifier = "deny-verify-signature" +description = "Denies the verify_signature command without any pre-configured scope." +commands.deny = ["verify_signature"] diff --git a/plugins/autostart/Cargo.toml b/plugins/autostart/Cargo.toml index 639f1805b..535d6c156 100644 --- a/plugins/autostart/Cargo.toml +++ b/plugins/autostart/Cargo.toml @@ -6,11 +6,15 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-autostart" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +[build-dependencies] +tauri-plugin = { workspace = true, features = [ "build" ] } + [dependencies] serde = { workspace = true } serde_json = { workspace = true } diff --git a/plugins/autostart/build.rs b/plugins/autostart/build.rs new file mode 100644 index 000000000..2b27eff07 --- /dev/null +++ b/plugins/autostart/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["enable", "disable", "is_enabled"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/autostart/permissions/.schema.json b/plugins/autostart/permissions/.schema.json new file mode 100644 index 000000000..5252fc1b9 --- /dev/null +++ b/plugins/autostart/permissions/.schema.json @@ -0,0 +1,304 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-disable -> Enables the disable command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-disable" + ] + }, + { + "description": "deny-disable -> Denies the disable command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-disable" + ] + }, + { + "description": "allow-enable -> Enables the enable command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-enable" + ] + }, + { + "description": "deny-enable -> Denies the enable command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-enable" + ] + }, + { + "description": "allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-is-enabled" + ] + }, + { + "description": "deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-is-enabled" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/autostart/permissions/autogenerated/commands/disable.toml b/plugins/autostart/permissions/autogenerated/commands/disable.toml new file mode 100644 index 000000000..be37da722 --- /dev/null +++ b/plugins/autostart/permissions/autogenerated/commands/disable.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-disable" +description = "Enables the disable command without any pre-configured scope." +commands.allow = ["disable"] + +[[permission]] +identifier = "deny-disable" +description = "Denies the disable command without any pre-configured scope." +commands.deny = ["disable"] diff --git a/plugins/autostart/permissions/autogenerated/commands/enable.toml b/plugins/autostart/permissions/autogenerated/commands/enable.toml new file mode 100644 index 000000000..663fe0cf9 --- /dev/null +++ b/plugins/autostart/permissions/autogenerated/commands/enable.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-enable" +description = "Enables the enable command without any pre-configured scope." +commands.allow = ["enable"] + +[[permission]] +identifier = "deny-enable" +description = "Denies the enable command without any pre-configured scope." +commands.deny = ["enable"] diff --git a/plugins/autostart/permissions/autogenerated/commands/is_enabled.toml b/plugins/autostart/permissions/autogenerated/commands/is_enabled.toml new file mode 100644 index 000000000..c1488b9f9 --- /dev/null +++ b/plugins/autostart/permissions/autogenerated/commands/is_enabled.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-is-enabled" +description = "Enables the is_enabled command without any pre-configured scope." +commands.allow = ["is_enabled"] + +[[permission]] +identifier = "deny-is-enabled" +description = "Denies the is_enabled command without any pre-configured scope." +commands.deny = ["is_enabled"] diff --git a/plugins/barcode-scanner/Cargo.toml b/plugins/barcode-scanner/Cargo.toml index e7a91db14..5aaa42111 100644 --- a/plugins/barcode-scanner/Cargo.toml +++ b/plugins/barcode-scanner/Cargo.toml @@ -9,12 +9,13 @@ rust-version = { workspace = true } links = "tauri-plugin-barcode-scanner" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] -targets = [ "x86_64-linux-android" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] +targets = ["x86_64-linux-android"] [build-dependencies] tauri-build = { workspace = true } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/barcode-scanner/build.rs b/plugins/barcode-scanner/build.rs index da7cd3cc4..eb0c58ba1 100644 --- a/plugins/barcode-scanner/build.rs +++ b/plugins/barcode-scanner/build.rs @@ -2,7 +2,17 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT +const COMMANDS: &[&str] = &[ + "scan", + "cancel", + "request_permissions", + "open_app_settings", + "vibrate", +]; + fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + if let Err(error) = tauri_build::mobile::PluginBuilder::new() .android_path("android") .ios_path("ios") diff --git a/plugins/barcode-scanner/guest-js/index.ts b/plugins/barcode-scanner/guest-js/index.ts index bf2b5f410..6a6f44eeb 100644 --- a/plugins/barcode-scanner/guest-js/index.ts +++ b/plugins/barcode-scanner/guest-js/index.ts @@ -54,7 +54,7 @@ export async function cancel(): Promise { */ export async function checkPermissions(): Promise { return await invoke<{ camera: PermissionState }>( - "plugin:barcodeScanner|checkPermissions", + "plugin:barcodeScanner|check_permissions" ).then((r) => r.camera); } @@ -63,7 +63,7 @@ export async function checkPermissions(): Promise { */ export async function requestPermissions(): Promise { return await invoke<{ camera: PermissionState }>( - "plugin:barcodeScanner|requestPermissions", + "plugin:barcodeScanner|request_permissions" ).then((r) => r.camera); } @@ -71,5 +71,5 @@ export async function requestPermissions(): Promise { * Open application settings. Useful if permission was denied and the user must manually enable it. */ export async function openAppSettings(): Promise { - return await invoke("plugin:barcodeScanner|openAppSettings"); + return await invoke("plugin:barcodeScanner|open_app_settings"); } diff --git a/plugins/barcode-scanner/permissions/.schema.json b/plugins/barcode-scanner/permissions/.schema.json new file mode 100644 index 000000000..8737be33f --- /dev/null +++ b/plugins/barcode-scanner/permissions/.schema.json @@ -0,0 +1,332 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-cancel -> Enables the cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-cancel" + ] + }, + { + "description": "deny-cancel -> Denies the cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-cancel" + ] + }, + { + "description": "allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-open-app-settings" + ] + }, + { + "description": "deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-open-app-settings" + ] + }, + { + "description": "allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-request-permissions" + ] + }, + { + "description": "deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-request-permissions" + ] + }, + { + "description": "allow-scan -> Enables the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-scan" + ] + }, + { + "description": "deny-scan -> Denies the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-scan" + ] + }, + { + "description": "allow-vibrate -> Enables the vibrate command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-vibrate" + ] + }, + { + "description": "deny-vibrate -> Denies the vibrate command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-vibrate" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/cancel.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/cancel.toml new file mode 100644 index 000000000..ce1fd02a8 --- /dev/null +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/cancel.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-cancel" +description = "Enables the cancel command without any pre-configured scope." +commands.allow = ["cancel"] + +[[permission]] +identifier = "deny-cancel" +description = "Denies the cancel command without any pre-configured scope." +commands.deny = ["cancel"] diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/open_app_settings.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/open_app_settings.toml new file mode 100644 index 000000000..e1b5690e3 --- /dev/null +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/open_app_settings.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-open-app-settings" +description = "Enables the open_app_settings command without any pre-configured scope." +commands.allow = ["open_app_settings"] + +[[permission]] +identifier = "deny-open-app-settings" +description = "Denies the open_app_settings command without any pre-configured scope." +commands.deny = ["open_app_settings"] diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/request_permissions.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/request_permissions.toml new file mode 100644 index 000000000..62d38b767 --- /dev/null +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/request_permissions.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-request-permissions" +description = "Enables the request_permissions command without any pre-configured scope." +commands.allow = ["request_permissions"] + +[[permission]] +identifier = "deny-request-permissions" +description = "Denies the request_permissions command without any pre-configured scope." +commands.deny = ["request_permissions"] diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/scan.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/scan.toml new file mode 100644 index 000000000..cbb8e03bf --- /dev/null +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/scan.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-scan" +description = "Enables the scan command without any pre-configured scope." +commands.allow = ["scan"] + +[[permission]] +identifier = "deny-scan" +description = "Denies the scan command without any pre-configured scope." +commands.deny = ["scan"] diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/vibrate.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/vibrate.toml new file mode 100644 index 000000000..4df8d2f92 --- /dev/null +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/vibrate.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-vibrate" +description = "Enables the vibrate command without any pre-configured scope." +commands.allow = ["vibrate"] + +[[permission]] +identifier = "deny-vibrate" +description = "Denies the vibrate command without any pre-configured scope." +commands.deny = ["vibrate"] diff --git a/plugins/biometric/Cargo.toml b/plugins/biometric/Cargo.toml index 0803318fb..0d4de353f 100644 --- a/plugins/biometric/Cargo.toml +++ b/plugins/biometric/Cargo.toml @@ -13,6 +13,7 @@ rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] tauri-build = { workspace = true } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/biometric/android/src/main/java/BiometricPlugin.kt b/plugins/biometric/android/src/main/java/BiometricPlugin.kt index bde32f09b..11e3ddf5c 100644 --- a/plugins/biometric/android/src/main/java/BiometricPlugin.kt +++ b/plugins/biometric/android/src/main/java/BiometricPlugin.kt @@ -110,7 +110,7 @@ class BiometricPlugin(private val activity: Activity): Plugin(activity) { * Check the device's availability and type of biometric authentication. */ @Command - fun getStatus(invoke: Invoke) { + fun status(invoke: Invoke) { val manager = BiometricManager.from(activity) val biometryResult = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { manager.canAuthenticate(BiometricManager.Authenticators.BIOMETRIC_WEAK) diff --git a/plugins/biometric/build.rs b/plugins/biometric/build.rs index 743096a60..50d8a0116 100644 --- a/plugins/biometric/build.rs +++ b/plugins/biometric/build.rs @@ -3,8 +3,11 @@ // SPDX-License-Identifier: MIT use std::process::exit; +const COMMANDS: &[&str] = &["authenticate", "status"]; fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + if let Err(error) = tauri_build::mobile::PluginBuilder::new() .android_path("android") .ios_path("ios") diff --git a/plugins/biometric/permissions/.schema.json b/plugins/biometric/permissions/.schema.json new file mode 100644 index 000000000..56416a868 --- /dev/null +++ b/plugins/biometric/permissions/.schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-authenticate -> Enables the authenticate command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-authenticate" + ] + }, + { + "description": "deny-authenticate -> Denies the authenticate command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-authenticate" + ] + }, + { + "description": "allow-status -> Enables the status command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-status" + ] + }, + { + "description": "deny-status -> Denies the status command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-status" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/biometric/permissions/autogenerated/commands/authenticate.toml b/plugins/biometric/permissions/autogenerated/commands/authenticate.toml new file mode 100644 index 000000000..48e7bd159 --- /dev/null +++ b/plugins/biometric/permissions/autogenerated/commands/authenticate.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-authenticate" +description = "Enables the authenticate command without any pre-configured scope." +commands.allow = ["authenticate"] + +[[permission]] +identifier = "deny-authenticate" +description = "Denies the authenticate command without any pre-configured scope." +commands.deny = ["authenticate"] diff --git a/plugins/biometric/permissions/autogenerated/commands/status.toml b/plugins/biometric/permissions/autogenerated/commands/status.toml new file mode 100644 index 000000000..c6efc5d37 --- /dev/null +++ b/plugins/biometric/permissions/autogenerated/commands/status.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-status" +description = "Enables the status command without any pre-configured scope." +commands.allow = ["status"] + +[[permission]] +identifier = "deny-status" +description = "Denies the status command without any pre-configured scope." +commands.deny = ["status"] diff --git a/plugins/cli/Cargo.toml b/plugins/cli/Cargo.toml index ef11a612c..465a29126 100644 --- a/plugins/cli/Cargo.toml +++ b/plugins/cli/Cargo.toml @@ -6,11 +6,15 @@ edition = { workspace = true } authors = { workspace = true } license = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-cli" [package.metadata.docs.rs] rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +[build-dependencies] +tauri-plugin = { workspace = true, features = [ "build" ] } + [dependencies] serde = { workspace = true } serde_json = { workspace = true } diff --git a/plugins/cli/build.rs b/plugins/cli/build.rs new file mode 100644 index 000000000..15ff656f8 --- /dev/null +++ b/plugins/cli/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["cli_matches"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/cli/permissions/.schema.json b/plugins/cli/permissions/.schema.json new file mode 100644 index 000000000..29a8ae9d9 --- /dev/null +++ b/plugins/cli/permissions/.schema.json @@ -0,0 +1,283 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-cli-matches" + ] + }, + { + "description": "deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-cli-matches" + ] + }, + { + "description": "default -> Allows reading the CLI matches", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/cli/permissions/autogenerated/commands/cli_matches.toml b/plugins/cli/permissions/autogenerated/commands/cli_matches.toml new file mode 100644 index 000000000..803195239 --- /dev/null +++ b/plugins/cli/permissions/autogenerated/commands/cli_matches.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-cli-matches" +description = "Enables the cli_matches command without any pre-configured scope." +commands.allow = ["cli_matches"] + +[[permission]] +identifier = "deny-cli-matches" +description = "Denies the cli_matches command without any pre-configured scope." +commands.deny = ["cli_matches"] diff --git a/plugins/cli/permissions/default.toml b/plugins/cli/permissions/default.toml new file mode 100644 index 000000000..edc184e70 --- /dev/null +++ b/plugins/cli/permissions/default.toml @@ -0,0 +1,4 @@ +"$schema" = ".schema.json" +[default] +description = "Allows reading the CLI matches" +permissions = ["allow-cli-matches"] diff --git a/plugins/clipboard-manager/Cargo.toml b/plugins/clipboard-manager/Cargo.toml index b5e9df8da..29c6a610e 100644 --- a/plugins/clipboard-manager/Cargo.toml +++ b/plugins/clipboard-manager/Cargo.toml @@ -9,12 +9,13 @@ rust-version = { workspace = true } links = "tauri-plugin-clipboard-manager" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] -targets = [ "x86_64-unknown-linux-gnu", "x86_64-linux-android" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] +targets = ["x86_64-unknown-linux-gnu", "x86_64-linux-android"] [build-dependencies] tauri-build = { workspace = true } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/clipboard-manager/build.rs b/plugins/clipboard-manager/build.rs index da7cd3cc4..fc35c702f 100644 --- a/plugins/clipboard-manager/build.rs +++ b/plugins/clipboard-manager/build.rs @@ -2,7 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT +const COMMANDS: &[&str] = &["write", "read"]; + fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + if let Err(error) = tauri_build::mobile::PluginBuilder::new() .android_path("android") .ios_path("ios") diff --git a/plugins/clipboard-manager/permissions/.schema.json b/plugins/clipboard-manager/permissions/.schema.json new file mode 100644 index 000000000..35d04601b --- /dev/null +++ b/plugins/clipboard-manager/permissions/.schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read" + ] + }, + { + "description": "deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read" + ] + }, + { + "description": "allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write" + ] + }, + { + "description": "deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/clipboard-manager/permissions/autogenerated/commands/read.toml b/plugins/clipboard-manager/permissions/autogenerated/commands/read.toml new file mode 100644 index 000000000..c961d8f35 --- /dev/null +++ b/plugins/clipboard-manager/permissions/autogenerated/commands/read.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-read" +description = "Enables the read command without any pre-configured scope." +commands.allow = ["read"] + +[[permission]] +identifier = "deny-read" +description = "Denies the read command without any pre-configured scope." +commands.deny = ["read"] diff --git a/plugins/clipboard-manager/permissions/autogenerated/commands/write.toml b/plugins/clipboard-manager/permissions/autogenerated/commands/write.toml new file mode 100644 index 000000000..adc43c7aa --- /dev/null +++ b/plugins/clipboard-manager/permissions/autogenerated/commands/write.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-write" +description = "Enables the write command without any pre-configured scope." +commands.allow = ["write"] + +[[permission]] +identifier = "deny-write" +description = "Denies the write command without any pre-configured scope." +commands.deny = ["write"] diff --git a/plugins/deep-link/Cargo.toml b/plugins/deep-link/Cargo.toml index e5ca7ea70..d3742643c 100644 --- a/plugins/deep-link/Cargo.toml +++ b/plugins/deep-link/Cargo.toml @@ -9,14 +9,15 @@ rust-version = { workspace = true } links = "tauri-plugin-deep-link" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] -targets = [ "x86_64-linux-android" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] +targets = ["x86_64-linux-android"] [build-dependencies] serde = { workspace = true } serde_json = { workspace = true } tauri-build = { workspace = true } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/deep-link/build.rs b/plugins/deep-link/build.rs index 6e06ccadd..90cab7808 100644 --- a/plugins/deep-link/build.rs +++ b/plugins/deep-link/build.rs @@ -6,6 +6,8 @@ mod config; use config::{AssociatedDomain, Config}; +const COMMANDS: &[&str] = &["get_current"]; + // TODO: Consider using activity-alias in case users may have multiple activities in their app. // TODO: Do we want to support the other path* configs too? fn intent_filter(domain: &AssociatedDomain) -> String { @@ -30,6 +32,8 @@ fn intent_filter(domain: &AssociatedDomain) -> String { } fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + if let Err(error) = tauri_build::mobile::PluginBuilder::new() .android_path("android") .run() diff --git a/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json b/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json new file mode 100644 index 000000000..2d32a72af --- /dev/null +++ b/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json @@ -0,0 +1,1700 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", + "type": "object", + "required": [ + "identifier", + "permissions", + "windows" + ], + "properties": { + "context": { + "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", + "default": "local", + "allOf": [ + { + "$ref": "#/definitions/CapabilityContext" + } + ] + }, + "description": { + "description": "Description of the capability.", + "default": "", + "type": "string" + }, + "identifier": { + "description": "Identifier of the capability.", + "type": "string" + }, + "permissions": { + "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", + "type": "array", + "items": { + "$ref": "#/definitions/Identifier" + } + }, + "windows": { + "description": "List of windows that uses this capability. Can be a glob pattern.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CapabilityContext": { + "description": "Context of the capability.", + "oneOf": [ + { + "description": "Capability refers to local URL usage.", + "type": "string", + "enum": [ + "local" + ] + }, + { + "description": "Capability refers to remote usage.", + "type": "object", + "required": [ + "remote" + ], + "properties": { + "remote": { + "type": "object", + "required": [ + "domains" + ], + "properties": { + "domains": { + "description": "Remote domains this capability refers to.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "additionalProperties": false + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" + ] + }, + { + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-show" + ] + }, + { + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-name" + ] + }, + { + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-show" + ] + }, + { + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-name" + ] + }, + { + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-tauri-version" + ] + }, + { + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-hide" + ] + }, + { + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-version" + ] + }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, + { + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-version" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" + ] + }, + { + "description": "deep-link:default -> Allows reading the opened deep link via the get_current command", + "type": "string", + "enum": [ + "deep-link:default" + ] + }, + { + "description": "deep-link:deny-get-current -> Denies the get_current command without any pre-configured scope.", + "type": "string", + "enum": [ + "deep-link:deny-get-current" + ] + }, + { + "description": "deep-link:allow-get-current -> Enables the get_current command without any pre-configured scope.", + "type": "string", + "enum": [ + "deep-link:allow-get-current" + ] + }, + { + "description": "event:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "event:default" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" + ] + }, + { + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-unlisten" + ] + }, + { + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit" + ] + }, + { + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-listen" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" + ] + }, + { + "description": "menu:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "menu:default" + ] + }, + { + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-get" + ] + }, + { + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-enabled" + ] + }, + { + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-icon" + ] + }, + { + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-checked" + ] + }, + { + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-enabled" + ] + }, + { + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-enabled" + ] + }, + { + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-popup" + ] + }, + { + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-prepend" + ] + }, + { + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-create-default" + ] + }, + { + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-items" + ] + }, + { + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove" + ] + }, + { + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove-at" + ] + }, + { + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove-at" + ] + }, + { + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-text" + ] + }, + { + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-append" + ] + }, + { + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-popup" + ] + }, + { + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-enabled" + ] + }, + { + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-text" + ] + }, + { + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-prepend" + ] + }, + { + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-checked" + ] + }, + { + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-new" + ] + }, + { + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-text" + ] + }, + { + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-accelerator" + ] + }, + { + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-checked" + ] + }, + { + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-checked" + ] + }, + { + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-text" + ] + }, + { + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-insert" + ] + }, + { + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove" + ] + }, + { + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-app-menu" + ] + }, + { + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-items" + ] + }, + { + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-get" + ] + }, + { + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-window-menu" + ] + }, + { + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-append" + ] + }, + { + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-new" + ] + }, + { + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-window-menu" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" + ] + }, + { + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-accelerator" + ] + }, + { + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-insert" + ] + }, + { + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-create-default" + ] + }, + { + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-app-menu" + ] + }, + { + "description": "path:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "path:default" + ] + }, + { + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-extname" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" + ] + }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-join" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-is-absolute" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve-directory" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, + { + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve" + ] + }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, + { + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-is-absolute" + ] + }, + { + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-extname" + ] + }, + { + "description": "resources:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "resources:default" + ] + }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, + { + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:deny-close" + ] + }, + { + "description": "tray:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "tray:default" + ] + }, + { + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-new" + ] + }, + { + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-tooltip" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" + ] + }, + { + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" + ] + }, + { + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-tooltip" + ] + }, + { + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-visible" + ] + }, + { + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, + { + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-title" + ] + }, + { + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-title" + ] + }, + { + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-new" + ] + }, + { + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon" + ] + }, + { + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon-as-template" + ] + }, + { + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-menu" + ] + }, + { + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-temp-dir-path" + ] + }, + { + "description": "window:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "window:default" + ] + }, + { + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-fullscreen" + ] + }, + { + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-shadow" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-position" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" + ] + }, + { + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-max-size" + ] + }, + { + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-start-dragging" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-title" + ] + }, + { + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-scale-factor" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-primary-monitor" + ] + }, + { + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-content-protected" + ] + }, + { + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-request-user-attention" + ] + }, + { + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + }, + { + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-decorated" + ] + }, + { + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-resizable" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" + ] + }, + { + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-decorations" + ] + }, + { + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-hide" + ] + }, + { + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-visible" + ] + }, + { + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-current-monitor" + ] + }, + { + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-size" + ] + }, + { + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unmaximize" + ] + }, + { + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-size" + ] + }, + { + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-visible" + ] + }, + { + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-bottom" + ] + }, + { + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-theme" + ] + }, + { + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-decorations" + ] + }, + { + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-minimizable" + ] + }, + { + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-closable" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + }, + { + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-position" + ] + }, + { + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-closable" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" + ] + }, + { + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-hide" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-request-user-attention" + ] + }, + { + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-position" + ] + }, + { + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimized" + ] + }, + { + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-create" + ] + }, + { + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimized" + ] + }, + { + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-focus" + ] + }, + { + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-title" + ] + }, + { + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-icon" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" + ] + }, + { + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-create" + ] + }, + { + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-focused" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" + ] + }, + { + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-fullscreen" + ] + }, + { + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximized" + ] + }, + { + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-position" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-start-dragging" + ] + }, + { + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimizable" + ] + }, + { + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-available-monitors" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-visible" + ] + }, + { + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-effects" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-center" + ] + }, + { + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-center" + ] + }, + { + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-icon" + ] + }, + { + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-devtools" + ] + }, + { + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-minimize" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" + ] + }, + { + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-show" + ] + }, + { + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-devtools" + ] + }, + { + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-scale-factor" + ] + }, + { + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-fullscreen" + ] + }, + { + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-title" + ] + }, + { + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-show" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximizable" + ] + }, + { + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-maximize" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-current-monitor" + ] + }, + { + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-primary-monitor" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, + { + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-position" + ] + }, + { + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-position" + ] + }, + { + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-size" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-focused" + ] + }, + { + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximized" + ] + }, + { + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-grab" + ] + }, + { + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-grab" + ] + }, + { + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-resizable" + ] + }, + { + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-position" + ] + }, + { + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-close" + ] + }, + { + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-print" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-ignore-cursor-events" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-closable" + ] + }, + { + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-theme" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-print" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximizable" + ] + }, + { + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimizable" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-close" + ] + }, + { + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-effects" + ] + }, + { + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-size" + ] + }, + { + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unminimize" + ] + }, + { + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-maximizable" + ] + }, + { + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-skip-taskbar" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/deep-link/permissions/.schema.json b/plugins/deep-link/permissions/.schema.json new file mode 100644 index 000000000..7d435502e --- /dev/null +++ b/plugins/deep-link/permissions/.schema.json @@ -0,0 +1,283 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-get-current -> Enables the get_current command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-get-current" + ] + }, + { + "description": "deny-get-current -> Denies the get_current command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-get-current" + ] + }, + { + "description": "default -> Allows reading the opened deep link via the get_current command", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/deep-link/permissions/autogenerated/commands/get_current.toml b/plugins/deep-link/permissions/autogenerated/commands/get_current.toml new file mode 100644 index 000000000..b48e3e42d --- /dev/null +++ b/plugins/deep-link/permissions/autogenerated/commands/get_current.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-get-current" +description = "Enables the get_current command without any pre-configured scope." +commands.allow = ["get_current"] + +[[permission]] +identifier = "deny-get-current" +description = "Denies the get_current command without any pre-configured scope." +commands.deny = ["get_current"] diff --git a/plugins/deep-link/permissions/default.toml b/plugins/deep-link/permissions/default.toml new file mode 100644 index 000000000..724c107ee --- /dev/null +++ b/plugins/deep-link/permissions/default.toml @@ -0,0 +1,4 @@ +"$schema" = ".schema.json" +[default] +description = "Allows reading the opened deep link via the get_current command" +permissions = ["allow-get-current"] diff --git a/plugins/dialog/Cargo.toml b/plugins/dialog/Cargo.toml index e4db3a1eb..9196ee6a3 100644 --- a/plugins/dialog/Cargo.toml +++ b/plugins/dialog/Cargo.toml @@ -9,9 +9,13 @@ rust-version = { workspace = true } links = "tauri-plugin-dialog" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] -targets = [ "x86_64-unknown-linux-gnu", "x86_64-linux-android" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] +targets = ["x86_64-unknown-linux-gnu", "x86_64-linux-android"] + +[build-dependencies] +tauri-build = { workspace = true } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -25,8 +29,5 @@ tauri-plugin-fs = { path = "../fs", version = "2.0.0-alpha.6" } glib = "0.16" [target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies] -rfd = { version = "=0.12.0", features = [ "gtk3", "common-controls-v6" ] } +rfd = { version = "=0.12.0", features = ["gtk3", "common-controls-v6"] } raw-window-handle = "0.5" - -[build-dependencies] -tauri-build = { workspace = true } diff --git a/plugins/dialog/build.rs b/plugins/dialog/build.rs index da7cd3cc4..ad270fb09 100644 --- a/plugins/dialog/build.rs +++ b/plugins/dialog/build.rs @@ -2,7 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT +const COMMANDS: &[&str] = &["open", "save", "message", "ask", "confirm"]; + fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + if let Err(error) = tauri_build::mobile::PluginBuilder::new() .android_path("android") .ios_path("ios") diff --git a/plugins/dialog/permissions/.schema.json b/plugins/dialog/permissions/.schema.json new file mode 100644 index 000000000..0d1938f63 --- /dev/null +++ b/plugins/dialog/permissions/.schema.json @@ -0,0 +1,332 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-ask -> Enables the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-ask" + ] + }, + { + "description": "deny-ask -> Denies the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-ask" + ] + }, + { + "description": "allow-confirm -> Enables the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-confirm" + ] + }, + { + "description": "deny-confirm -> Denies the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-confirm" + ] + }, + { + "description": "allow-message -> Enables the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-message" + ] + }, + { + "description": "deny-message -> Denies the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-message" + ] + }, + { + "description": "allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-open" + ] + }, + { + "description": "deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-open" + ] + }, + { + "description": "allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save" + ] + }, + { + "description": "deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/dialog/permissions/autogenerated/commands/ask.toml b/plugins/dialog/permissions/autogenerated/commands/ask.toml new file mode 100644 index 000000000..f83b42ef3 --- /dev/null +++ b/plugins/dialog/permissions/autogenerated/commands/ask.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-ask" +description = "Enables the ask command without any pre-configured scope." +commands.allow = ["ask"] + +[[permission]] +identifier = "deny-ask" +description = "Denies the ask command without any pre-configured scope." +commands.deny = ["ask"] diff --git a/plugins/dialog/permissions/autogenerated/commands/confirm.toml b/plugins/dialog/permissions/autogenerated/commands/confirm.toml new file mode 100644 index 000000000..8a8260d8d --- /dev/null +++ b/plugins/dialog/permissions/autogenerated/commands/confirm.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-confirm" +description = "Enables the confirm command without any pre-configured scope." +commands.allow = ["confirm"] + +[[permission]] +identifier = "deny-confirm" +description = "Denies the confirm command without any pre-configured scope." +commands.deny = ["confirm"] diff --git a/plugins/dialog/permissions/autogenerated/commands/message.toml b/plugins/dialog/permissions/autogenerated/commands/message.toml new file mode 100644 index 000000000..8ab1c3ae2 --- /dev/null +++ b/plugins/dialog/permissions/autogenerated/commands/message.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-message" +description = "Enables the message command without any pre-configured scope." +commands.allow = ["message"] + +[[permission]] +identifier = "deny-message" +description = "Denies the message command without any pre-configured scope." +commands.deny = ["message"] diff --git a/plugins/dialog/permissions/autogenerated/commands/open.toml b/plugins/dialog/permissions/autogenerated/commands/open.toml new file mode 100644 index 000000000..8d1ef53c5 --- /dev/null +++ b/plugins/dialog/permissions/autogenerated/commands/open.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-open" +description = "Enables the open command without any pre-configured scope." +commands.allow = ["open"] + +[[permission]] +identifier = "deny-open" +description = "Denies the open command without any pre-configured scope." +commands.deny = ["open"] diff --git a/plugins/dialog/permissions/autogenerated/commands/save.toml b/plugins/dialog/permissions/autogenerated/commands/save.toml new file mode 100644 index 000000000..fb9bfbc36 --- /dev/null +++ b/plugins/dialog/permissions/autogenerated/commands/save.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-save" +description = "Enables the save command without any pre-configured scope." +commands.allow = ["save"] + +[[permission]] +identifier = "deny-save" +description = "Denies the save command without any pre-configured scope." +commands.deny = ["save"] diff --git a/plugins/fs/Cargo.toml b/plugins/fs/Cargo.toml index 8b1b66ae3..92b3d8b33 100644 --- a/plugins/fs/Cargo.toml +++ b/plugins/fs/Cargo.toml @@ -9,11 +9,11 @@ rust-version = { workspace = true } links = "tauri-plugin-fs" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] -tauri-plugin = { workspace = true, features = [ "build" ] } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -22,10 +22,12 @@ tauri = { workspace = true } thiserror = { workspace = true } url = { workspace = true } anyhow = "1" -uuid = { version = "1", features = [ "v4" ] } +uuid = { version = "1", features = ["v4"] } glob = "0.3" -notify = { version = "6", optional = true, features = [ "serde" ] } -notify-debouncer-mini = { version = "0.4", optional = true, features = [ "serde" ] } +notify = { version = "6", optional = true, features = ["serde"] } +notify-debouncer-mini = { version = "0.4", optional = true, features = [ + "serde", +] } [features] -watch = [ "notify", "notify-debouncer-mini" ] +watch = ["notify", "notify-debouncer-mini"] diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index 5322a5c07..ee58891a3 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -147,7 +147,7 @@ permissions = [ ); std::fs::write(base_dirs.join(format!("{lower}.toml")), toml) - .expect(&format!("unable to autogenerate ${upper}")); + .unwrap_or_else(|e| panic!("unable to autogenerate ${upper}: {e}")); } tauri_plugin::Builder::new(COMMANDS).build(); diff --git a/plugins/fs/permissions/.schema.json b/plugins/fs/permissions/.schema.json index d35823e90..17839e06f 100644 --- a/plugins/fs/permissions/.schema.json +++ b/plugins/fs/permissions/.schema.json @@ -25,10 +25,22 @@ }, "set": { "description": "A list of permissions sets defined", + "default": [], "type": "array", "items": { "$ref": "#/definitions/PermissionSet" } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] } }, "definitions": { @@ -55,21 +67,12 @@ } }, "DefaultPermission": { - "description": "The default permission of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", "type": "object", + "required": [ + "permissions" + ], "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, "description": { "description": "Human-readable description of what the permission does.", "type": [ @@ -77,17 +80,12 @@ "null" ] }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } }, "version": { "description": "The version of the permission.", @@ -168,57 +166,2041 @@ } } }, - "PermissionSet": { - "description": "A set of permissions or other permission sets.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-app-read-recursive" + ] }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" + { + "description": "allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-app-write-recursive" + ] }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "anyOf": [ - { - "$ref": "#/definitions/Value" - }, - { - "type": "null" - } + { + "description": "allow-app-read -> This allows non-recursive read access to the `$APP` folder.", + "type": "string", + "enum": [ + "allow-app-read" ] }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "anyOf": [ - { - "$ref": "#/definitions/Value" - }, - { - "type": "null" - } + { + "description": "allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "type": "string", + "enum": [ + "allow-app-write" + ] + }, + { + "description": "allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-app-meta-recursive" + ] + }, + { + "description": "allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-app-meta" + ] + }, + { + "description": "scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-app-recursive" + ] + }, + { + "description": "scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", + "type": "string", + "enum": [ + "scope-app" + ] + }, + { + "description": "scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "type": "string", + "enum": [ + "scope-app-index" + ] + }, + { + "description": "allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appcache-read-recursive" + ] + }, + { + "description": "allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appcache-write-recursive" + ] + }, + { + "description": "allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "type": "string", + "enum": [ + "allow-appcache-read" + ] + }, + { + "description": "allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "type": "string", + "enum": [ + "allow-appcache-write" + ] + }, + { + "description": "allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appcache-meta-recursive" + ] + }, + { + "description": "allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appcache-meta" + ] + }, + { + "description": "scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-appcache-recursive" + ] + }, + { + "description": "scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "type": "string", + "enum": [ + "scope-appcache" + ] + }, + { + "description": "scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "type": "string", + "enum": [ + "scope-appcache-index" + ] + }, + { + "description": "allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appconfig-read-recursive" + ] + }, + { + "description": "allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appconfig-write-recursive" + ] + }, + { + "description": "allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "type": "string", + "enum": [ + "allow-appconfig-read" + ] + }, + { + "description": "allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", + "type": "string", + "enum": [ + "allow-appconfig-write" + ] + }, + { + "description": "allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appconfig-meta-recursive" + ] + }, + { + "description": "allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appconfig-meta" + ] + }, + { + "description": "scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-appconfig-recursive" + ] + }, + { + "description": "scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "type": "string", + "enum": [ + "scope-appconfig" + ] + }, + { + "description": "scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "type": "string", + "enum": [ + "scope-appconfig-index" + ] + }, + { + "description": "allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appdata-read-recursive" + ] + }, + { + "description": "allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appdata-write-recursive" + ] + }, + { + "description": "allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "type": "string", + "enum": [ + "allow-appdata-read" + ] + }, + { + "description": "allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "type": "string", + "enum": [ + "allow-appdata-write" + ] + }, + { + "description": "allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appdata-meta-recursive" + ] + }, + { + "description": "allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appdata-meta" + ] + }, + { + "description": "scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-appdata-recursive" + ] + }, + { + "description": "scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "type": "string", + "enum": [ + "scope-appdata" + ] + }, + { + "description": "scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "type": "string", + "enum": [ + "scope-appdata-index" + ] + }, + { + "description": "allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-applocaldata-read-recursive" + ] + }, + { + "description": "allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-applocaldata-write-recursive" + ] + }, + { + "description": "allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "type": "string", + "enum": [ + "allow-applocaldata-read" + ] + }, + { + "description": "allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "type": "string", + "enum": [ + "allow-applocaldata-write" ] + }, + { + "description": "allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-applocaldata-meta-recursive" + ] + }, + { + "description": "allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-applocaldata-meta" + ] + }, + { + "description": "scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-applocaldata-recursive" + ] + }, + { + "description": "scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "type": "string", + "enum": [ + "scope-applocaldata" + ] + }, + { + "description": "scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "type": "string", + "enum": [ + "scope-applocaldata-index" + ] + }, + { + "description": "allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-applog-read-recursive" + ] + }, + { + "description": "allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-applog-write-recursive" + ] + }, + { + "description": "allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "type": "string", + "enum": [ + "allow-applog-read" + ] + }, + { + "description": "allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "type": "string", + "enum": [ + "allow-applog-write" + ] + }, + { + "description": "allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-applog-meta-recursive" + ] + }, + { + "description": "allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-applog-meta" + ] + }, + { + "description": "scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-applog-recursive" + ] + }, + { + "description": "scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "type": "string", + "enum": [ + "scope-applog" + ] + }, + { + "description": "scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "type": "string", + "enum": [ + "scope-applog-index" + ] + }, + { + "description": "allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-audio-read-recursive" + ] + }, + { + "description": "allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-audio-write-recursive" + ] + }, + { + "description": "allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "type": "string", + "enum": [ + "allow-audio-read" + ] + }, + { + "description": "allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "type": "string", + "enum": [ + "allow-audio-write" + ] + }, + { + "description": "allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-audio-meta-recursive" + ] + }, + { + "description": "allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-audio-meta" + ] + }, + { + "description": "scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-audio-recursive" + ] + }, + { + "description": "scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "type": "string", + "enum": [ + "scope-audio" + ] + }, + { + "description": "scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "type": "string", + "enum": [ + "scope-audio-index" + ] + }, + { + "description": "allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-cache-read-recursive" + ] + }, + { + "description": "allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-cache-write-recursive" + ] + }, + { + "description": "allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "type": "string", + "enum": [ + "allow-cache-read" + ] + }, + { + "description": "allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "type": "string", + "enum": [ + "allow-cache-write" + ] + }, + { + "description": "allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-cache-meta-recursive" + ] + }, + { + "description": "allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-cache-meta" + ] + }, + { + "description": "scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-cache-recursive" + ] + }, + { + "description": "scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "type": "string", + "enum": [ + "scope-cache" + ] + }, + { + "description": "scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "type": "string", + "enum": [ + "scope-cache-index" + ] + }, + { + "description": "allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-config-read-recursive" + ] + }, + { + "description": "allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-config-write-recursive" + ] + }, + { + "description": "allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", + "type": "string", + "enum": [ + "allow-config-read" + ] + }, + { + "description": "allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "type": "string", + "enum": [ + "allow-config-write" + ] + }, + { + "description": "allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-config-meta-recursive" + ] + }, + { + "description": "allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-config-meta" + ] + }, + { + "description": "scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-config-recursive" + ] + }, + { + "description": "scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "type": "string", + "enum": [ + "scope-config" + ] + }, + { + "description": "scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "type": "string", + "enum": [ + "scope-config-index" + ] + }, + { + "description": "allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-data-read-recursive" + ] + }, + { + "description": "allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-data-write-recursive" + ] + }, + { + "description": "allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "type": "string", + "enum": [ + "allow-data-read" + ] + }, + { + "description": "allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "type": "string", + "enum": [ + "allow-data-write" + ] + }, + { + "description": "allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-data-meta-recursive" + ] + }, + { + "description": "allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-data-meta" + ] + }, + { + "description": "scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-data-recursive" + ] + }, + { + "description": "scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "type": "string", + "enum": [ + "scope-data" + ] + }, + { + "description": "scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "type": "string", + "enum": [ + "scope-data-index" + ] + }, + { + "description": "allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-desktop-read-recursive" + ] + }, + { + "description": "allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-desktop-write-recursive" + ] + }, + { + "description": "allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "type": "string", + "enum": [ + "allow-desktop-read" + ] + }, + { + "description": "allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "type": "string", + "enum": [ + "allow-desktop-write" + ] + }, + { + "description": "allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-desktop-meta-recursive" + ] + }, + { + "description": "allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-desktop-meta" + ] + }, + { + "description": "scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-desktop-recursive" + ] + }, + { + "description": "scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "type": "string", + "enum": [ + "scope-desktop" + ] + }, + { + "description": "scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "type": "string", + "enum": [ + "scope-desktop-index" + ] + }, + { + "description": "allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-document-read-recursive" + ] + }, + { + "description": "allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-document-write-recursive" + ] + }, + { + "description": "allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "type": "string", + "enum": [ + "allow-document-read" + ] + }, + { + "description": "allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "type": "string", + "enum": [ + "allow-document-write" + ] + }, + { + "description": "allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-document-meta-recursive" + ] + }, + { + "description": "allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-document-meta" + ] + }, + { + "description": "scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-document-recursive" + ] + }, + { + "description": "scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "type": "string", + "enum": [ + "scope-document" + ] + }, + { + "description": "scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "type": "string", + "enum": [ + "scope-document-index" + ] + }, + { + "description": "allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-download-read-recursive" + ] + }, + { + "description": "allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-download-write-recursive" + ] + }, + { + "description": "allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "type": "string", + "enum": [ + "allow-download-read" + ] + }, + { + "description": "allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", + "type": "string", + "enum": [ + "allow-download-write" + ] + }, + { + "description": "allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-download-meta-recursive" + ] + }, + { + "description": "allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-download-meta" + ] + }, + { + "description": "scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-download-recursive" + ] + }, + { + "description": "scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "type": "string", + "enum": [ + "scope-download" + ] + }, + { + "description": "scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "type": "string", + "enum": [ + "scope-download-index" + ] + }, + { + "description": "allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-exe-read-recursive" + ] + }, + { + "description": "allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-exe-write-recursive" + ] + }, + { + "description": "allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "type": "string", + "enum": [ + "allow-exe-read" + ] + }, + { + "description": "allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", + "type": "string", + "enum": [ + "allow-exe-write" + ] + }, + { + "description": "allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-exe-meta-recursive" + ] + }, + { + "description": "allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-exe-meta" + ] + }, + { + "description": "scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-exe-recursive" + ] + }, + { + "description": "scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "type": "string", + "enum": [ + "scope-exe" + ] + }, + { + "description": "scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "type": "string", + "enum": [ + "scope-exe-index" + ] + }, + { + "description": "allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-font-read-recursive" + ] + }, + { + "description": "allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-font-write-recursive" + ] + }, + { + "description": "allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "type": "string", + "enum": [ + "allow-font-read" + ] + }, + { + "description": "allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "type": "string", + "enum": [ + "allow-font-write" + ] + }, + { + "description": "allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-font-meta-recursive" + ] + }, + { + "description": "allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-font-meta" + ] + }, + { + "description": "scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-font-recursive" + ] + }, + { + "description": "scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "type": "string", + "enum": [ + "scope-font" + ] + }, + { + "description": "scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "type": "string", + "enum": [ + "scope-font-index" + ] + }, + { + "description": "allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-home-read-recursive" + ] + }, + { + "description": "allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-home-write-recursive" + ] + }, + { + "description": "allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "type": "string", + "enum": [ + "allow-home-read" + ] + }, + { + "description": "allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "type": "string", + "enum": [ + "allow-home-write" + ] + }, + { + "description": "allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-home-meta-recursive" + ] + }, + { + "description": "allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-home-meta" + ] + }, + { + "description": "scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-home-recursive" + ] + }, + { + "description": "scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "type": "string", + "enum": [ + "scope-home" + ] + }, + { + "description": "scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "type": "string", + "enum": [ + "scope-home-index" + ] + }, + { + "description": "allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-localdata-read-recursive" + ] + }, + { + "description": "allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-localdata-write-recursive" + ] + }, + { + "description": "allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "type": "string", + "enum": [ + "allow-localdata-read" + ] + }, + { + "description": "allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "type": "string", + "enum": [ + "allow-localdata-write" + ] + }, + { + "description": "allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-localdata-meta-recursive" + ] + }, + { + "description": "allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-localdata-meta" + ] + }, + { + "description": "scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-localdata-recursive" + ] + }, + { + "description": "scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "type": "string", + "enum": [ + "scope-localdata" + ] + }, + { + "description": "scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "type": "string", + "enum": [ + "scope-localdata-index" + ] + }, + { + "description": "allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-log-read-recursive" + ] + }, + { + "description": "allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-log-write-recursive" + ] + }, + { + "description": "allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "type": "string", + "enum": [ + "allow-log-read" + ] + }, + { + "description": "allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "type": "string", + "enum": [ + "allow-log-write" + ] + }, + { + "description": "allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-log-meta-recursive" + ] + }, + { + "description": "allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-log-meta" + ] + }, + { + "description": "scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-log-recursive" + ] + }, + { + "description": "scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "type": "string", + "enum": [ + "scope-log" + ] + }, + { + "description": "scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "type": "string", + "enum": [ + "scope-log-index" + ] + }, + { + "description": "allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-picture-read-recursive" + ] + }, + { + "description": "allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-picture-write-recursive" + ] + }, + { + "description": "allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "type": "string", + "enum": [ + "allow-picture-read" + ] + }, + { + "description": "allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "type": "string", + "enum": [ + "allow-picture-write" + ] + }, + { + "description": "allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-picture-meta-recursive" + ] + }, + { + "description": "allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-picture-meta" + ] + }, + { + "description": "scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-picture-recursive" + ] + }, + { + "description": "scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", + "type": "string", + "enum": [ + "scope-picture" + ] + }, + { + "description": "scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "type": "string", + "enum": [ + "scope-picture-index" + ] + }, + { + "description": "allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-public-read-recursive" + ] + }, + { + "description": "allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-public-write-recursive" + ] + }, + { + "description": "allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "type": "string", + "enum": [ + "allow-public-read" + ] + }, + { + "description": "allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "type": "string", + "enum": [ + "allow-public-write" + ] + }, + { + "description": "allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-public-meta-recursive" + ] + }, + { + "description": "allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-public-meta" + ] + }, + { + "description": "scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-public-recursive" + ] + }, + { + "description": "scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", + "type": "string", + "enum": [ + "scope-public" + ] + }, + { + "description": "scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "type": "string", + "enum": [ + "scope-public-index" + ] + }, + { + "description": "allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-resource-read-recursive" + ] + }, + { + "description": "allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-resource-write-recursive" + ] + }, + { + "description": "allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "type": "string", + "enum": [ + "allow-resource-read" + ] + }, + { + "description": "allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "type": "string", + "enum": [ + "allow-resource-write" + ] + }, + { + "description": "allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-resource-meta-recursive" + ] + }, + { + "description": "allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-resource-meta" + ] + }, + { + "description": "scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-resource-recursive" + ] + }, + { + "description": "scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "type": "string", + "enum": [ + "scope-resource" + ] + }, + { + "description": "scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", + "type": "string", + "enum": [ + "scope-resource-index" + ] + }, + { + "description": "allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-runtime-read-recursive" + ] + }, + { + "description": "allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-runtime-write-recursive" + ] + }, + { + "description": "allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "type": "string", + "enum": [ + "allow-runtime-read" + ] + }, + { + "description": "allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "type": "string", + "enum": [ + "allow-runtime-write" + ] + }, + { + "description": "allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-runtime-meta-recursive" + ] + }, + { + "description": "allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-runtime-meta" + ] + }, + { + "description": "scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-runtime-recursive" + ] + }, + { + "description": "scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "type": "string", + "enum": [ + "scope-runtime" + ] + }, + { + "description": "scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "type": "string", + "enum": [ + "scope-runtime-index" + ] + }, + { + "description": "allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-temp-read-recursive" + ] + }, + { + "description": "allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-temp-write-recursive" + ] + }, + { + "description": "allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "type": "string", + "enum": [ + "allow-temp-read" + ] + }, + { + "description": "allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "type": "string", + "enum": [ + "allow-temp-write" + ] + }, + { + "description": "allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-temp-meta-recursive" + ] + }, + { + "description": "allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-temp-meta" + ] + }, + { + "description": "scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-temp-recursive" + ] + }, + { + "description": "scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "type": "string", + "enum": [ + "scope-temp" + ] + }, + { + "description": "scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "type": "string", + "enum": [ + "scope-temp-index" + ] + }, + { + "description": "allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-template-read-recursive" + ] + }, + { + "description": "allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-template-write-recursive" + ] + }, + { + "description": "allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "type": "string", + "enum": [ + "allow-template-read" + ] + }, + { + "description": "allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "type": "string", + "enum": [ + "allow-template-write" + ] + }, + { + "description": "allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-template-meta-recursive" + ] + }, + { + "description": "allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-template-meta" + ] + }, + { + "description": "scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-template-recursive" + ] + }, + { + "description": "scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "type": "string", + "enum": [ + "scope-template" + ] + }, + { + "description": "scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "type": "string", + "enum": [ + "scope-template-index" + ] + }, + { + "description": "allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-video-read-recursive" + ] + }, + { + "description": "allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-video-write-recursive" + ] + }, + { + "description": "allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "type": "string", + "enum": [ + "allow-video-read" + ] + }, + { + "description": "allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "type": "string", + "enum": [ + "allow-video-write" + ] + }, + { + "description": "allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-video-meta-recursive" + ] + }, + { + "description": "allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-video-meta" + ] + }, + { + "description": "scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-video-recursive" + ] + }, + { + "description": "scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", + "type": "string", + "enum": [ + "scope-video" + ] + }, + { + "description": "scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "type": "string", + "enum": [ + "scope-video-index" + ] + }, + { + "description": "allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-copy-file" + ] + }, + { + "description": "deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-copy-file" + ] + }, + { + "description": "allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-create" + ] + }, + { + "description": "deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-create" + ] + }, + { + "description": "allow-exists -> Enables the exists command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-exists" + ] + }, + { + "description": "deny-exists -> Denies the exists command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-exists" + ] + }, + { + "description": "allow-fstat -> Enables the fstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fstat" + ] + }, + { + "description": "deny-fstat -> Denies the fstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fstat" + ] + }, + { + "description": "allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-ftruncate" + ] + }, + { + "description": "deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-ftruncate" + ] + }, + { + "description": "allow-lstat -> Enables the lstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-lstat" + ] + }, + { + "description": "deny-lstat -> Denies the lstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-lstat" + ] + }, + { + "description": "allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-mkdir" + ] + }, + { + "description": "deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-mkdir" + ] + }, + { + "description": "allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-open" + ] + }, + { + "description": "deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-open" + ] + }, + { + "description": "allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read" + ] + }, + { + "description": "deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read" + ] + }, + { + "description": "allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-dir" + ] + }, + { + "description": "deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-dir" + ] + }, + { + "description": "allow-read-file -> Enables the read_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-file" + ] + }, + { + "description": "deny-read-file -> Denies the read_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-file" + ] + }, + { + "description": "allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-text-file" + ] + }, + { + "description": "deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-text-file" + ] + }, + { + "description": "allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-text-file-lines" + ] + }, + { + "description": "deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-text-file-lines" + ] + }, + { + "description": "allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-text-file-lines-next" + ] + }, + { + "description": "deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-text-file-lines-next" + ] + }, + { + "description": "allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-remove" + ] + }, + { + "description": "deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-remove" + ] + }, + { + "description": "allow-rename -> Enables the rename command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-rename" + ] + }, + { + "description": "deny-rename -> Denies the rename command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-rename" + ] + }, + { + "description": "allow-seek -> Enables the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-seek" + ] + }, + { + "description": "deny-seek -> Denies the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-seek" + ] + }, + { + "description": "allow-stat -> Enables the stat command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-stat" + ] + }, + { + "description": "deny-stat -> Denies the stat command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-stat" + ] + }, + { + "description": "allow-truncate -> Enables the truncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-truncate" + ] + }, + { + "description": "deny-truncate -> Denies the truncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-truncate" + ] + }, + { + "description": "allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-unwatch" + ] + }, + { + "description": "deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-unwatch" + ] + }, + { + "description": "allow-watch -> Enables the watch command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-watch" + ] + }, + { + "description": "deny-watch -> Denies the watch command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-watch" + ] + }, + { + "description": "allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write" + ] + }, + { + "description": "deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write" + ] + }, + { + "description": "allow-write-file -> Enables the write_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write-file" + ] + }, + { + "description": "deny-write-file -> Denies the write_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write-file" + ] + }, + { + "description": "allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write-text-file" + ] + }, + { + "description": "deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write-text-file" + ] + }, + { + "description": "default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": [ + "default" + ] + }, + { + "description": "deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "type": "string", + "enum": [ + "deny-default" + ] + }, + { + "description": "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": [ + "deny-webview-data-linux" + ] + }, + { + "description": "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": [ + "deny-webview-data-windows" + ] + }, + { + "description": "read-all -> This enables all read related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "read-all" + ] + }, + { + "description": "read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "read-dirs" + ] + }, + { + "description": "read-files -> This enables file read related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "read-files" + ] + }, + { + "description": "read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "read-meta" + ] + }, + { + "description": "write-all -> This enables all write related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "write-all" + ] + }, + { + "description": "write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "write-files" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } } } }, diff --git a/plugins/fs/permissions/autogenerated/base-directories/app.toml b/plugins/fs/permissions/autogenerated/base-directories/app.toml index 3d836e453..e4d3fe775 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/app.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/app.toml @@ -32,29 +32,47 @@ path = "$APP/" [[set]] identifier = "allow-app-read-recursive" description = "This allows full recursive read access to the complete `$APP` folder, files and subdirectories." -permissions = ["read-all", "scope-app-recursive"] +permissions = [ + "read-all", + "scope-app-recursive" +] [[set]] identifier = "allow-app-write-recursive" description = "This allows full recusrive write access to the complete `$APP` folder, files and subdirectories." -permissions = ["write-all", "scope-app-recursive"] +permissions = [ + "write-all", + "scope-app-recursive" +] [[set]] identifier = "allow-app-read" description = "This allows non-recursive read access to the `$APP` folder." -permissions = ["read-all", "scope-app"] +permissions = [ + "read-all", + "scope-app" +] [[set]] identifier = "allow-app-write" description = "This allows non-recursive write access to the `$APP` folder." -permissions = ["write-all", "scope-app"] +permissions = [ + "write-all", + "scope-app" +] [[set]] identifier = "allow-app-meta-recursive" description = "This allows read access to metadata of the `$APP` folder, including file listing and statistics." -permissions = ["read-meta", "scope-app-recursive"] +permissions = [ + "read-meta", + "scope-app-recursive" +] [[set]] identifier = "allow-app-meta" description = "This allows read access to metadata of the `$APP` folder, including file listing and statistics." -permissions = ["read-meta", "scope-app-index"] +permissions = [ + "read-meta", + "scope-app-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml index 73b1b0ce1..f55c534cb 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml @@ -32,29 +32,47 @@ path = "$APPCACHE/" [[set]] identifier = "allow-appcache-read-recursive" description = "This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories." -permissions = ["read-all", "scope-appcache-recursive"] +permissions = [ + "read-all", + "scope-appcache-recursive" +] [[set]] identifier = "allow-appcache-write-recursive" description = "This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories." -permissions = ["write-all", "scope-appcache-recursive"] +permissions = [ + "write-all", + "scope-appcache-recursive" +] [[set]] identifier = "allow-appcache-read" description = "This allows non-recursive read access to the `$APPCACHE` folder." -permissions = ["read-all", "scope-appcache"] +permissions = [ + "read-all", + "scope-appcache" +] [[set]] identifier = "allow-appcache-write" description = "This allows non-recursive write access to the `$APPCACHE` folder." -permissions = ["write-all", "scope-appcache"] +permissions = [ + "write-all", + "scope-appcache" +] [[set]] identifier = "allow-appcache-meta-recursive" description = "This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-appcache-recursive"] +permissions = [ + "read-meta", + "scope-appcache-recursive" +] [[set]] identifier = "allow-appcache-meta" description = "This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-appcache-index"] +permissions = [ + "read-meta", + "scope-appcache-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml index 6a2d682b5..10b845bdd 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml @@ -32,29 +32,47 @@ path = "$APPCONFIG/" [[set]] identifier = "allow-appconfig-read-recursive" description = "This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories." -permissions = ["read-all", "scope-appconfig-recursive"] +permissions = [ + "read-all", + "scope-appconfig-recursive" +] [[set]] identifier = "allow-appconfig-write-recursive" description = "This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories." -permissions = ["write-all", "scope-appconfig-recursive"] +permissions = [ + "write-all", + "scope-appconfig-recursive" +] [[set]] identifier = "allow-appconfig-read" description = "This allows non-recursive read access to the `$APPCONFIG` folder." -permissions = ["read-all", "scope-appconfig"] +permissions = [ + "read-all", + "scope-appconfig" +] [[set]] identifier = "allow-appconfig-write" description = "This allows non-recursive write access to the `$APPCONFIG` folder." -permissions = ["write-all", "scope-appconfig"] +permissions = [ + "write-all", + "scope-appconfig" +] [[set]] identifier = "allow-appconfig-meta-recursive" description = "This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics." -permissions = ["read-meta", "scope-appconfig-recursive"] +permissions = [ + "read-meta", + "scope-appconfig-recursive" +] [[set]] identifier = "allow-appconfig-meta" description = "This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics." -permissions = ["read-meta", "scope-appconfig-index"] +permissions = [ + "read-meta", + "scope-appconfig-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml index 69ab9ca51..cd755a93b 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml @@ -32,29 +32,47 @@ path = "$APPDATA/" [[set]] identifier = "allow-appdata-read-recursive" description = "This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories." -permissions = ["read-all", "scope-appdata-recursive"] +permissions = [ + "read-all", + "scope-appdata-recursive" +] [[set]] identifier = "allow-appdata-write-recursive" description = "This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories." -permissions = ["write-all", "scope-appdata-recursive"] +permissions = [ + "write-all", + "scope-appdata-recursive" +] [[set]] identifier = "allow-appdata-read" description = "This allows non-recursive read access to the `$APPDATA` folder." -permissions = ["read-all", "scope-appdata"] +permissions = [ + "read-all", + "scope-appdata" +] [[set]] identifier = "allow-appdata-write" description = "This allows non-recursive write access to the `$APPDATA` folder." -permissions = ["write-all", "scope-appdata"] +permissions = [ + "write-all", + "scope-appdata" +] [[set]] identifier = "allow-appdata-meta-recursive" description = "This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics." -permissions = ["read-meta", "scope-appdata-recursive"] +permissions = [ + "read-meta", + "scope-appdata-recursive" +] [[set]] identifier = "allow-appdata-meta" description = "This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics." -permissions = ["read-meta", "scope-appdata-index"] +permissions = [ + "read-meta", + "scope-appdata-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml index ceeb4b8f7..ae07b0f18 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml @@ -32,29 +32,47 @@ path = "$APPLOCALDATA/" [[set]] identifier = "allow-applocaldata-read-recursive" description = "This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories." -permissions = ["read-all", "scope-applocaldata-recursive"] +permissions = [ + "read-all", + "scope-applocaldata-recursive" +] [[set]] identifier = "allow-applocaldata-write-recursive" description = "This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories." -permissions = ["write-all", "scope-applocaldata-recursive"] +permissions = [ + "write-all", + "scope-applocaldata-recursive" +] [[set]] identifier = "allow-applocaldata-read" description = "This allows non-recursive read access to the `$APPLOCALDATA` folder." -permissions = ["read-all", "scope-applocaldata"] +permissions = [ + "read-all", + "scope-applocaldata" +] [[set]] identifier = "allow-applocaldata-write" description = "This allows non-recursive write access to the `$APPLOCALDATA` folder." -permissions = ["write-all", "scope-applocaldata"] +permissions = [ + "write-all", + "scope-applocaldata" +] [[set]] identifier = "allow-applocaldata-meta-recursive" description = "This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics." -permissions = ["read-meta", "scope-applocaldata-recursive"] +permissions = [ + "read-meta", + "scope-applocaldata-recursive" +] [[set]] identifier = "allow-applocaldata-meta" description = "This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics." -permissions = ["read-meta", "scope-applocaldata-index"] +permissions = [ + "read-meta", + "scope-applocaldata-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/applog.toml b/plugins/fs/permissions/autogenerated/base-directories/applog.toml index 0fed6e3de..056553c3c 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/applog.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/applog.toml @@ -32,29 +32,47 @@ path = "$APPLOG/" [[set]] identifier = "allow-applog-read-recursive" description = "This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories." -permissions = ["read-all", "scope-applog-recursive"] +permissions = [ + "read-all", + "scope-applog-recursive" +] [[set]] identifier = "allow-applog-write-recursive" description = "This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories." -permissions = ["write-all", "scope-applog-recursive"] +permissions = [ + "write-all", + "scope-applog-recursive" +] [[set]] identifier = "allow-applog-read" description = "This allows non-recursive read access to the `$APPLOG` folder." -permissions = ["read-all", "scope-applog"] +permissions = [ + "read-all", + "scope-applog" +] [[set]] identifier = "allow-applog-write" description = "This allows non-recursive write access to the `$APPLOG` folder." -permissions = ["write-all", "scope-applog"] +permissions = [ + "write-all", + "scope-applog" +] [[set]] identifier = "allow-applog-meta-recursive" description = "This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics." -permissions = ["read-meta", "scope-applog-recursive"] +permissions = [ + "read-meta", + "scope-applog-recursive" +] [[set]] identifier = "allow-applog-meta" description = "This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics." -permissions = ["read-meta", "scope-applog-index"] +permissions = [ + "read-meta", + "scope-applog-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/audio.toml b/plugins/fs/permissions/autogenerated/base-directories/audio.toml index 75401af8c..edccc2e9b 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/audio.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/audio.toml @@ -32,29 +32,47 @@ path = "$AUDIO/" [[set]] identifier = "allow-audio-read-recursive" description = "This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories." -permissions = ["read-all", "scope-audio-recursive"] +permissions = [ + "read-all", + "scope-audio-recursive" +] [[set]] identifier = "allow-audio-write-recursive" description = "This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories." -permissions = ["write-all", "scope-audio-recursive"] +permissions = [ + "write-all", + "scope-audio-recursive" +] [[set]] identifier = "allow-audio-read" description = "This allows non-recursive read access to the `$AUDIO` folder." -permissions = ["read-all", "scope-audio"] +permissions = [ + "read-all", + "scope-audio" +] [[set]] identifier = "allow-audio-write" description = "This allows non-recursive write access to the `$AUDIO` folder." -permissions = ["write-all", "scope-audio"] +permissions = [ + "write-all", + "scope-audio" +] [[set]] identifier = "allow-audio-meta-recursive" description = "This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics." -permissions = ["read-meta", "scope-audio-recursive"] +permissions = [ + "read-meta", + "scope-audio-recursive" +] [[set]] identifier = "allow-audio-meta" description = "This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics." -permissions = ["read-meta", "scope-audio-index"] +permissions = [ + "read-meta", + "scope-audio-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/cache.toml b/plugins/fs/permissions/autogenerated/base-directories/cache.toml index 86582b2eb..960c11847 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/cache.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/cache.toml @@ -32,29 +32,47 @@ path = "$CACHE/" [[set]] identifier = "allow-cache-read-recursive" description = "This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories." -permissions = ["read-all", "scope-cache-recursive"] +permissions = [ + "read-all", + "scope-cache-recursive" +] [[set]] identifier = "allow-cache-write-recursive" description = "This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories." -permissions = ["write-all", "scope-cache-recursive"] +permissions = [ + "write-all", + "scope-cache-recursive" +] [[set]] identifier = "allow-cache-read" description = "This allows non-recursive read access to the `$CACHE` folder." -permissions = ["read-all", "scope-cache"] +permissions = [ + "read-all", + "scope-cache" +] [[set]] identifier = "allow-cache-write" description = "This allows non-recursive write access to the `$CACHE` folder." -permissions = ["write-all", "scope-cache"] +permissions = [ + "write-all", + "scope-cache" +] [[set]] identifier = "allow-cache-meta-recursive" description = "This allows read access to metadata of the `$CACHE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-cache-recursive"] +permissions = [ + "read-meta", + "scope-cache-recursive" +] [[set]] identifier = "allow-cache-meta" description = "This allows read access to metadata of the `$CACHE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-cache-index"] +permissions = [ + "read-meta", + "scope-cache-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/config.toml b/plugins/fs/permissions/autogenerated/base-directories/config.toml index 262b13dcf..f43979e75 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/config.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/config.toml @@ -32,29 +32,47 @@ path = "$CONFIG/" [[set]] identifier = "allow-config-read-recursive" description = "This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories." -permissions = ["read-all", "scope-config-recursive"] +permissions = [ + "read-all", + "scope-config-recursive" +] [[set]] identifier = "allow-config-write-recursive" description = "This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories." -permissions = ["write-all", "scope-config-recursive"] +permissions = [ + "write-all", + "scope-config-recursive" +] [[set]] identifier = "allow-config-read" description = "This allows non-recursive read access to the `$CONFIG` folder." -permissions = ["read-all", "scope-config"] +permissions = [ + "read-all", + "scope-config" +] [[set]] identifier = "allow-config-write" description = "This allows non-recursive write access to the `$CONFIG` folder." -permissions = ["write-all", "scope-config"] +permissions = [ + "write-all", + "scope-config" +] [[set]] identifier = "allow-config-meta-recursive" description = "This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics." -permissions = ["read-meta", "scope-config-recursive"] +permissions = [ + "read-meta", + "scope-config-recursive" +] [[set]] identifier = "allow-config-meta" description = "This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics." -permissions = ["read-meta", "scope-config-index"] +permissions = [ + "read-meta", + "scope-config-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/data.toml b/plugins/fs/permissions/autogenerated/base-directories/data.toml index c15bef2d7..fbc650ae8 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/data.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/data.toml @@ -32,29 +32,47 @@ path = "$DATA/" [[set]] identifier = "allow-data-read-recursive" description = "This allows full recursive read access to the complete `$DATA` folder, files and subdirectories." -permissions = ["read-all", "scope-data-recursive"] +permissions = [ + "read-all", + "scope-data-recursive" +] [[set]] identifier = "allow-data-write-recursive" description = "This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories." -permissions = ["write-all", "scope-data-recursive"] +permissions = [ + "write-all", + "scope-data-recursive" +] [[set]] identifier = "allow-data-read" description = "This allows non-recursive read access to the `$DATA` folder." -permissions = ["read-all", "scope-data"] +permissions = [ + "read-all", + "scope-data" +] [[set]] identifier = "allow-data-write" description = "This allows non-recursive write access to the `$DATA` folder." -permissions = ["write-all", "scope-data"] +permissions = [ + "write-all", + "scope-data" +] [[set]] identifier = "allow-data-meta-recursive" description = "This allows read access to metadata of the `$DATA` folder, including file listing and statistics." -permissions = ["read-meta", "scope-data-recursive"] +permissions = [ + "read-meta", + "scope-data-recursive" +] [[set]] identifier = "allow-data-meta" description = "This allows read access to metadata of the `$DATA` folder, including file listing and statistics." -permissions = ["read-meta", "scope-data-index"] +permissions = [ + "read-meta", + "scope-data-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml index 67250cb4d..5e307fc64 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml @@ -32,29 +32,47 @@ path = "$DESKTOP/" [[set]] identifier = "allow-desktop-read-recursive" description = "This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories." -permissions = ["read-all", "scope-desktop-recursive"] +permissions = [ + "read-all", + "scope-desktop-recursive" +] [[set]] identifier = "allow-desktop-write-recursive" description = "This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories." -permissions = ["write-all", "scope-desktop-recursive"] +permissions = [ + "write-all", + "scope-desktop-recursive" +] [[set]] identifier = "allow-desktop-read" description = "This allows non-recursive read access to the `$DESKTOP` folder." -permissions = ["read-all", "scope-desktop"] +permissions = [ + "read-all", + "scope-desktop" +] [[set]] identifier = "allow-desktop-write" description = "This allows non-recursive write access to the `$DESKTOP` folder." -permissions = ["write-all", "scope-desktop"] +permissions = [ + "write-all", + "scope-desktop" +] [[set]] identifier = "allow-desktop-meta-recursive" description = "This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics." -permissions = ["read-meta", "scope-desktop-recursive"] +permissions = [ + "read-meta", + "scope-desktop-recursive" +] [[set]] identifier = "allow-desktop-meta" description = "This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics." -permissions = ["read-meta", "scope-desktop-index"] +permissions = [ + "read-meta", + "scope-desktop-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/document.toml b/plugins/fs/permissions/autogenerated/base-directories/document.toml index 58a5581a8..df88d83e0 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/document.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/document.toml @@ -32,29 +32,47 @@ path = "$DOCUMENT/" [[set]] identifier = "allow-document-read-recursive" description = "This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories." -permissions = ["read-all", "scope-document-recursive"] +permissions = [ + "read-all", + "scope-document-recursive" +] [[set]] identifier = "allow-document-write-recursive" description = "This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories." -permissions = ["write-all", "scope-document-recursive"] +permissions = [ + "write-all", + "scope-document-recursive" +] [[set]] identifier = "allow-document-read" description = "This allows non-recursive read access to the `$DOCUMENT` folder." -permissions = ["read-all", "scope-document"] +permissions = [ + "read-all", + "scope-document" +] [[set]] identifier = "allow-document-write" description = "This allows non-recursive write access to the `$DOCUMENT` folder." -permissions = ["write-all", "scope-document"] +permissions = [ + "write-all", + "scope-document" +] [[set]] identifier = "allow-document-meta-recursive" description = "This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics." -permissions = ["read-meta", "scope-document-recursive"] +permissions = [ + "read-meta", + "scope-document-recursive" +] [[set]] identifier = "allow-document-meta" description = "This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics." -permissions = ["read-meta", "scope-document-index"] +permissions = [ + "read-meta", + "scope-document-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/download.toml b/plugins/fs/permissions/autogenerated/base-directories/download.toml index 8ff3e3552..2723a62be 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/download.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/download.toml @@ -32,29 +32,47 @@ path = "$DOWNLOAD/" [[set]] identifier = "allow-download-read-recursive" description = "This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories." -permissions = ["read-all", "scope-download-recursive"] +permissions = [ + "read-all", + "scope-download-recursive" +] [[set]] identifier = "allow-download-write-recursive" description = "This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories." -permissions = ["write-all", "scope-download-recursive"] +permissions = [ + "write-all", + "scope-download-recursive" +] [[set]] identifier = "allow-download-read" description = "This allows non-recursive read access to the `$DOWNLOAD` folder." -permissions = ["read-all", "scope-download"] +permissions = [ + "read-all", + "scope-download" +] [[set]] identifier = "allow-download-write" description = "This allows non-recursive write access to the `$DOWNLOAD` folder." -permissions = ["write-all", "scope-download"] +permissions = [ + "write-all", + "scope-download" +] [[set]] identifier = "allow-download-meta-recursive" description = "This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics." -permissions = ["read-meta", "scope-download-recursive"] +permissions = [ + "read-meta", + "scope-download-recursive" +] [[set]] identifier = "allow-download-meta" description = "This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics." -permissions = ["read-meta", "scope-download-index"] +permissions = [ + "read-meta", + "scope-download-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/exe.toml b/plugins/fs/permissions/autogenerated/base-directories/exe.toml index 5abdb76df..b4819b480 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/exe.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/exe.toml @@ -32,29 +32,47 @@ path = "$EXE/" [[set]] identifier = "allow-exe-read-recursive" description = "This allows full recursive read access to the complete `$EXE` folder, files and subdirectories." -permissions = ["read-all", "scope-exe-recursive"] +permissions = [ + "read-all", + "scope-exe-recursive" +] [[set]] identifier = "allow-exe-write-recursive" description = "This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories." -permissions = ["write-all", "scope-exe-recursive"] +permissions = [ + "write-all", + "scope-exe-recursive" +] [[set]] identifier = "allow-exe-read" description = "This allows non-recursive read access to the `$EXE` folder." -permissions = ["read-all", "scope-exe"] +permissions = [ + "read-all", + "scope-exe" +] [[set]] identifier = "allow-exe-write" description = "This allows non-recursive write access to the `$EXE` folder." -permissions = ["write-all", "scope-exe"] +permissions = [ + "write-all", + "scope-exe" +] [[set]] identifier = "allow-exe-meta-recursive" description = "This allows read access to metadata of the `$EXE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-exe-recursive"] +permissions = [ + "read-meta", + "scope-exe-recursive" +] [[set]] identifier = "allow-exe-meta" description = "This allows read access to metadata of the `$EXE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-exe-index"] +permissions = [ + "read-meta", + "scope-exe-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/font.toml b/plugins/fs/permissions/autogenerated/base-directories/font.toml index e72b9e12a..c4b5adf58 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/font.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/font.toml @@ -32,29 +32,47 @@ path = "$FONT/" [[set]] identifier = "allow-font-read-recursive" description = "This allows full recursive read access to the complete `$FONT` folder, files and subdirectories." -permissions = ["read-all", "scope-font-recursive"] +permissions = [ + "read-all", + "scope-font-recursive" +] [[set]] identifier = "allow-font-write-recursive" description = "This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories." -permissions = ["write-all", "scope-font-recursive"] +permissions = [ + "write-all", + "scope-font-recursive" +] [[set]] identifier = "allow-font-read" description = "This allows non-recursive read access to the `$FONT` folder." -permissions = ["read-all", "scope-font"] +permissions = [ + "read-all", + "scope-font" +] [[set]] identifier = "allow-font-write" description = "This allows non-recursive write access to the `$FONT` folder." -permissions = ["write-all", "scope-font"] +permissions = [ + "write-all", + "scope-font" +] [[set]] identifier = "allow-font-meta-recursive" description = "This allows read access to metadata of the `$FONT` folder, including file listing and statistics." -permissions = ["read-meta", "scope-font-recursive"] +permissions = [ + "read-meta", + "scope-font-recursive" +] [[set]] identifier = "allow-font-meta" description = "This allows read access to metadata of the `$FONT` folder, including file listing and statistics." -permissions = ["read-meta", "scope-font-index"] +permissions = [ + "read-meta", + "scope-font-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/home.toml b/plugins/fs/permissions/autogenerated/base-directories/home.toml index b7ff9faa8..382602c6a 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/home.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/home.toml @@ -32,29 +32,47 @@ path = "$HOME/" [[set]] identifier = "allow-home-read-recursive" description = "This allows full recursive read access to the complete `$HOME` folder, files and subdirectories." -permissions = ["read-all", "scope-home-recursive"] +permissions = [ + "read-all", + "scope-home-recursive" +] [[set]] identifier = "allow-home-write-recursive" description = "This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories." -permissions = ["write-all", "scope-home-recursive"] +permissions = [ + "write-all", + "scope-home-recursive" +] [[set]] identifier = "allow-home-read" description = "This allows non-recursive read access to the `$HOME` folder." -permissions = ["read-all", "scope-home"] +permissions = [ + "read-all", + "scope-home" +] [[set]] identifier = "allow-home-write" description = "This allows non-recursive write access to the `$HOME` folder." -permissions = ["write-all", "scope-home"] +permissions = [ + "write-all", + "scope-home" +] [[set]] identifier = "allow-home-meta-recursive" description = "This allows read access to metadata of the `$HOME` folder, including file listing and statistics." -permissions = ["read-meta", "scope-home-recursive"] +permissions = [ + "read-meta", + "scope-home-recursive" +] [[set]] identifier = "allow-home-meta" description = "This allows read access to metadata of the `$HOME` folder, including file listing and statistics." -permissions = ["read-meta", "scope-home-index"] +permissions = [ + "read-meta", + "scope-home-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml index ad3c400d8..1ad86b736 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml @@ -32,29 +32,47 @@ path = "$LOCALDATA/" [[set]] identifier = "allow-localdata-read-recursive" description = "This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories." -permissions = ["read-all", "scope-localdata-recursive"] +permissions = [ + "read-all", + "scope-localdata-recursive" +] [[set]] identifier = "allow-localdata-write-recursive" description = "This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories." -permissions = ["write-all", "scope-localdata-recursive"] +permissions = [ + "write-all", + "scope-localdata-recursive" +] [[set]] identifier = "allow-localdata-read" description = "This allows non-recursive read access to the `$LOCALDATA` folder." -permissions = ["read-all", "scope-localdata"] +permissions = [ + "read-all", + "scope-localdata" +] [[set]] identifier = "allow-localdata-write" description = "This allows non-recursive write access to the `$LOCALDATA` folder." -permissions = ["write-all", "scope-localdata"] +permissions = [ + "write-all", + "scope-localdata" +] [[set]] identifier = "allow-localdata-meta-recursive" description = "This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics." -permissions = ["read-meta", "scope-localdata-recursive"] +permissions = [ + "read-meta", + "scope-localdata-recursive" +] [[set]] identifier = "allow-localdata-meta" description = "This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics." -permissions = ["read-meta", "scope-localdata-index"] +permissions = [ + "read-meta", + "scope-localdata-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/log.toml b/plugins/fs/permissions/autogenerated/base-directories/log.toml index 523dab053..dff691259 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/log.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/log.toml @@ -32,29 +32,47 @@ path = "$LOG/" [[set]] identifier = "allow-log-read-recursive" description = "This allows full recursive read access to the complete `$LOG` folder, files and subdirectories." -permissions = ["read-all", "scope-log-recursive"] +permissions = [ + "read-all", + "scope-log-recursive" +] [[set]] identifier = "allow-log-write-recursive" description = "This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories." -permissions = ["write-all", "scope-log-recursive"] +permissions = [ + "write-all", + "scope-log-recursive" +] [[set]] identifier = "allow-log-read" description = "This allows non-recursive read access to the `$LOG` folder." -permissions = ["read-all", "scope-log"] +permissions = [ + "read-all", + "scope-log" +] [[set]] identifier = "allow-log-write" description = "This allows non-recursive write access to the `$LOG` folder." -permissions = ["write-all", "scope-log"] +permissions = [ + "write-all", + "scope-log" +] [[set]] identifier = "allow-log-meta-recursive" description = "This allows read access to metadata of the `$LOG` folder, including file listing and statistics." -permissions = ["read-meta", "scope-log-recursive"] +permissions = [ + "read-meta", + "scope-log-recursive" +] [[set]] identifier = "allow-log-meta" description = "This allows read access to metadata of the `$LOG` folder, including file listing and statistics." -permissions = ["read-meta", "scope-log-index"] +permissions = [ + "read-meta", + "scope-log-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/picture.toml b/plugins/fs/permissions/autogenerated/base-directories/picture.toml index e6f80aa99..6b8af6c87 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/picture.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/picture.toml @@ -32,29 +32,47 @@ path = "$PICTURE/" [[set]] identifier = "allow-picture-read-recursive" description = "This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories." -permissions = ["read-all", "scope-picture-recursive"] +permissions = [ + "read-all", + "scope-picture-recursive" +] [[set]] identifier = "allow-picture-write-recursive" description = "This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories." -permissions = ["write-all", "scope-picture-recursive"] +permissions = [ + "write-all", + "scope-picture-recursive" +] [[set]] identifier = "allow-picture-read" description = "This allows non-recursive read access to the `$PICTURE` folder." -permissions = ["read-all", "scope-picture"] +permissions = [ + "read-all", + "scope-picture" +] [[set]] identifier = "allow-picture-write" description = "This allows non-recursive write access to the `$PICTURE` folder." -permissions = ["write-all", "scope-picture"] +permissions = [ + "write-all", + "scope-picture" +] [[set]] identifier = "allow-picture-meta-recursive" description = "This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-picture-recursive"] +permissions = [ + "read-meta", + "scope-picture-recursive" +] [[set]] identifier = "allow-picture-meta" description = "This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-picture-index"] +permissions = [ + "read-meta", + "scope-picture-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/public.toml b/plugins/fs/permissions/autogenerated/base-directories/public.toml index 159de27f9..de8fb684d 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/public.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/public.toml @@ -32,29 +32,47 @@ path = "$PUBLIC/" [[set]] identifier = "allow-public-read-recursive" description = "This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories." -permissions = ["read-all", "scope-public-recursive"] +permissions = [ + "read-all", + "scope-public-recursive" +] [[set]] identifier = "allow-public-write-recursive" description = "This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories." -permissions = ["write-all", "scope-public-recursive"] +permissions = [ + "write-all", + "scope-public-recursive" +] [[set]] identifier = "allow-public-read" description = "This allows non-recursive read access to the `$PUBLIC` folder." -permissions = ["read-all", "scope-public"] +permissions = [ + "read-all", + "scope-public" +] [[set]] identifier = "allow-public-write" description = "This allows non-recursive write access to the `$PUBLIC` folder." -permissions = ["write-all", "scope-public"] +permissions = [ + "write-all", + "scope-public" +] [[set]] identifier = "allow-public-meta-recursive" description = "This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics." -permissions = ["read-meta", "scope-public-recursive"] +permissions = [ + "read-meta", + "scope-public-recursive" +] [[set]] identifier = "allow-public-meta" description = "This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics." -permissions = ["read-meta", "scope-public-index"] +permissions = [ + "read-meta", + "scope-public-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/resource.toml b/plugins/fs/permissions/autogenerated/base-directories/resource.toml index 135694014..6409302bd 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/resource.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/resource.toml @@ -32,29 +32,47 @@ path = "$RESOURCE/" [[set]] identifier = "allow-resource-read-recursive" description = "This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories." -permissions = ["read-all", "scope-resource-recursive"] +permissions = [ + "read-all", + "scope-resource-recursive" +] [[set]] identifier = "allow-resource-write-recursive" description = "This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories." -permissions = ["write-all", "scope-resource-recursive"] +permissions = [ + "write-all", + "scope-resource-recursive" +] [[set]] identifier = "allow-resource-read" description = "This allows non-recursive read access to the `$RESOURCE` folder." -permissions = ["read-all", "scope-resource"] +permissions = [ + "read-all", + "scope-resource" +] [[set]] identifier = "allow-resource-write" description = "This allows non-recursive write access to the `$RESOURCE` folder." -permissions = ["write-all", "scope-resource"] +permissions = [ + "write-all", + "scope-resource" +] [[set]] identifier = "allow-resource-meta-recursive" description = "This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-resource-recursive"] +permissions = [ + "read-meta", + "scope-resource-recursive" +] [[set]] identifier = "allow-resource-meta" description = "This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-resource-index"] +permissions = [ + "read-meta", + "scope-resource-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml index d36ac3e2b..010d202bf 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml @@ -32,29 +32,47 @@ path = "$RUNTIME/" [[set]] identifier = "allow-runtime-read-recursive" description = "This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories." -permissions = ["read-all", "scope-runtime-recursive"] +permissions = [ + "read-all", + "scope-runtime-recursive" +] [[set]] identifier = "allow-runtime-write-recursive" description = "This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories." -permissions = ["write-all", "scope-runtime-recursive"] +permissions = [ + "write-all", + "scope-runtime-recursive" +] [[set]] identifier = "allow-runtime-read" description = "This allows non-recursive read access to the `$RUNTIME` folder." -permissions = ["read-all", "scope-runtime"] +permissions = [ + "read-all", + "scope-runtime" +] [[set]] identifier = "allow-runtime-write" description = "This allows non-recursive write access to the `$RUNTIME` folder." -permissions = ["write-all", "scope-runtime"] +permissions = [ + "write-all", + "scope-runtime" +] [[set]] identifier = "allow-runtime-meta-recursive" description = "This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics." -permissions = ["read-meta", "scope-runtime-recursive"] +permissions = [ + "read-meta", + "scope-runtime-recursive" +] [[set]] identifier = "allow-runtime-meta" description = "This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics." -permissions = ["read-meta", "scope-runtime-index"] +permissions = [ + "read-meta", + "scope-runtime-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/temp.toml b/plugins/fs/permissions/autogenerated/base-directories/temp.toml index fd0afaaa6..e02a20f62 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/temp.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/temp.toml @@ -32,29 +32,47 @@ path = "$TEMP/" [[set]] identifier = "allow-temp-read-recursive" description = "This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories." -permissions = ["read-all", "scope-temp-recursive"] +permissions = [ + "read-all", + "scope-temp-recursive" +] [[set]] identifier = "allow-temp-write-recursive" description = "This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories." -permissions = ["write-all", "scope-temp-recursive"] +permissions = [ + "write-all", + "scope-temp-recursive" +] [[set]] identifier = "allow-temp-read" description = "This allows non-recursive read access to the `$TEMP` folder." -permissions = ["read-all", "scope-temp"] +permissions = [ + "read-all", + "scope-temp" +] [[set]] identifier = "allow-temp-write" description = "This allows non-recursive write access to the `$TEMP` folder." -permissions = ["write-all", "scope-temp"] +permissions = [ + "write-all", + "scope-temp" +] [[set]] identifier = "allow-temp-meta-recursive" description = "This allows read access to metadata of the `$TEMP` folder, including file listing and statistics." -permissions = ["read-meta", "scope-temp-recursive"] +permissions = [ + "read-meta", + "scope-temp-recursive" +] [[set]] identifier = "allow-temp-meta" description = "This allows read access to metadata of the `$TEMP` folder, including file listing and statistics." -permissions = ["read-meta", "scope-temp-index"] +permissions = [ + "read-meta", + "scope-temp-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/template.toml b/plugins/fs/permissions/autogenerated/base-directories/template.toml index 89afad88c..00f1f684f 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/template.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/template.toml @@ -32,29 +32,47 @@ path = "$TEMPLATE/" [[set]] identifier = "allow-template-read-recursive" description = "This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories." -permissions = ["read-all", "scope-template-recursive"] +permissions = [ + "read-all", + "scope-template-recursive" +] [[set]] identifier = "allow-template-write-recursive" description = "This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories." -permissions = ["write-all", "scope-template-recursive"] +permissions = [ + "write-all", + "scope-template-recursive" +] [[set]] identifier = "allow-template-read" description = "This allows non-recursive read access to the `$TEMPLATE` folder." -permissions = ["read-all", "scope-template"] +permissions = [ + "read-all", + "scope-template" +] [[set]] identifier = "allow-template-write" description = "This allows non-recursive write access to the `$TEMPLATE` folder." -permissions = ["write-all", "scope-template"] +permissions = [ + "write-all", + "scope-template" +] [[set]] identifier = "allow-template-meta-recursive" description = "This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-template-recursive"] +permissions = [ + "read-meta", + "scope-template-recursive" +] [[set]] identifier = "allow-template-meta" description = "This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics." -permissions = ["read-meta", "scope-template-index"] +permissions = [ + "read-meta", + "scope-template-index" +] \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/video.toml b/plugins/fs/permissions/autogenerated/base-directories/video.toml index 1aaba2cb0..8b21a4699 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/video.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/video.toml @@ -32,29 +32,47 @@ path = "$VIDEO/" [[set]] identifier = "allow-video-read-recursive" description = "This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories." -permissions = ["read-all", "scope-video-recursive"] +permissions = [ + "read-all", + "scope-video-recursive" +] [[set]] identifier = "allow-video-write-recursive" description = "This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories." -permissions = ["write-all", "scope-video-recursive"] +permissions = [ + "write-all", + "scope-video-recursive" +] [[set]] identifier = "allow-video-read" description = "This allows non-recursive read access to the `$VIDEO` folder." -permissions = ["read-all", "scope-video"] +permissions = [ + "read-all", + "scope-video" +] [[set]] identifier = "allow-video-write" description = "This allows non-recursive write access to the `$VIDEO` folder." -permissions = ["write-all", "scope-video"] +permissions = [ + "write-all", + "scope-video" +] [[set]] identifier = "allow-video-meta-recursive" description = "This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics." -permissions = ["read-meta", "scope-video-recursive"] +permissions = [ + "read-meta", + "scope-video-recursive" +] [[set]] identifier = "allow-video-meta" description = "This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics." -permissions = ["read-meta", "scope-video-index"] +permissions = [ + "read-meta", + "scope-video-index" +] \ No newline at end of file diff --git a/plugins/global-shortcut/Cargo.toml b/plugins/global-shortcut/Cargo.toml index c2850766b..b087e4aa1 100644 --- a/plugins/global-shortcut/Cargo.toml +++ b/plugins/global-shortcut/Cargo.toml @@ -6,10 +6,14 @@ edition = { workspace = true } authors = { workspace = true } license = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-global-shortcut" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/global-shortcut/build.rs b/plugins/global-shortcut/build.rs new file mode 100644 index 000000000..8c5c71dfd --- /dev/null +++ b/plugins/global-shortcut/build.rs @@ -0,0 +1,15 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &[ + "register", + "register_all", + "unregister", + "unregister_all", + "is_registered", +]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/global-shortcut/permissions/.schema.json b/plugins/global-shortcut/permissions/.schema.json new file mode 100644 index 000000000..8f09cd75b --- /dev/null +++ b/plugins/global-shortcut/permissions/.schema.json @@ -0,0 +1,332 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-is-registered" + ] + }, + { + "description": "deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-is-registered" + ] + }, + { + "description": "allow-register -> Enables the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-register" + ] + }, + { + "description": "deny-register -> Denies the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-register" + ] + }, + { + "description": "allow-register-all -> Enables the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-register-all" + ] + }, + { + "description": "deny-register-all -> Denies the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-register-all" + ] + }, + { + "description": "allow-unregister -> Enables the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-unregister" + ] + }, + { + "description": "deny-unregister -> Denies the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-unregister" + ] + }, + { + "description": "allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-unregister-all" + ] + }, + { + "description": "deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-unregister-all" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/is_registered.toml b/plugins/global-shortcut/permissions/autogenerated/commands/is_registered.toml new file mode 100644 index 000000000..d2c6d8a67 --- /dev/null +++ b/plugins/global-shortcut/permissions/autogenerated/commands/is_registered.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-is-registered" +description = "Enables the is_registered command without any pre-configured scope." +commands.allow = ["is_registered"] + +[[permission]] +identifier = "deny-is-registered" +description = "Denies the is_registered command without any pre-configured scope." +commands.deny = ["is_registered"] diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/register.toml b/plugins/global-shortcut/permissions/autogenerated/commands/register.toml new file mode 100644 index 000000000..d07242c70 --- /dev/null +++ b/plugins/global-shortcut/permissions/autogenerated/commands/register.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-register" +description = "Enables the register command without any pre-configured scope." +commands.allow = ["register"] + +[[permission]] +identifier = "deny-register" +description = "Denies the register command without any pre-configured scope." +commands.deny = ["register"] diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/register_all.toml b/plugins/global-shortcut/permissions/autogenerated/commands/register_all.toml new file mode 100644 index 000000000..8cc94d2ba --- /dev/null +++ b/plugins/global-shortcut/permissions/autogenerated/commands/register_all.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-register-all" +description = "Enables the register_all command without any pre-configured scope." +commands.allow = ["register_all"] + +[[permission]] +identifier = "deny-register-all" +description = "Denies the register_all command without any pre-configured scope." +commands.deny = ["register_all"] diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/unregister.toml b/plugins/global-shortcut/permissions/autogenerated/commands/unregister.toml new file mode 100644 index 000000000..0fed77942 --- /dev/null +++ b/plugins/global-shortcut/permissions/autogenerated/commands/unregister.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-unregister" +description = "Enables the unregister command without any pre-configured scope." +commands.allow = ["unregister"] + +[[permission]] +identifier = "deny-unregister" +description = "Denies the unregister command without any pre-configured scope." +commands.deny = ["unregister"] diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/unregister_all.toml b/plugins/global-shortcut/permissions/autogenerated/commands/unregister_all.toml new file mode 100644 index 000000000..86a40cc9d --- /dev/null +++ b/plugins/global-shortcut/permissions/autogenerated/commands/unregister_all.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-unregister-all" +description = "Enables the unregister_all command without any pre-configured scope." +commands.allow = ["unregister_all"] + +[[permission]] +identifier = "deny-unregister-all" +description = "Denies the unregister_all command without any pre-configured scope." +commands.deny = ["unregister_all"] diff --git a/plugins/http/Cargo.toml b/plugins/http/Cargo.toml index 4a87b6c04..83ce71ca1 100644 --- a/plugins/http/Cargo.toml +++ b/plugins/http/Cargo.toml @@ -6,10 +6,14 @@ edition = { workspace = true } authors = { workspace = true } license = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-global-http" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -24,22 +28,22 @@ url = { workspace = true } data-url = "0.3" [features] -multipart = [ "reqwest/multipart" ] -json = [ "reqwest/json" ] -stream = [ "reqwest/stream" ] -native-tls = [ "reqwest/native-tls" ] -native-tls-vendored = [ "reqwest/native-tls-vendored" ] -rustls-tls = [ "reqwest/rustls-tls" ] -default-tls = [ "reqwest/default-tls" ] -native-tls-alpn = [ "reqwest/native-tls-alpn" ] -rustls-tls-manual-roots = [ "reqwest/rustls-tls-manual-roots" ] -rustls-tls-webpki-roots = [ "reqwest/rustls-tls-webpki-roots" ] -rustls-tls-native-roots = [ "reqwest/rustls-tls-native-roots" ] -blocking = [ "reqwest/blocking" ] -cookies = [ "reqwest/cookies" ] -gzip = [ "reqwest/gzip" ] -brotli = [ "reqwest/brotli" ] -deflate = [ "reqwest/deflate" ] -trust-dns = [ "reqwest/trust-dns" ] -socks = [ "reqwest/socks" ] -http3 = [ "reqwest/http3" ] +multipart = ["reqwest/multipart"] +json = ["reqwest/json"] +stream = ["reqwest/stream"] +native-tls = ["reqwest/native-tls"] +native-tls-vendored = ["reqwest/native-tls-vendored"] +rustls-tls = ["reqwest/rustls-tls"] +default-tls = ["reqwest/default-tls"] +native-tls-alpn = ["reqwest/native-tls-alpn"] +rustls-tls-manual-roots = ["reqwest/rustls-tls-manual-roots"] +rustls-tls-webpki-roots = ["reqwest/rustls-tls-webpki-roots"] +rustls-tls-native-roots = ["reqwest/rustls-tls-native-roots"] +blocking = ["reqwest/blocking"] +cookies = ["reqwest/cookies"] +gzip = ["reqwest/gzip"] +brotli = ["reqwest/brotli"] +deflate = ["reqwest/deflate"] +trust-dns = ["reqwest/trust-dns"] +socks = ["reqwest/socks"] +http3 = ["reqwest/http3"] diff --git a/plugins/http/build.rs b/plugins/http/build.rs new file mode 100644 index 000000000..4c5268c1c --- /dev/null +++ b/plugins/http/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["fetch", "fetch_cancel", "fetch_send", "fetch_read_body"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/http/permissions/.schema.json b/plugins/http/permissions/.schema.json new file mode 100644 index 000000000..01081fce6 --- /dev/null +++ b/plugins/http/permissions/.schema.json @@ -0,0 +1,325 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-fetch -> Enables the fetch command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fetch" + ] + }, + { + "description": "deny-fetch -> Denies the fetch command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fetch" + ] + }, + { + "description": "allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fetch-cancel" + ] + }, + { + "description": "deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fetch-cancel" + ] + }, + { + "description": "allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fetch-read-body" + ] + }, + { + "description": "deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fetch-read-body" + ] + }, + { + "description": "allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fetch-send" + ] + }, + { + "description": "deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fetch-send" + ] + }, + { + "description": "default -> Allows all fetch operations", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/http/permissions/autogenerated/commands/fetch.toml b/plugins/http/permissions/autogenerated/commands/fetch.toml new file mode 100644 index 000000000..54b4e0acd --- /dev/null +++ b/plugins/http/permissions/autogenerated/commands/fetch.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-fetch" +description = "Enables the fetch command without any pre-configured scope." +commands.allow = ["fetch"] + +[[permission]] +identifier = "deny-fetch" +description = "Denies the fetch command without any pre-configured scope." +commands.deny = ["fetch"] diff --git a/plugins/http/permissions/autogenerated/commands/fetch_cancel.toml b/plugins/http/permissions/autogenerated/commands/fetch_cancel.toml new file mode 100644 index 000000000..dd652b8b4 --- /dev/null +++ b/plugins/http/permissions/autogenerated/commands/fetch_cancel.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-fetch-cancel" +description = "Enables the fetch_cancel command without any pre-configured scope." +commands.allow = ["fetch_cancel"] + +[[permission]] +identifier = "deny-fetch-cancel" +description = "Denies the fetch_cancel command without any pre-configured scope." +commands.deny = ["fetch_cancel"] diff --git a/plugins/http/permissions/autogenerated/commands/fetch_read_body.toml b/plugins/http/permissions/autogenerated/commands/fetch_read_body.toml new file mode 100644 index 000000000..d99d48f92 --- /dev/null +++ b/plugins/http/permissions/autogenerated/commands/fetch_read_body.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-fetch-read-body" +description = "Enables the fetch_read_body command without any pre-configured scope." +commands.allow = ["fetch_read_body"] + +[[permission]] +identifier = "deny-fetch-read-body" +description = "Denies the fetch_read_body command without any pre-configured scope." +commands.deny = ["fetch_read_body"] diff --git a/plugins/http/permissions/autogenerated/commands/fetch_send.toml b/plugins/http/permissions/autogenerated/commands/fetch_send.toml new file mode 100644 index 000000000..af620fba1 --- /dev/null +++ b/plugins/http/permissions/autogenerated/commands/fetch_send.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-fetch-send" +description = "Enables the fetch_send command without any pre-configured scope." +commands.allow = ["fetch_send"] + +[[permission]] +identifier = "deny-fetch-send" +description = "Denies the fetch_send command without any pre-configured scope." +commands.deny = ["fetch_send"] diff --git a/plugins/http/permissions/default.toml b/plugins/http/permissions/default.toml new file mode 100644 index 000000000..18d640e25 --- /dev/null +++ b/plugins/http/permissions/default.toml @@ -0,0 +1,9 @@ +"$schema" = ".schema.json" +[default] +description = "Allows all fetch operations" +permissions = [ + "allow-fetch", + "allow-fetch-cancel", + "allow-fetch-read-body", + "allow-fetch-send", +] diff --git a/plugins/localhost/Cargo.toml b/plugins/localhost/Cargo.toml index 3d3f42895..93bb6557a 100644 --- a/plugins/localhost/Cargo.toml +++ b/plugins/localhost/Cargo.toml @@ -8,8 +8,8 @@ edition = { workspace = true } rust-version = { workspace = true } [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] [dependencies] serde = { workspace = true } diff --git a/plugins/log/Cargo.toml b/plugins/log/Cargo.toml index b66b3f4e4..4b1cd7bde 100644 --- a/plugins/log/Cargo.toml +++ b/plugins/log/Cargo.toml @@ -6,13 +6,15 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-log" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] tauri-build = { workspace = true } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -20,8 +22,8 @@ serde_json = { workspace = true } tauri = { workspace = true } serde_repr = "0.1" byte-unit = "4.0" -log = { workspace = true, features = [ "kv_unstable" ] } -time = { version = "0.3", features = [ "formatting", "local-offset" ] } +log = { workspace = true, features = ["kv_unstable"] } +time = { version = "0.3", features = ["formatting", "local-offset"] } fern = "0.6" [target."cfg(target_os = \"android\")".dependencies] @@ -33,4 +35,4 @@ objc = "0.2" cocoa = "0.24" [features] -colored = [ "fern/colored" ] +colored = ["fern/colored"] diff --git a/plugins/log/build.rs b/plugins/log/build.rs index e499a5e5d..d1d4cbebc 100644 --- a/plugins/log/build.rs +++ b/plugins/log/build.rs @@ -4,7 +4,11 @@ use std::process::exit; +const COMMANDS: &[&str] = &["log"]; + fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + if let Err(error) = tauri_build::mobile::PluginBuilder::new() .ios_path("ios") .run() diff --git a/plugins/log/permissions/.schema.json b/plugins/log/permissions/.schema.json new file mode 100644 index 000000000..d6886df56 --- /dev/null +++ b/plugins/log/permissions/.schema.json @@ -0,0 +1,283 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-log -> Enables the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-log" + ] + }, + { + "description": "deny-log -> Denies the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-log" + ] + }, + { + "description": "default -> Allows the log command", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/log/permissions/autogenerated/commands/log.toml b/plugins/log/permissions/autogenerated/commands/log.toml new file mode 100644 index 000000000..f7e9d8dbe --- /dev/null +++ b/plugins/log/permissions/autogenerated/commands/log.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-log" +description = "Enables the log command without any pre-configured scope." +commands.allow = ["log"] + +[[permission]] +identifier = "deny-log" +description = "Denies the log command without any pre-configured scope." +commands.deny = ["log"] diff --git a/plugins/log/permissions/default.toml b/plugins/log/permissions/default.toml new file mode 100644 index 000000000..1560a84b7 --- /dev/null +++ b/plugins/log/permissions/default.toml @@ -0,0 +1,4 @@ +"$schema" = ".schema.json" +[default] +description = "Allows the log command" +permissions = ["allow-log"] diff --git a/plugins/nfc/Cargo.toml b/plugins/nfc/Cargo.toml index 74aed23f8..04a02fc68 100644 --- a/plugins/nfc/Cargo.toml +++ b/plugins/nfc/Cargo.toml @@ -13,6 +13,7 @@ rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] tauri-build = { workspace = true } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/nfc/build.rs b/plugins/nfc/build.rs index 2f932ecc7..da86b68dc 100644 --- a/plugins/nfc/build.rs +++ b/plugins/nfc/build.rs @@ -4,7 +4,11 @@ use std::process::exit; +const COMMANDS: &[&str] = &["is_available", "write", "scan"]; + fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + if let Err(error) = tauri_build::mobile::PluginBuilder::new() .android_path("android") .ios_path("ios") diff --git a/plugins/nfc/guest-js/index.ts b/plugins/nfc/guest-js/index.ts index 089253eda..30a899f9a 100644 --- a/plugins/nfc/guest-js/index.ts +++ b/plugins/nfc/guest-js/index.ts @@ -111,7 +111,7 @@ export function record( format: NFCTypeNameFormat, kind: string | number[], id: string | number[], - payload: string | number[], + payload: string | number[] ): NFCRecord { return { format, @@ -130,7 +130,7 @@ export function record( export function textRecord( text: string, id?: string | number[], - language: string = "en", + language: string = "en" ): NFCRecord { const payload = Array.from(new TextEncoder().encode(language + text)); payload.unshift(language.length); @@ -190,7 +190,7 @@ function encodeURI(uri: string): number[] { } const encoded = Array.from( - new TextEncoder().encode(uri.slice(prefix.length)), + new TextEncoder().encode(uri.slice(prefix.length)) ); const protocolCode = protocols.indexOf(prefix); // prepend protocol code @@ -204,7 +204,7 @@ export function uriRecord(uri: string, id?: string | number[]): NFCRecord { NFCTypeNameFormat.NfcWellKnown, RTD_URI, id || [], - encodeURI(uri), + encodeURI(uri) ); } @@ -229,7 +229,7 @@ function mapScanKind(kind: ScanKind): Record { */ export async function scan( kind: ScanKind, - options?: ScanOptions, + options?: ScanOptions ): Promise { return await invoke("plugin:nfc|scan", { kind: mapScanKind(kind), @@ -254,7 +254,7 @@ export async function scan( */ export async function write( records: NFCRecord[], - options?: WriteOptions, + options?: WriteOptions ): Promise { const { kind, ...opts } = options || {}; if (kind) { @@ -268,5 +268,5 @@ export async function write( } export async function isAvailable(): Promise { - return await invoke("plugin:nfc|isAvailable"); + return await invoke("plugin:nfc|is_available"); } diff --git a/plugins/nfc/permissions/.schema.json b/plugins/nfc/permissions/.schema.json new file mode 100644 index 000000000..122f4d502 --- /dev/null +++ b/plugins/nfc/permissions/.schema.json @@ -0,0 +1,304 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-is-available -> Enables the is_available command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-is-available" + ] + }, + { + "description": "deny-is-available -> Denies the is_available command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-is-available" + ] + }, + { + "description": "allow-scan -> Enables the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-scan" + ] + }, + { + "description": "deny-scan -> Denies the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-scan" + ] + }, + { + "description": "allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write" + ] + }, + { + "description": "deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/nfc/permissions/autogenerated/commands/is_available.toml b/plugins/nfc/permissions/autogenerated/commands/is_available.toml new file mode 100644 index 000000000..fcfbaabe4 --- /dev/null +++ b/plugins/nfc/permissions/autogenerated/commands/is_available.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-is-available" +description = "Enables the is_available command without any pre-configured scope." +commands.allow = ["is_available"] + +[[permission]] +identifier = "deny-is-available" +description = "Denies the is_available command without any pre-configured scope." +commands.deny = ["is_available"] diff --git a/plugins/nfc/permissions/autogenerated/commands/scan.toml b/plugins/nfc/permissions/autogenerated/commands/scan.toml new file mode 100644 index 000000000..cbb8e03bf --- /dev/null +++ b/plugins/nfc/permissions/autogenerated/commands/scan.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-scan" +description = "Enables the scan command without any pre-configured scope." +commands.allow = ["scan"] + +[[permission]] +identifier = "deny-scan" +description = "Denies the scan command without any pre-configured scope." +commands.deny = ["scan"] diff --git a/plugins/nfc/permissions/autogenerated/commands/write.toml b/plugins/nfc/permissions/autogenerated/commands/write.toml new file mode 100644 index 000000000..adc43c7aa --- /dev/null +++ b/plugins/nfc/permissions/autogenerated/commands/write.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-write" +description = "Enables the write command without any pre-configured scope." +commands.allow = ["write"] + +[[permission]] +identifier = "deny-write" +description = "Denies the write command without any pre-configured scope." +commands.deny = ["write"] diff --git a/plugins/notification/Cargo.toml b/plugins/notification/Cargo.toml index 15c52a898..a60dfd23b 100644 --- a/plugins/notification/Cargo.toml +++ b/plugins/notification/Cargo.toml @@ -9,12 +9,13 @@ rust-version = { workspace = true } links = "tauri-plugin-notification" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] -targets = [ "x86_64-unknown-linux-gnu", "x86_64-linux-android" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] +targets = ["x86_64-unknown-linux-gnu", "x86_64-linux-android"] [build-dependencies] tauri-build = { workspace = true } +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -23,8 +24,8 @@ tauri = { workspace = true } log = { workspace = true } thiserror = { workspace = true } rand = "0.8" -time = { version = "0.3", features = [ "serde", "parsing", "formatting" ] } -url = { version = "2", features = [ "serde" ] } +time = { version = "0.3", features = ["serde", "parsing", "formatting"] } +url = { version = "2", features = ["serde"] } serde_repr = "0.1" [target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies] @@ -35,4 +36,4 @@ win7-notifications = { version = "0.3.1", optional = true } windows-version = { version = "0.1", optional = true } [features] -windows7-compat = [ "win7-notifications", "windows-version" ] +windows7-compat = ["win7-notifications", "windows-version"] diff --git a/plugins/notification/build.rs b/plugins/notification/build.rs index da7cd3cc4..0449c724c 100644 --- a/plugins/notification/build.rs +++ b/plugins/notification/build.rs @@ -2,7 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT +const COMMANDS: &[&str] = &["notify", "request_permission", "is_permission_granted"]; + fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + if let Err(error) = tauri_build::mobile::PluginBuilder::new() .android_path("android") .ios_path("ios") diff --git a/plugins/notification/permissions/.schema.json b/plugins/notification/permissions/.schema.json new file mode 100644 index 000000000..7d4f163bc --- /dev/null +++ b/plugins/notification/permissions/.schema.json @@ -0,0 +1,311 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-is-permission-granted" + ] + }, + { + "description": "deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-is-permission-granted" + ] + }, + { + "description": "allow-notify -> Enables the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-notify" + ] + }, + { + "description": "deny-notify -> Denies the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-notify" + ] + }, + { + "description": "allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-request-permission" + ] + }, + { + "description": "deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-request-permission" + ] + }, + { + "description": "default -> Allows requesting permission, checking permission state and sending notifications", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/notification/permissions/autogenerated/commands/is_permission_granted.toml b/plugins/notification/permissions/autogenerated/commands/is_permission_granted.toml new file mode 100644 index 000000000..d91ecbd66 --- /dev/null +++ b/plugins/notification/permissions/autogenerated/commands/is_permission_granted.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-is-permission-granted" +description = "Enables the is_permission_granted command without any pre-configured scope." +commands.allow = ["is_permission_granted"] + +[[permission]] +identifier = "deny-is-permission-granted" +description = "Denies the is_permission_granted command without any pre-configured scope." +commands.deny = ["is_permission_granted"] diff --git a/plugins/notification/permissions/autogenerated/commands/notify.toml b/plugins/notification/permissions/autogenerated/commands/notify.toml new file mode 100644 index 000000000..8552b6b3d --- /dev/null +++ b/plugins/notification/permissions/autogenerated/commands/notify.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-notify" +description = "Enables the notify command without any pre-configured scope." +commands.allow = ["notify"] + +[[permission]] +identifier = "deny-notify" +description = "Denies the notify command without any pre-configured scope." +commands.deny = ["notify"] diff --git a/plugins/notification/permissions/autogenerated/commands/request_permission.toml b/plugins/notification/permissions/autogenerated/commands/request_permission.toml new file mode 100644 index 000000000..cc83344ce --- /dev/null +++ b/plugins/notification/permissions/autogenerated/commands/request_permission.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-request-permission" +description = "Enables the request_permission command without any pre-configured scope." +commands.allow = ["request_permission"] + +[[permission]] +identifier = "deny-request-permission" +description = "Denies the request_permission command without any pre-configured scope." +commands.deny = ["request_permission"] diff --git a/plugins/notification/permissions/default.toml b/plugins/notification/permissions/default.toml new file mode 100644 index 000000000..54b8ce650 --- /dev/null +++ b/plugins/notification/permissions/default.toml @@ -0,0 +1,8 @@ +"$schema" = ".schema.json" +[default] +description = "Allows requesting permission, checking permission state and sending notifications" +permissions = [ + "allow-is-permission-granted", + "allow-request-permission", + "allow-notify", +] diff --git a/plugins/os/Cargo.toml b/plugins/os/Cargo.toml index ae50bdc05..1fe26c5bc 100644 --- a/plugins/os/Cargo.toml +++ b/plugins/os/Cargo.toml @@ -6,10 +6,14 @@ edition = { workspace = true } authors = { workspace = true } license = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-os" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/os/build.rs b/plugins/os/build.rs new file mode 100644 index 000000000..91dca73ef --- /dev/null +++ b/plugins/os/build.rs @@ -0,0 +1,18 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &[ + "platform", + "version", + "os_type", + "family", + "arch", + "exe_extension", + "locale", + "hostname", +]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/os/permissions/.schema.json b/plugins/os/permissions/.schema.json new file mode 100644 index 000000000..7cc37477f --- /dev/null +++ b/plugins/os/permissions/.schema.json @@ -0,0 +1,374 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-arch -> Enables the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-arch" + ] + }, + { + "description": "deny-arch -> Denies the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-arch" + ] + }, + { + "description": "allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-exe-extension" + ] + }, + { + "description": "deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-exe-extension" + ] + }, + { + "description": "allow-family -> Enables the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-family" + ] + }, + { + "description": "deny-family -> Denies the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-family" + ] + }, + { + "description": "allow-hostname -> Enables the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-hostname" + ] + }, + { + "description": "deny-hostname -> Denies the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-hostname" + ] + }, + { + "description": "allow-locale -> Enables the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-locale" + ] + }, + { + "description": "deny-locale -> Denies the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-locale" + ] + }, + { + "description": "allow-os-type -> Enables the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-os-type" + ] + }, + { + "description": "deny-os-type -> Denies the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-os-type" + ] + }, + { + "description": "allow-platform -> Enables the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-platform" + ] + }, + { + "description": "deny-platform -> Denies the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-platform" + ] + }, + { + "description": "allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-version" + ] + }, + { + "description": "deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-version" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/os/permissions/autogenerated/commands/arch.toml b/plugins/os/permissions/autogenerated/commands/arch.toml new file mode 100644 index 000000000..33ee5609d --- /dev/null +++ b/plugins/os/permissions/autogenerated/commands/arch.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-arch" +description = "Enables the arch command without any pre-configured scope." +commands.allow = ["arch"] + +[[permission]] +identifier = "deny-arch" +description = "Denies the arch command without any pre-configured scope." +commands.deny = ["arch"] diff --git a/plugins/os/permissions/autogenerated/commands/exe_extension.toml b/plugins/os/permissions/autogenerated/commands/exe_extension.toml new file mode 100644 index 000000000..4ab4403d4 --- /dev/null +++ b/plugins/os/permissions/autogenerated/commands/exe_extension.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-exe-extension" +description = "Enables the exe_extension command without any pre-configured scope." +commands.allow = ["exe_extension"] + +[[permission]] +identifier = "deny-exe-extension" +description = "Denies the exe_extension command without any pre-configured scope." +commands.deny = ["exe_extension"] diff --git a/plugins/os/permissions/autogenerated/commands/family.toml b/plugins/os/permissions/autogenerated/commands/family.toml new file mode 100644 index 000000000..240c9d97f --- /dev/null +++ b/plugins/os/permissions/autogenerated/commands/family.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-family" +description = "Enables the family command without any pre-configured scope." +commands.allow = ["family"] + +[[permission]] +identifier = "deny-family" +description = "Denies the family command without any pre-configured scope." +commands.deny = ["family"] diff --git a/plugins/os/permissions/autogenerated/commands/hostname.toml b/plugins/os/permissions/autogenerated/commands/hostname.toml new file mode 100644 index 000000000..2dc37eeda --- /dev/null +++ b/plugins/os/permissions/autogenerated/commands/hostname.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-hostname" +description = "Enables the hostname command without any pre-configured scope." +commands.allow = ["hostname"] + +[[permission]] +identifier = "deny-hostname" +description = "Denies the hostname command without any pre-configured scope." +commands.deny = ["hostname"] diff --git a/plugins/os/permissions/autogenerated/commands/locale.toml b/plugins/os/permissions/autogenerated/commands/locale.toml new file mode 100644 index 000000000..03b5ec547 --- /dev/null +++ b/plugins/os/permissions/autogenerated/commands/locale.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-locale" +description = "Enables the locale command without any pre-configured scope." +commands.allow = ["locale"] + +[[permission]] +identifier = "deny-locale" +description = "Denies the locale command without any pre-configured scope." +commands.deny = ["locale"] diff --git a/plugins/os/permissions/autogenerated/commands/os_type.toml b/plugins/os/permissions/autogenerated/commands/os_type.toml new file mode 100644 index 000000000..01342e461 --- /dev/null +++ b/plugins/os/permissions/autogenerated/commands/os_type.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-os-type" +description = "Enables the os_type command without any pre-configured scope." +commands.allow = ["os_type"] + +[[permission]] +identifier = "deny-os-type" +description = "Denies the os_type command without any pre-configured scope." +commands.deny = ["os_type"] diff --git a/plugins/os/permissions/autogenerated/commands/platform.toml b/plugins/os/permissions/autogenerated/commands/platform.toml new file mode 100644 index 000000000..f72b66e77 --- /dev/null +++ b/plugins/os/permissions/autogenerated/commands/platform.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-platform" +description = "Enables the platform command without any pre-configured scope." +commands.allow = ["platform"] + +[[permission]] +identifier = "deny-platform" +description = "Denies the platform command without any pre-configured scope." +commands.deny = ["platform"] diff --git a/plugins/os/permissions/autogenerated/commands/version.toml b/plugins/os/permissions/autogenerated/commands/version.toml new file mode 100644 index 000000000..f5463209a --- /dev/null +++ b/plugins/os/permissions/autogenerated/commands/version.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-version" +description = "Enables the version command without any pre-configured scope." +commands.allow = ["version"] + +[[permission]] +identifier = "deny-version" +description = "Denies the version command without any pre-configured scope." +commands.deny = ["version"] diff --git a/plugins/persisted-scope/Cargo.toml b/plugins/persisted-scope/Cargo.toml index d9235842b..681d33539 100644 --- a/plugins/persisted-scope/Cargo.toml +++ b/plugins/persisted-scope/Cargo.toml @@ -8,8 +8,8 @@ edition = { workspace = true } rust-version = { workspace = true } [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] [dependencies] serde = { workspace = true } @@ -22,4 +22,4 @@ bincode = "1" tauri-plugin-fs = { path = "../fs", version = "2.0.0-alpha.6" } [features] -protocol-asset = [ "tauri/protocol-asset" ] +protocol-asset = ["tauri/protocol-asset"] diff --git a/plugins/positioner/Cargo.toml b/plugins/positioner/Cargo.toml index 380111966..f1a6bd12c 100644 --- a/plugins/positioner/Cargo.toml +++ b/plugins/positioner/Cargo.toml @@ -6,10 +6,14 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-positioner" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -20,4 +24,4 @@ thiserror = { workspace = true } serde_repr = "0.1" [features] -tray-icon = [ "tauri/tray-icon" ] +tray-icon = ["tauri/tray-icon"] diff --git a/plugins/positioner/build.rs b/plugins/positioner/build.rs new file mode 100644 index 000000000..1fc5acfb8 --- /dev/null +++ b/plugins/positioner/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["move_window"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/positioner/permissions/.schema.json b/plugins/positioner/permissions/.schema.json new file mode 100644 index 000000000..03efaeb0f --- /dev/null +++ b/plugins/positioner/permissions/.schema.json @@ -0,0 +1,283 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-move-window -> Enables the move_window command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-move-window" + ] + }, + { + "description": "deny-move-window -> Denies the move_window command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-move-window" + ] + }, + { + "description": "default -> Allows the move_window command", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/positioner/permissions/autogenerated/commands/move_window.toml b/plugins/positioner/permissions/autogenerated/commands/move_window.toml new file mode 100644 index 000000000..e5135aac0 --- /dev/null +++ b/plugins/positioner/permissions/autogenerated/commands/move_window.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-move-window" +description = "Enables the move_window command without any pre-configured scope." +commands.allow = ["move_window"] + +[[permission]] +identifier = "deny-move-window" +description = "Denies the move_window command without any pre-configured scope." +commands.deny = ["move_window"] diff --git a/plugins/positioner/permissions/default.toml b/plugins/positioner/permissions/default.toml new file mode 100644 index 000000000..abf45c176 --- /dev/null +++ b/plugins/positioner/permissions/default.toml @@ -0,0 +1,4 @@ +"$schema" = ".schema.json" +[default] +description = "Allows the move_window command" +permissions = ["allow-move-window"] diff --git a/plugins/process/Cargo.toml b/plugins/process/Cargo.toml index b1e4f0488..5c70e46e2 100644 --- a/plugins/process/Cargo.toml +++ b/plugins/process/Cargo.toml @@ -6,10 +6,14 @@ edition = { workspace = true } authors = { workspace = true } license = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-process" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] tauri = { workspace = true } diff --git a/plugins/process/build.rs b/plugins/process/build.rs new file mode 100644 index 000000000..e9d6cfda1 --- /dev/null +++ b/plugins/process/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["exit", "restart"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/process/permissions/.schema.json b/plugins/process/permissions/.schema.json new file mode 100644 index 000000000..289a69ca0 --- /dev/null +++ b/plugins/process/permissions/.schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-exit -> Enables the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-exit" + ] + }, + { + "description": "deny-exit -> Denies the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-exit" + ] + }, + { + "description": "allow-restart -> Enables the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-restart" + ] + }, + { + "description": "deny-restart -> Denies the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-restart" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/process/permissions/autogenerated/commands/exit.toml b/plugins/process/permissions/autogenerated/commands/exit.toml new file mode 100644 index 000000000..855ab6062 --- /dev/null +++ b/plugins/process/permissions/autogenerated/commands/exit.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-exit" +description = "Enables the exit command without any pre-configured scope." +commands.allow = ["exit"] + +[[permission]] +identifier = "deny-exit" +description = "Denies the exit command without any pre-configured scope." +commands.deny = ["exit"] diff --git a/plugins/process/permissions/autogenerated/commands/restart.toml b/plugins/process/permissions/autogenerated/commands/restart.toml new file mode 100644 index 000000000..e8860b204 --- /dev/null +++ b/plugins/process/permissions/autogenerated/commands/restart.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-restart" +description = "Enables the restart command without any pre-configured scope." +commands.allow = ["restart"] + +[[permission]] +identifier = "deny-restart" +description = "Denies the restart command without any pre-configured scope." +commands.deny = ["restart"] diff --git a/plugins/shell/Cargo.toml b/plugins/shell/Cargo.toml index fe2284688..c699b0aa2 100644 --- a/plugins/shell/Cargo.toml +++ b/plugins/shell/Cargo.toml @@ -6,10 +6,14 @@ edition = { workspace = true } authors = { workspace = true } license = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-shell" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/shell/build.rs b/plugins/shell/build.rs new file mode 100644 index 000000000..fb930fc5b --- /dev/null +++ b/plugins/shell/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["execute", "stdin_write", "kill", "open"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/shell/permissions/.schema.json b/plugins/shell/permissions/.schema.json new file mode 100644 index 000000000..60adaec6e --- /dev/null +++ b/plugins/shell/permissions/.schema.json @@ -0,0 +1,318 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-execute -> Enables the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-execute" + ] + }, + { + "description": "deny-execute -> Denies the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-execute" + ] + }, + { + "description": "allow-kill -> Enables the kill command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-kill" + ] + }, + { + "description": "deny-kill -> Denies the kill command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-kill" + ] + }, + { + "description": "allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-open" + ] + }, + { + "description": "deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-open" + ] + }, + { + "description": "allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-stdin-write" + ] + }, + { + "description": "deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-stdin-write" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/shell/permissions/autogenerated/commands/execute.toml b/plugins/shell/permissions/autogenerated/commands/execute.toml new file mode 100644 index 000000000..be9497e3a --- /dev/null +++ b/plugins/shell/permissions/autogenerated/commands/execute.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-execute" +description = "Enables the execute command without any pre-configured scope." +commands.allow = ["execute"] + +[[permission]] +identifier = "deny-execute" +description = "Denies the execute command without any pre-configured scope." +commands.deny = ["execute"] diff --git a/plugins/shell/permissions/autogenerated/commands/kill.toml b/plugins/shell/permissions/autogenerated/commands/kill.toml new file mode 100644 index 000000000..7b352815e --- /dev/null +++ b/plugins/shell/permissions/autogenerated/commands/kill.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-kill" +description = "Enables the kill command without any pre-configured scope." +commands.allow = ["kill"] + +[[permission]] +identifier = "deny-kill" +description = "Denies the kill command without any pre-configured scope." +commands.deny = ["kill"] diff --git a/plugins/shell/permissions/autogenerated/commands/open.toml b/plugins/shell/permissions/autogenerated/commands/open.toml new file mode 100644 index 000000000..8d1ef53c5 --- /dev/null +++ b/plugins/shell/permissions/autogenerated/commands/open.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-open" +description = "Enables the open command without any pre-configured scope." +commands.allow = ["open"] + +[[permission]] +identifier = "deny-open" +description = "Denies the open command without any pre-configured scope." +commands.deny = ["open"] diff --git a/plugins/shell/permissions/autogenerated/commands/stdin_write.toml b/plugins/shell/permissions/autogenerated/commands/stdin_write.toml new file mode 100644 index 000000000..7efae07e3 --- /dev/null +++ b/plugins/shell/permissions/autogenerated/commands/stdin_write.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-stdin-write" +description = "Enables the stdin_write command without any pre-configured scope." +commands.allow = ["stdin_write"] + +[[permission]] +identifier = "deny-stdin-write" +description = "Denies the stdin_write command without any pre-configured scope." +commands.deny = ["stdin_write"] diff --git a/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json b/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json new file mode 100644 index 000000000..964201815 --- /dev/null +++ b/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json @@ -0,0 +1,1679 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", + "type": "object", + "required": [ + "identifier", + "permissions", + "windows" + ], + "properties": { + "context": { + "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", + "default": "local", + "allOf": [ + { + "$ref": "#/definitions/CapabilityContext" + } + ] + }, + "description": { + "description": "Description of the capability.", + "default": "", + "type": "string" + }, + "identifier": { + "description": "Identifier of the capability.", + "type": "string" + }, + "permissions": { + "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", + "type": "array", + "items": { + "$ref": "#/definitions/Identifier" + } + }, + "windows": { + "description": "List of windows that uses this capability. Can be a glob pattern.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CapabilityContext": { + "description": "Context of the capability.", + "oneOf": [ + { + "description": "Capability refers to local URL usage.", + "type": "string", + "enum": [ + "local" + ] + }, + { + "description": "Capability refers to remote usage.", + "type": "object", + "required": [ + "remote" + ], + "properties": { + "remote": { + "type": "object", + "required": [ + "domains" + ], + "properties": { + "domains": { + "description": "Remote domains this capability refers to.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "additionalProperties": false + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" + ] + }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, + { + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-version" + ] + }, + { + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-name" + ] + }, + { + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-version" + ] + }, + { + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-show" + ] + }, + { + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-show" + ] + }, + { + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-hide" + ] + }, + { + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-name" + ] + }, + { + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-tauri-version" + ] + }, + { + "description": "event:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "event:default" + ] + }, + { + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-listen" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" + ] + }, + { + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-unlisten" + ] + }, + { + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" + ] + }, + { + "description": "menu:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "menu:default" + ] + }, + { + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-create-default" + ] + }, + { + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-items" + ] + }, + { + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-new" + ] + }, + { + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-prepend" + ] + }, + { + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-checked" + ] + }, + { + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-get" + ] + }, + { + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-append" + ] + }, + { + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-enabled" + ] + }, + { + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-items" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" + ] + }, + { + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-insert" + ] + }, + { + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-icon" + ] + }, + { + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-text" + ] + }, + { + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-text" + ] + }, + { + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-new" + ] + }, + { + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-app-menu" + ] + }, + { + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-create-default" + ] + }, + { + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-window-menu" + ] + }, + { + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-get" + ] + }, + { + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-prepend" + ] + }, + { + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove-at" + ] + }, + { + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-enabled" + ] + }, + { + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove" + ] + }, + { + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-text" + ] + }, + { + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-insert" + ] + }, + { + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-accelerator" + ] + }, + { + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-checked" + ] + }, + { + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-append" + ] + }, + { + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-app-menu" + ] + }, + { + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-window-menu" + ] + }, + { + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-popup" + ] + }, + { + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-enabled" + ] + }, + { + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-popup" + ] + }, + { + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove" + ] + }, + { + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-accelerator" + ] + }, + { + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove-at" + ] + }, + { + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-checked" + ] + }, + { + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-checked" + ] + }, + { + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-text" + ] + }, + { + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-enabled" + ] + }, + { + "description": "path:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "path:default" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" + ] + }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" + ] + }, + { + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve" + ] + }, + { + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-is-absolute" + ] + }, + { + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-is-absolute" + ] + }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, + { + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve-directory" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-extname" + ] + }, + { + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-join" + ] + }, + { + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-extname" + ] + }, + { + "description": "resources:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "resources:default" + ] + }, + { + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:deny-close" + ] + }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, + { + "description": "tray:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "tray:default" + ] + }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, + { + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-visible" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" + ] + }, + { + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon" + ] + }, + { + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-title" + ] + }, + { + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-title" + ] + }, + { + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-new" + ] + }, + { + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-new" + ] + }, + { + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-menu" + ] + }, + { + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-temp-dir-path" + ] + }, + { + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-tooltip" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" + ] + }, + { + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" + ] + }, + { + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon-as-template" + ] + }, + { + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-tooltip" + ] + }, + { + "description": "window:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "window:default" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" + ] + }, + { + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-scale-factor" + ] + }, + { + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-effects" + ] + }, + { + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unminimize" + ] + }, + { + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-print" + ] + }, + { + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-devtools" + ] + }, + { + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-effects" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-request-user-attention" + ] + }, + { + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimizable" + ] + }, + { + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-size" + ] + }, + { + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-content-protected" + ] + }, + { + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-position" + ] + }, + { + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimizable" + ] + }, + { + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unmaximize" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-size" + ] + }, + { + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-title" + ] + }, + { + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-start-dragging" + ] + }, + { + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-current-monitor" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" + ] + }, + { + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-center" + ] + }, + { + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-primary-monitor" + ] + }, + { + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-icon" + ] + }, + { + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-decorations" + ] + }, + { + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-shadow" + ] + }, + { + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-minimize" + ] + }, + { + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-show" + ] + }, + { + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-visible" + ] + }, + { + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-position" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" + ] + }, + { + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximized" + ] + }, + { + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-decorated" + ] + }, + { + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-closable" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-theme" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-size" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + }, + { + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-start-dragging" + ] + }, + { + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-focused" + ] + }, + { + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-grab" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-create" + ] + }, + { + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-hide" + ] + }, + { + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-fullscreen" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimized" + ] + }, + { + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-minimizable" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximizable" + ] + }, + { + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-show" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" + ] + }, + { + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-print" + ] + }, + { + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-closable" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" + ] + }, + { + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-position" + ] + }, + { + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-focus" + ] + }, + { + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-grab" + ] + }, + { + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-size" + ] + }, + { + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-title" + ] + }, + { + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-position" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-request-user-attention" + ] + }, + { + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-title" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" + ] + }, + { + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-available-monitors" + ] + }, + { + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-icon" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-position" + ] + }, + { + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-devtools" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-fullscreen" + ] + }, + { + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-closable" + ] + }, + { + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-decorations" + ] + }, + { + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-theme" + ] + }, + { + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-maximizable" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimized" + ] + }, + { + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-center" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-maximize" + ] + }, + { + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-resizable" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" + ] + }, + { + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" + ] + }, + { + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-position" + ] + }, + { + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-focused" + ] + }, + { + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-current-monitor" + ] + }, + { + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-close" + ] + }, + { + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximizable" + ] + }, + { + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-close" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-bottom" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-resizable" + ] + }, + { + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-scale-factor" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" + ] + }, + { + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-hide" + ] + }, + { + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-position" + ] + }, + { + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximized" + ] + }, + { + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-skip-taskbar" + ] + }, + { + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-create" + ] + }, + { + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-max-size" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-visible" + ] + }, + { + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-primary-monitor" + ] + }, + { + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-fullscreen" + ] + }, + { + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-visible" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/sql/Cargo.toml b/plugins/sql/Cargo.toml index bb4d39d4a..0295e7267 100644 --- a/plugins/sql/Cargo.toml +++ b/plugins/sql/Cargo.toml @@ -6,11 +6,15 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-sql" [package.metadata.docs.rs] -features = [ "sqlite" ] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +features = ["sqlite"] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -19,11 +23,11 @@ tauri = { workspace = true } log = { workspace = true } thiserror = { workspace = true } futures-core = "0.3" -sqlx = { version = "0.7", features = [ "json", "time" ] } +sqlx = { version = "0.7", features = ["json", "time"] } time = "0.3" -tokio = { version = "1", features = [ "sync" ] } +tokio = { version = "1", features = ["sync"] } [features] -sqlite = [ "sqlx/sqlite", "sqlx/runtime-tokio" ] -mysql = [ "sqlx/mysql", "sqlx/runtime-tokio-rustls" ] -postgres = [ "sqlx/postgres", "sqlx/runtime-tokio-rustls" ] +sqlite = ["sqlx/sqlite", "sqlx/runtime-tokio"] +mysql = ["sqlx/mysql", "sqlx/runtime-tokio-rustls"] +postgres = ["sqlx/postgres", "sqlx/runtime-tokio-rustls"] diff --git a/plugins/sql/build.rs b/plugins/sql/build.rs new file mode 100644 index 000000000..e74fdb42e --- /dev/null +++ b/plugins/sql/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["load", "execute", "select", "close"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/sql/permissions/.schema.json b/plugins/sql/permissions/.schema.json new file mode 100644 index 000000000..71ae11de1 --- /dev/null +++ b/plugins/sql/permissions/.schema.json @@ -0,0 +1,318 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-close" + ] + }, + { + "description": "deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-close" + ] + }, + { + "description": "allow-execute -> Enables the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-execute" + ] + }, + { + "description": "deny-execute -> Denies the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-execute" + ] + }, + { + "description": "allow-load -> Enables the load command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-load" + ] + }, + { + "description": "deny-load -> Denies the load command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-load" + ] + }, + { + "description": "allow-select -> Enables the select command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-select" + ] + }, + { + "description": "deny-select -> Denies the select command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-select" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/sql/permissions/autogenerated/commands/close.toml b/plugins/sql/permissions/autogenerated/commands/close.toml new file mode 100644 index 000000000..87fb52a98 --- /dev/null +++ b/plugins/sql/permissions/autogenerated/commands/close.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-close" +description = "Enables the close command without any pre-configured scope." +commands.allow = ["close"] + +[[permission]] +identifier = "deny-close" +description = "Denies the close command without any pre-configured scope." +commands.deny = ["close"] diff --git a/plugins/sql/permissions/autogenerated/commands/execute.toml b/plugins/sql/permissions/autogenerated/commands/execute.toml new file mode 100644 index 000000000..be9497e3a --- /dev/null +++ b/plugins/sql/permissions/autogenerated/commands/execute.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-execute" +description = "Enables the execute command without any pre-configured scope." +commands.allow = ["execute"] + +[[permission]] +identifier = "deny-execute" +description = "Denies the execute command without any pre-configured scope." +commands.deny = ["execute"] diff --git a/plugins/sql/permissions/autogenerated/commands/load.toml b/plugins/sql/permissions/autogenerated/commands/load.toml new file mode 100644 index 000000000..0b3dbfd18 --- /dev/null +++ b/plugins/sql/permissions/autogenerated/commands/load.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-load" +description = "Enables the load command without any pre-configured scope." +commands.allow = ["load"] + +[[permission]] +identifier = "deny-load" +description = "Denies the load command without any pre-configured scope." +commands.deny = ["load"] diff --git a/plugins/sql/permissions/autogenerated/commands/select.toml b/plugins/sql/permissions/autogenerated/commands/select.toml new file mode 100644 index 000000000..5b9e54c41 --- /dev/null +++ b/plugins/sql/permissions/autogenerated/commands/select.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-select" +description = "Enables the select command without any pre-configured scope." +commands.allow = ["select"] + +[[permission]] +identifier = "deny-select" +description = "Denies the select command without any pre-configured scope." +commands.deny = ["select"] diff --git a/plugins/store/Cargo.toml b/plugins/store/Cargo.toml index 6419802cc..8251fe36b 100644 --- a/plugins/store/Cargo.toml +++ b/plugins/store/Cargo.toml @@ -6,10 +6,14 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-store" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/store/build.rs b/plugins/store/build.rs new file mode 100644 index 000000000..30ed3968c --- /dev/null +++ b/plugins/store/build.rs @@ -0,0 +1,12 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &[ + "set", "get", "has", "delete", "clear", "reset", "keys", "values", "length", "entries", "load", + "save", +]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/store/permissions/.schema.json b/plugins/store/permissions/.schema.json new file mode 100644 index 000000000..db950d7c7 --- /dev/null +++ b/plugins/store/permissions/.schema.json @@ -0,0 +1,430 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-clear -> Enables the clear command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-clear" + ] + }, + { + "description": "deny-clear -> Denies the clear command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-clear" + ] + }, + { + "description": "allow-delete -> Enables the delete command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-delete" + ] + }, + { + "description": "deny-delete -> Denies the delete command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-delete" + ] + }, + { + "description": "allow-entries -> Enables the entries command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-entries" + ] + }, + { + "description": "deny-entries -> Denies the entries command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-entries" + ] + }, + { + "description": "allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-get" + ] + }, + { + "description": "deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-get" + ] + }, + { + "description": "allow-has -> Enables the has command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-has" + ] + }, + { + "description": "deny-has -> Denies the has command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-has" + ] + }, + { + "description": "allow-keys -> Enables the keys command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-keys" + ] + }, + { + "description": "deny-keys -> Denies the keys command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-keys" + ] + }, + { + "description": "allow-length -> Enables the length command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-length" + ] + }, + { + "description": "deny-length -> Denies the length command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-length" + ] + }, + { + "description": "allow-load -> Enables the load command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-load" + ] + }, + { + "description": "deny-load -> Denies the load command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-load" + ] + }, + { + "description": "allow-reset -> Enables the reset command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-reset" + ] + }, + { + "description": "deny-reset -> Denies the reset command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-reset" + ] + }, + { + "description": "allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save" + ] + }, + { + "description": "deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save" + ] + }, + { + "description": "allow-set -> Enables the set command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-set" + ] + }, + { + "description": "deny-set -> Denies the set command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-set" + ] + }, + { + "description": "allow-values -> Enables the values command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-values" + ] + }, + { + "description": "deny-values -> Denies the values command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-values" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/store/permissions/autogenerated/commands/clear.toml b/plugins/store/permissions/autogenerated/commands/clear.toml new file mode 100644 index 000000000..84eb68fbb --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/clear.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-clear" +description = "Enables the clear command without any pre-configured scope." +commands.allow = ["clear"] + +[[permission]] +identifier = "deny-clear" +description = "Denies the clear command without any pre-configured scope." +commands.deny = ["clear"] diff --git a/plugins/store/permissions/autogenerated/commands/delete.toml b/plugins/store/permissions/autogenerated/commands/delete.toml new file mode 100644 index 000000000..89d06e683 --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/delete.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-delete" +description = "Enables the delete command without any pre-configured scope." +commands.allow = ["delete"] + +[[permission]] +identifier = "deny-delete" +description = "Denies the delete command without any pre-configured scope." +commands.deny = ["delete"] diff --git a/plugins/store/permissions/autogenerated/commands/entries.toml b/plugins/store/permissions/autogenerated/commands/entries.toml new file mode 100644 index 000000000..604b31efe --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/entries.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-entries" +description = "Enables the entries command without any pre-configured scope." +commands.allow = ["entries"] + +[[permission]] +identifier = "deny-entries" +description = "Denies the entries command without any pre-configured scope." +commands.deny = ["entries"] diff --git a/plugins/store/permissions/autogenerated/commands/get.toml b/plugins/store/permissions/autogenerated/commands/get.toml new file mode 100644 index 000000000..14cfaf00d --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/get.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-get" +description = "Enables the get command without any pre-configured scope." +commands.allow = ["get"] + +[[permission]] +identifier = "deny-get" +description = "Denies the get command without any pre-configured scope." +commands.deny = ["get"] diff --git a/plugins/store/permissions/autogenerated/commands/has.toml b/plugins/store/permissions/autogenerated/commands/has.toml new file mode 100644 index 000000000..af3cd2504 --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/has.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-has" +description = "Enables the has command without any pre-configured scope." +commands.allow = ["has"] + +[[permission]] +identifier = "deny-has" +description = "Denies the has command without any pre-configured scope." +commands.deny = ["has"] diff --git a/plugins/store/permissions/autogenerated/commands/keys.toml b/plugins/store/permissions/autogenerated/commands/keys.toml new file mode 100644 index 000000000..2abbfec31 --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/keys.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-keys" +description = "Enables the keys command without any pre-configured scope." +commands.allow = ["keys"] + +[[permission]] +identifier = "deny-keys" +description = "Denies the keys command without any pre-configured scope." +commands.deny = ["keys"] diff --git a/plugins/store/permissions/autogenerated/commands/length.toml b/plugins/store/permissions/autogenerated/commands/length.toml new file mode 100644 index 000000000..ff0b4b61b --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/length.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-length" +description = "Enables the length command without any pre-configured scope." +commands.allow = ["length"] + +[[permission]] +identifier = "deny-length" +description = "Denies the length command without any pre-configured scope." +commands.deny = ["length"] diff --git a/plugins/store/permissions/autogenerated/commands/load.toml b/plugins/store/permissions/autogenerated/commands/load.toml new file mode 100644 index 000000000..0b3dbfd18 --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/load.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-load" +description = "Enables the load command without any pre-configured scope." +commands.allow = ["load"] + +[[permission]] +identifier = "deny-load" +description = "Denies the load command without any pre-configured scope." +commands.deny = ["load"] diff --git a/plugins/store/permissions/autogenerated/commands/reset.toml b/plugins/store/permissions/autogenerated/commands/reset.toml new file mode 100644 index 000000000..f346b07db --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/reset.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-reset" +description = "Enables the reset command without any pre-configured scope." +commands.allow = ["reset"] + +[[permission]] +identifier = "deny-reset" +description = "Denies the reset command without any pre-configured scope." +commands.deny = ["reset"] diff --git a/plugins/store/permissions/autogenerated/commands/save.toml b/plugins/store/permissions/autogenerated/commands/save.toml new file mode 100644 index 000000000..fb9bfbc36 --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/save.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-save" +description = "Enables the save command without any pre-configured scope." +commands.allow = ["save"] + +[[permission]] +identifier = "deny-save" +description = "Denies the save command without any pre-configured scope." +commands.deny = ["save"] diff --git a/plugins/store/permissions/autogenerated/commands/set.toml b/plugins/store/permissions/autogenerated/commands/set.toml new file mode 100644 index 000000000..a473f70ba --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/set.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-set" +description = "Enables the set command without any pre-configured scope." +commands.allow = ["set"] + +[[permission]] +identifier = "deny-set" +description = "Denies the set command without any pre-configured scope." +commands.deny = ["set"] diff --git a/plugins/store/permissions/autogenerated/commands/values.toml b/plugins/store/permissions/autogenerated/commands/values.toml new file mode 100644 index 000000000..8f2f240e4 --- /dev/null +++ b/plugins/store/permissions/autogenerated/commands/values.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-values" +description = "Enables the values command without any pre-configured scope." +commands.allow = ["values"] + +[[permission]] +identifier = "deny-values" +description = "Denies the values command without any pre-configured scope." +commands.deny = ["values"] diff --git a/plugins/stronghold/Cargo.toml b/plugins/stronghold/Cargo.toml index d876cd739..69e0f7b4f 100644 --- a/plugins/stronghold/Cargo.toml +++ b/plugins/stronghold/Cargo.toml @@ -6,10 +6,14 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-stronghold" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -20,15 +24,15 @@ thiserror = { workspace = true } iota_stronghold = "1" iota-crypto = "0.23" hex = "0.4" -zeroize = { version = "1", features = [ "zeroize_derive" ] } +zeroize = { version = "1", features = ["zeroize_derive"] } rust-argon2 = { version = "1", optional = true } rand_chacha = { version = "0.3.1", optional = true } -rand_core = { version = "0.6.4", features = [ "getrandom" ], optional = true } +rand_core = { version = "0.6.4", features = ["getrandom"], optional = true } [dev-dependencies] rand = "0.8" rusty-fork = "0.3" [features] -default = [ "kdf" ] -kdf = [ "dep:rust-argon2", "dep:rand_chacha", "dep:rand_core" ] +default = ["kdf"] +kdf = ["dep:rust-argon2", "dep:rand_chacha", "dep:rand_core"] diff --git a/plugins/stronghold/build.rs b/plugins/stronghold/build.rs new file mode 100644 index 000000000..05404a1be --- /dev/null +++ b/plugins/stronghold/build.rs @@ -0,0 +1,21 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &[ + "initialize", + "destroy", + "save", + "create_client", + "load_client", + "get_store_record", + "save_store_record", + "remove_store_record", + "save_secret", + "remove_secret", + "execute_procedure", +]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/stronghold/permissions/.schema.json b/plugins/stronghold/permissions/.schema.json new file mode 100644 index 000000000..87dcf8eb5 --- /dev/null +++ b/plugins/stronghold/permissions/.schema.json @@ -0,0 +1,416 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-create-client -> Enables the create_client command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-create-client" + ] + }, + { + "description": "deny-create-client -> Denies the create_client command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-create-client" + ] + }, + { + "description": "allow-destroy -> Enables the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-destroy" + ] + }, + { + "description": "deny-destroy -> Denies the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-destroy" + ] + }, + { + "description": "allow-execute-procedure -> Enables the execute_procedure command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-execute-procedure" + ] + }, + { + "description": "deny-execute-procedure -> Denies the execute_procedure command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-execute-procedure" + ] + }, + { + "description": "allow-get-store-record -> Enables the get_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-get-store-record" + ] + }, + { + "description": "deny-get-store-record -> Denies the get_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-get-store-record" + ] + }, + { + "description": "allow-initialize -> Enables the initialize command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-initialize" + ] + }, + { + "description": "deny-initialize -> Denies the initialize command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-initialize" + ] + }, + { + "description": "allow-load-client -> Enables the load_client command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-load-client" + ] + }, + { + "description": "deny-load-client -> Denies the load_client command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-load-client" + ] + }, + { + "description": "allow-remove-secret -> Enables the remove_secret command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-remove-secret" + ] + }, + { + "description": "deny-remove-secret -> Denies the remove_secret command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-remove-secret" + ] + }, + { + "description": "allow-remove-store-record -> Enables the remove_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-remove-store-record" + ] + }, + { + "description": "deny-remove-store-record -> Denies the remove_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-remove-store-record" + ] + }, + { + "description": "allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save" + ] + }, + { + "description": "deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save" + ] + }, + { + "description": "allow-save-secret -> Enables the save_secret command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save-secret" + ] + }, + { + "description": "deny-save-secret -> Denies the save_secret command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save-secret" + ] + }, + { + "description": "allow-save-store-record -> Enables the save_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save-store-record" + ] + }, + { + "description": "deny-save-store-record -> Denies the save_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save-store-record" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/stronghold/permissions/autogenerated/commands/create_client.toml b/plugins/stronghold/permissions/autogenerated/commands/create_client.toml new file mode 100644 index 000000000..ab943abe5 --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/create_client.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-create-client" +description = "Enables the create_client command without any pre-configured scope." +commands.allow = ["create_client"] + +[[permission]] +identifier = "deny-create-client" +description = "Denies the create_client command without any pre-configured scope." +commands.deny = ["create_client"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/destroy.toml b/plugins/stronghold/permissions/autogenerated/commands/destroy.toml new file mode 100644 index 000000000..7e75195d3 --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/destroy.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-destroy" +description = "Enables the destroy command without any pre-configured scope." +commands.allow = ["destroy"] + +[[permission]] +identifier = "deny-destroy" +description = "Denies the destroy command without any pre-configured scope." +commands.deny = ["destroy"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/execute_procedure.toml b/plugins/stronghold/permissions/autogenerated/commands/execute_procedure.toml new file mode 100644 index 000000000..8dadcb4c0 --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/execute_procedure.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-execute-procedure" +description = "Enables the execute_procedure command without any pre-configured scope." +commands.allow = ["execute_procedure"] + +[[permission]] +identifier = "deny-execute-procedure" +description = "Denies the execute_procedure command without any pre-configured scope." +commands.deny = ["execute_procedure"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/get_store_record.toml b/plugins/stronghold/permissions/autogenerated/commands/get_store_record.toml new file mode 100644 index 000000000..a869a186e --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/get_store_record.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-get-store-record" +description = "Enables the get_store_record command without any pre-configured scope." +commands.allow = ["get_store_record"] + +[[permission]] +identifier = "deny-get-store-record" +description = "Denies the get_store_record command without any pre-configured scope." +commands.deny = ["get_store_record"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/initialize.toml b/plugins/stronghold/permissions/autogenerated/commands/initialize.toml new file mode 100644 index 000000000..21d2edf5f --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/initialize.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-initialize" +description = "Enables the initialize command without any pre-configured scope." +commands.allow = ["initialize"] + +[[permission]] +identifier = "deny-initialize" +description = "Denies the initialize command without any pre-configured scope." +commands.deny = ["initialize"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/load_client.toml b/plugins/stronghold/permissions/autogenerated/commands/load_client.toml new file mode 100644 index 000000000..501c467bf --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/load_client.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-load-client" +description = "Enables the load_client command without any pre-configured scope." +commands.allow = ["load_client"] + +[[permission]] +identifier = "deny-load-client" +description = "Denies the load_client command without any pre-configured scope." +commands.deny = ["load_client"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/remove_secret.toml b/plugins/stronghold/permissions/autogenerated/commands/remove_secret.toml new file mode 100644 index 000000000..e3b74b328 --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/remove_secret.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-remove-secret" +description = "Enables the remove_secret command without any pre-configured scope." +commands.allow = ["remove_secret"] + +[[permission]] +identifier = "deny-remove-secret" +description = "Denies the remove_secret command without any pre-configured scope." +commands.deny = ["remove_secret"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/remove_store_record.toml b/plugins/stronghold/permissions/autogenerated/commands/remove_store_record.toml new file mode 100644 index 000000000..8c7ef6354 --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/remove_store_record.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-remove-store-record" +description = "Enables the remove_store_record command without any pre-configured scope." +commands.allow = ["remove_store_record"] + +[[permission]] +identifier = "deny-remove-store-record" +description = "Denies the remove_store_record command without any pre-configured scope." +commands.deny = ["remove_store_record"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/save.toml b/plugins/stronghold/permissions/autogenerated/commands/save.toml new file mode 100644 index 000000000..fb9bfbc36 --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/save.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-save" +description = "Enables the save command without any pre-configured scope." +commands.allow = ["save"] + +[[permission]] +identifier = "deny-save" +description = "Denies the save command without any pre-configured scope." +commands.deny = ["save"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/save_secret.toml b/plugins/stronghold/permissions/autogenerated/commands/save_secret.toml new file mode 100644 index 000000000..fd58014d7 --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/save_secret.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-save-secret" +description = "Enables the save_secret command without any pre-configured scope." +commands.allow = ["save_secret"] + +[[permission]] +identifier = "deny-save-secret" +description = "Denies the save_secret command without any pre-configured scope." +commands.deny = ["save_secret"] diff --git a/plugins/stronghold/permissions/autogenerated/commands/save_store_record.toml b/plugins/stronghold/permissions/autogenerated/commands/save_store_record.toml new file mode 100644 index 000000000..6e5bbce08 --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/commands/save_store_record.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-save-store-record" +description = "Enables the save_store_record command without any pre-configured scope." +commands.allow = ["save_store_record"] + +[[permission]] +identifier = "deny-save-store-record" +description = "Denies the save_store_record command without any pre-configured scope." +commands.deny = ["save_store_record"] diff --git a/plugins/updater/Cargo.toml b/plugins/updater/Cargo.toml index dba6817fd..46a62ac9f 100644 --- a/plugins/updater/Cargo.toml +++ b/plugins/updater/Cargo.toml @@ -6,10 +6,14 @@ edition = { workspace = true } authors = { workspace = true } license = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-updater" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] tauri = { workspace = true } @@ -17,15 +21,18 @@ serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } tokio = "1" -reqwest = { version = "0.11", default-features = false, features = [ "json", "stream" ] } +reqwest = { version = "0.11", default-features = false, features = [ + "json", + "stream", +] } url = { workspace = true } http = "0.2" dirs-next = "2" minisign-verify = "0.2" -time = { version = "0.3", features = [ "parsing", "formatting" ] } +time = { version = "0.3", features = ["parsing", "formatting"] } base64 = "0.21" percent-encoding = "2" -semver = { version = "1", features = [ "serde" ] } +semver = { version = "1", features = ["serde"] } futures-util = "0.3" tempfile = "3" zip = "0.6" @@ -41,6 +48,6 @@ flate2 = "1.0.27" mockito = "0.31" [features] -native-tls = [ "reqwest/native-tls" ] -native-tls-vendored = [ "reqwest/native-tls-vendored" ] -rustls-tls = [ "reqwest/rustls-tls" ] +native-tls = ["reqwest/native-tls"] +native-tls-vendored = ["reqwest/native-tls-vendored"] +rustls-tls = ["reqwest/rustls-tls"] diff --git a/plugins/updater/build.rs b/plugins/updater/build.rs index 0b339c43e..6ba1a7d91 100644 --- a/plugins/updater/build.rs +++ b/plugins/updater/build.rs @@ -2,7 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT +const COMMANDS: &[&str] = &["check", "download_and_install"]; + fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); + let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap(); let mobile = target_os == "ios" || target_os == "android"; alias("desktop", !mobile); diff --git a/plugins/updater/permissions/.schema.json b/plugins/updater/permissions/.schema.json new file mode 100644 index 000000000..fec8d398c --- /dev/null +++ b/plugins/updater/permissions/.schema.json @@ -0,0 +1,297 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-check -> Enables the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-check" + ] + }, + { + "description": "deny-check -> Denies the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-check" + ] + }, + { + "description": "allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-download-and-install" + ] + }, + { + "description": "deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-download-and-install" + ] + }, + { + "description": "default -> Allows checking for new updates and installing them", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/updater/permissions/autogenerated/commands/check.toml b/plugins/updater/permissions/autogenerated/commands/check.toml new file mode 100644 index 000000000..5358ea874 --- /dev/null +++ b/plugins/updater/permissions/autogenerated/commands/check.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-check" +description = "Enables the check command without any pre-configured scope." +commands.allow = ["check"] + +[[permission]] +identifier = "deny-check" +description = "Denies the check command without any pre-configured scope." +commands.deny = ["check"] diff --git a/plugins/updater/permissions/autogenerated/commands/download_and_install.toml b/plugins/updater/permissions/autogenerated/commands/download_and_install.toml new file mode 100644 index 000000000..b34133a76 --- /dev/null +++ b/plugins/updater/permissions/autogenerated/commands/download_and_install.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-download-and-install" +description = "Enables the download_and_install command without any pre-configured scope." +commands.allow = ["download_and_install"] + +[[permission]] +identifier = "deny-download-and-install" +description = "Denies the download_and_install command without any pre-configured scope." +commands.deny = ["download_and_install"] diff --git a/plugins/updater/permissions/default.toml b/plugins/updater/permissions/default.toml new file mode 100644 index 000000000..49417aae0 --- /dev/null +++ b/plugins/updater/permissions/default.toml @@ -0,0 +1,4 @@ +"$schema" = ".schema.json" +[default] +description = "Allows checking for new updates and installing them" +permissions = ["allow-check", "allow-download-and-install"] diff --git a/plugins/updater/tests/app-updater/capabilities/.schema.json b/plugins/updater/tests/app-updater/capabilities/.schema.json new file mode 100644 index 000000000..ffa0f5a4a --- /dev/null +++ b/plugins/updater/tests/app-updater/capabilities/.schema.json @@ -0,0 +1,1714 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", + "type": "object", + "required": [ + "identifier", + "permissions", + "windows" + ], + "properties": { + "context": { + "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", + "default": "local", + "allOf": [ + { + "$ref": "#/definitions/CapabilityContext" + } + ] + }, + "description": { + "description": "Description of the capability.", + "default": "", + "type": "string" + }, + "identifier": { + "description": "Identifier of the capability.", + "type": "string" + }, + "permissions": { + "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", + "type": "array", + "items": { + "$ref": "#/definitions/Identifier" + } + }, + "windows": { + "description": "List of windows that uses this capability. Can be a glob pattern.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CapabilityContext": { + "description": "Context of the capability.", + "oneOf": [ + { + "description": "Capability refers to local URL usage.", + "type": "string", + "enum": [ + "local" + ] + }, + { + "description": "Capability refers to remote usage.", + "type": "object", + "required": [ + "remote" + ], + "properties": { + "remote": { + "type": "object", + "required": [ + "domains" + ], + "properties": { + "domains": { + "description": "Remote domains this capability refers to.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "additionalProperties": false + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" + ] + }, + { + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-name" + ] + }, + { + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-hide" + ] + }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, + { + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-show" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" + ] + }, + { + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-name" + ] + }, + { + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-show" + ] + }, + { + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-version" + ] + }, + { + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-version" + ] + }, + { + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-tauri-version" + ] + }, + { + "description": "event:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "event:default" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" + ] + }, + { + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit" + ] + }, + { + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-listen" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" + ] + }, + { + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-unlisten" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" + ] + }, + { + "description": "menu:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "menu:default" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" + ] + }, + { + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-append" + ] + }, + { + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-checked" + ] + }, + { + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-text" + ] + }, + { + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-icon" + ] + }, + { + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-text" + ] + }, + { + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-get" + ] + }, + { + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-text" + ] + }, + { + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-enabled" + ] + }, + { + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove-at" + ] + }, + { + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-enabled" + ] + }, + { + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-create-default" + ] + }, + { + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-checked" + ] + }, + { + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-enabled" + ] + }, + { + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-new" + ] + }, + { + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-accelerator" + ] + }, + { + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-prepend" + ] + }, + { + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-window-menu" + ] + }, + { + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-checked" + ] + }, + { + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-create-default" + ] + }, + { + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-enabled" + ] + }, + { + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove" + ] + }, + { + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-text" + ] + }, + { + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-items" + ] + }, + { + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-prepend" + ] + }, + { + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-insert" + ] + }, + { + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-checked" + ] + }, + { + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-new" + ] + }, + { + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-app-menu" + ] + }, + { + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-insert" + ] + }, + { + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove-at" + ] + }, + { + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-accelerator" + ] + }, + { + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-popup" + ] + }, + { + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-items" + ] + }, + { + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove" + ] + }, + { + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-app-menu" + ] + }, + { + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-append" + ] + }, + { + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-popup" + ] + }, + { + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-get" + ] + }, + { + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-window-menu" + ] + }, + { + "description": "path:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "path:default" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-is-absolute" + ] + }, + { + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve-directory" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-extname" + ] + }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, + { + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve" + ] + }, + { + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-join" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" + ] + }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" + ] + }, + { + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-is-absolute" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-extname" + ] + }, + { + "description": "resources:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "resources:default" + ] + }, + { + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:deny-close" + ] + }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, + { + "description": "tray:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "tray:default" + ] + }, + { + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-title" + ] + }, + { + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" + ] + }, + { + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon" + ] + }, + { + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon-as-template" + ] + }, + { + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-tooltip" + ] + }, + { + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-visible" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" + ] + }, + { + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-new" + ] + }, + { + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-new" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" + ] + }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, + { + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-menu" + ] + }, + { + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-title" + ] + }, + { + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-tooltip" + ] + }, + { + "description": "updater:default -> Allows checking for new updates and installing them", + "type": "string", + "enum": [ + "updater:default" + ] + }, + { + "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:allow-download-and-install" + ] + }, + { + "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:allow-check" + ] + }, + { + "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:deny-check" + ] + }, + { + "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:deny-download-and-install" + ] + }, + { + "description": "window:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "window:default" + ] + }, + { + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-close" + ] + }, + { + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-position" + ] + }, + { + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-available-monitors" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-hide" + ] + }, + { + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-visible" + ] + }, + { + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-grab" + ] + }, + { + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-size" + ] + }, + { + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-position" + ] + }, + { + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimizable" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-minimizable" + ] + }, + { + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-title" + ] + }, + { + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-position" + ] + }, + { + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-print" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-center" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-create" + ] + }, + { + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-devtools" + ] + }, + { + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-closable" + ] + }, + { + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-print" + ] + }, + { + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-theme" + ] + }, + { + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-icon" + ] + }, + { + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-create" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, + { + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-hide" + ] + }, + { + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-title" + ] + }, + { + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-devtools" + ] + }, + { + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-decorated" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-start-dragging" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-theme" + ] + }, + { + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-ignore-cursor-events" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximized" + ] + }, + { + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-resizable" + ] + }, + { + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximized" + ] + }, + { + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-decorations" + ] + }, + { + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-focused" + ] + }, + { + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-skip-taskbar" + ] + }, + { + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-position" + ] + }, + { + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-minimize" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" + ] + }, + { + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-maximizable" + ] + }, + { + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-resizable" + ] + }, + { + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-size" + ] + }, + { + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unmaximize" + ] + }, + { + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-title" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-fullscreen" + ] + }, + { + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimized" + ] + }, + { + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimized" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-icon" + ] + }, + { + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-visible" + ] + }, + { + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-focus" + ] + }, + { + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-shadow" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-visible" + ] + }, + { + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximizable" + ] + }, + { + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-primary-monitor" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + }, + { + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-position" + ] + }, + { + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-bottom" + ] + }, + { + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-fullscreen" + ] + }, + { + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-close" + ] + }, + { + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-size" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-request-user-attention" + ] + }, + { + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-closable" + ] + }, + { + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-focused" + ] + }, + { + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-position" + ] + }, + { + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-current-monitor" + ] + }, + { + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-grab" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-max-size" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" + ] + }, + { + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-content-protected" + ] + }, + { + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-center" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximizable" + ] + }, + { + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-scale-factor" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" + ] + }, + { + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-primary-monitor" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" + ] + }, + { + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-decorations" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" + ] + }, + { + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-start-dragging" + ] + }, + { + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unminimize" + ] + }, + { + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-scale-factor" + ] + }, + { + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-current-monitor" + ] + }, + { + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-closable" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" + ] + }, + { + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-maximize" + ] + }, + { + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-size" + ] + }, + { + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-effects" + ] + }, + { + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-effects" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-maximize" + ] + }, + { + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-show" + ] + }, + { + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimizable" + ] + }, + { + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-position" + ] + }, + { + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-request-user-attention" + ] + }, + { + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-show" + ] + }, + { + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-fullscreen" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/upload/Cargo.toml b/plugins/upload/Cargo.toml index df2f04e16..a22438069 100644 --- a/plugins/upload/Cargo.toml +++ b/plugins/upload/Cargo.toml @@ -6,10 +6,14 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-upload" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -17,13 +21,16 @@ serde_json = { workspace = true } tauri = { workspace = true } log = { workspace = true } thiserror = { workspace = true } -tokio = { version = "1", features = [ "fs" ] } -tokio-util = { version = "0.7", features = [ "codec" ] } -reqwest = { version = "0.11", default-features = false, features = [ "json", "stream" ] } +tokio = { version = "1", features = ["fs"] } +tokio-util = { version = "0.7", features = ["codec"] } +reqwest = { version = "0.11", default-features = false, features = [ + "json", + "stream", +] } futures-util = "0.3" read-progress-stream = "1.0.0" [features] -native-tls = [ "reqwest/native-tls" ] -native-tls-vendored = [ "reqwest/native-tls-vendored" ] -rustls-tls = [ "reqwest/rustls-tls" ] +native-tls = ["reqwest/native-tls"] +native-tls-vendored = ["reqwest/native-tls-vendored"] +rustls-tls = ["reqwest/rustls-tls"] diff --git a/plugins/upload/build.rs b/plugins/upload/build.rs new file mode 100644 index 000000000..bfdf48b9c --- /dev/null +++ b/plugins/upload/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["download", "upload"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/upload/permissions/.schema.json b/plugins/upload/permissions/.schema.json new file mode 100644 index 000000000..be58be89b --- /dev/null +++ b/plugins/upload/permissions/.schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-download -> Enables the download command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-download" + ] + }, + { + "description": "deny-download -> Denies the download command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-download" + ] + }, + { + "description": "allow-upload -> Enables the upload command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-upload" + ] + }, + { + "description": "deny-upload -> Denies the upload command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-upload" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/upload/permissions/autogenerated/commands/download.toml b/plugins/upload/permissions/autogenerated/commands/download.toml new file mode 100644 index 000000000..9c525a15a --- /dev/null +++ b/plugins/upload/permissions/autogenerated/commands/download.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-download" +description = "Enables the download command without any pre-configured scope." +commands.allow = ["download"] + +[[permission]] +identifier = "deny-download" +description = "Denies the download command without any pre-configured scope." +commands.deny = ["download"] diff --git a/plugins/upload/permissions/autogenerated/commands/upload.toml b/plugins/upload/permissions/autogenerated/commands/upload.toml new file mode 100644 index 000000000..4f587be3d --- /dev/null +++ b/plugins/upload/permissions/autogenerated/commands/upload.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-upload" +description = "Enables the upload command without any pre-configured scope." +commands.allow = ["upload"] + +[[permission]] +identifier = "deny-upload" +description = "Denies the upload command without any pre-configured scope." +commands.deny = ["upload"] diff --git a/plugins/websocket/Cargo.toml b/plugins/websocket/Cargo.toml index a53b367f8..d9733fb77 100644 --- a/plugins/websocket/Cargo.toml +++ b/plugins/websocket/Cargo.toml @@ -6,11 +6,15 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } -exclude = [ "/examples" ] +links = "tauri-plugin-websocket" +exclude = ["/examples"] [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } @@ -20,10 +24,10 @@ log = { workspace = true } thiserror = { workspace = true } rand = "0.8" futures-util = "0.3" -tokio = { version = "1", features = [ "net", "sync" ] } +tokio = { version = "1", features = ["net", "sync"] } tokio-tungstenite = { version = "0.20" } [features] -native-tls = [ "tokio-tungstenite/native-tls" ] -native-tls-vendored = [ "tokio-tungstenite/native-tls-vendored" ] -rustls-tls-webpki-roots = [ "tokio-tungstenite/rustls-tls-webpki-roots" ] +native-tls = ["tokio-tungstenite/native-tls"] +native-tls-vendored = ["tokio-tungstenite/native-tls-vendored"] +rustls-tls-webpki-roots = ["tokio-tungstenite/rustls-tls-webpki-roots"] diff --git a/plugins/websocket/build.rs b/plugins/websocket/build.rs new file mode 100644 index 000000000..b7bf848cb --- /dev/null +++ b/plugins/websocket/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["connect", "send"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json b/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json new file mode 100644 index 000000000..3f085fe10 --- /dev/null +++ b/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json @@ -0,0 +1,1714 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", + "type": "object", + "required": [ + "identifier", + "permissions", + "windows" + ], + "properties": { + "context": { + "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", + "default": "local", + "allOf": [ + { + "$ref": "#/definitions/CapabilityContext" + } + ] + }, + "description": { + "description": "Description of the capability.", + "default": "", + "type": "string" + }, + "identifier": { + "description": "Identifier of the capability.", + "type": "string" + }, + "permissions": { + "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", + "type": "array", + "items": { + "$ref": "#/definitions/Identifier" + } + }, + "windows": { + "description": "List of windows that uses this capability. Can be a glob pattern.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CapabilityContext": { + "description": "Context of the capability.", + "oneOf": [ + { + "description": "Capability refers to local URL usage.", + "type": "string", + "enum": [ + "local" + ] + }, + { + "description": "Capability refers to remote usage.", + "type": "object", + "required": [ + "remote" + ], + "properties": { + "remote": { + "type": "object", + "required": [ + "domains" + ], + "properties": { + "domains": { + "description": "Remote domains this capability refers to.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "additionalProperties": false + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" + ] + }, + { + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-version" + ] + }, + { + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-name" + ] + }, + { + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-version" + ] + }, + { + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-tauri-version" + ] + }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, + { + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-hide" + ] + }, + { + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-show" + ] + }, + { + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-show" + ] + }, + { + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-name" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" + ] + }, + { + "description": "event:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "event:default" + ] + }, + { + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-unlisten" + ] + }, + { + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-listen" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" + ] + }, + { + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" + ] + }, + { + "description": "menu:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "menu:default" + ] + }, + { + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-get" + ] + }, + { + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-create-default" + ] + }, + { + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-window-menu" + ] + }, + { + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove" + ] + }, + { + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-new" + ] + }, + { + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-items" + ] + }, + { + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-prepend" + ] + }, + { + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-checked" + ] + }, + { + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-append" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" + ] + }, + { + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-text" + ] + }, + { + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-text" + ] + }, + { + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-enabled" + ] + }, + { + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-get" + ] + }, + { + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-create-default" + ] + }, + { + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-prepend" + ] + }, + { + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-icon" + ] + }, + { + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-text" + ] + }, + { + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-app-menu" + ] + }, + { + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-enabled" + ] + }, + { + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-app-menu" + ] + }, + { + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove" + ] + }, + { + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-insert" + ] + }, + { + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-checked" + ] + }, + { + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-new" + ] + }, + { + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-checked" + ] + }, + { + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-items" + ] + }, + { + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-text" + ] + }, + { + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-enabled" + ] + }, + { + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove-at" + ] + }, + { + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-enabled" + ] + }, + { + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove-at" + ] + }, + { + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-window-menu" + ] + }, + { + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-accelerator" + ] + }, + { + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-popup" + ] + }, + { + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-insert" + ] + }, + { + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-checked" + ] + }, + { + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-popup" + ] + }, + { + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-accelerator" + ] + }, + { + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-append" + ] + }, + { + "description": "path:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "path:default" + ] + }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" + ] + }, + { + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-is-absolute" + ] + }, + { + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve-directory" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" + ] + }, + { + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve" + ] + }, + { + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-extname" + ] + }, + { + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-extname" + ] + }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-join" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-is-absolute" + ] + }, + { + "description": "resources:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "resources:default" + ] + }, + { + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:deny-close" + ] + }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, + { + "description": "tray:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "tray:default" + ] + }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, + { + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-tooltip" + ] + }, + { + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-menu" + ] + }, + { + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-new" + ] + }, + { + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon-as-template" + ] + }, + { + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-title" + ] + }, + { + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-tooltip" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" + ] + }, + { + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon" + ] + }, + { + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-new" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" + ] + }, + { + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-title" + ] + }, + { + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-visible" + ] + }, + { + "description": "websocket:default -> Allows connecting and sending data to a WebSocket server", + "type": "string", + "enum": [ + "websocket:default" + ] + }, + { + "description": "websocket:allow-send -> Enables the send command without any pre-configured scope.", + "type": "string", + "enum": [ + "websocket:allow-send" + ] + }, + { + "description": "websocket:deny-connect -> Denies the connect command without any pre-configured scope.", + "type": "string", + "enum": [ + "websocket:deny-connect" + ] + }, + { + "description": "websocket:allow-connect -> Enables the connect command without any pre-configured scope.", + "type": "string", + "enum": [ + "websocket:allow-connect" + ] + }, + { + "description": "websocket:deny-send -> Denies the send command without any pre-configured scope.", + "type": "string", + "enum": [ + "websocket:deny-send" + ] + }, + { + "description": "window:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "window:default" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-start-dragging" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-grab" + ] + }, + { + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-position" + ] + }, + { + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimizable" + ] + }, + { + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximizable" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-scale-factor" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" + ] + }, + { + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-create" + ] + }, + { + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximized" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-visible" + ] + }, + { + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-focus" + ] + }, + { + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-icon" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-print" + ] + }, + { + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-size" + ] + }, + { + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-devtools" + ] + }, + { + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-center" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" + ] + }, + { + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-current-monitor" + ] + }, + { + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-fullscreen" + ] + }, + { + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-create" + ] + }, + { + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-print" + ] + }, + { + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-size" + ] + }, + { + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-fullscreen" + ] + }, + { + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-decorations" + ] + }, + { + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-bottom" + ] + }, + { + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimized" + ] + }, + { + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-primary-monitor" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-primary-monitor" + ] + }, + { + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-title" + ] + }, + { + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-closable" + ] + }, + { + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-current-monitor" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-start-dragging" + ] + }, + { + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-closable" + ] + }, + { + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unminimize" + ] + }, + { + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-minimizable" + ] + }, + { + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-close" + ] + }, + { + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-maximize" + ] + }, + { + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-position" + ] + }, + { + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-resizable" + ] + }, + { + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-devtools" + ] + }, + { + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-request-user-attention" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, + { + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-visible" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" + ] + }, + { + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-resizable" + ] + }, + { + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimized" + ] + }, + { + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-closable" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-minimize" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + }, + { + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-max-size" + ] + }, + { + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximized" + ] + }, + { + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-fullscreen" + ] + }, + { + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-decorations" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" + ] + }, + { + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-grab" + ] + }, + { + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-decorated" + ] + }, + { + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-position" + ] + }, + { + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-show" + ] + }, + { + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unmaximize" + ] + }, + { + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-visible" + ] + }, + { + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-effects" + ] + }, + { + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-position" + ] + }, + { + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-hide" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-hide" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" + ] + }, + { + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-scale-factor" + ] + }, + { + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-show" + ] + }, + { + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-title" + ] + }, + { + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-shadow" + ] + }, + { + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-effects" + ] + }, + { + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-theme" + ] + }, + { + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-title" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-size" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-focused" + ] + }, + { + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-content-protected" + ] + }, + { + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-skip-taskbar" + ] + }, + { + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-icon" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-request-user-attention" + ] + }, + { + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-theme" + ] + }, + { + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximizable" + ] + }, + { + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-maximizable" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" + ] + }, + { + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-size" + ] + }, + { + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-position" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-close" + ] + }, + { + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-position" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-focused" + ] + }, + { + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-center" + ] + }, + { + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-position" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimizable" + ] + }, + { + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-available-monitors" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/websocket/permissions/.schema.json b/plugins/websocket/permissions/.schema.json new file mode 100644 index 000000000..608b78ae4 --- /dev/null +++ b/plugins/websocket/permissions/.schema.json @@ -0,0 +1,297 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-connect -> Enables the connect command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-connect" + ] + }, + { + "description": "deny-connect -> Denies the connect command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-connect" + ] + }, + { + "description": "allow-send -> Enables the send command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-send" + ] + }, + { + "description": "deny-send -> Denies the send command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-send" + ] + }, + { + "description": "default -> Allows connecting and sending data to a WebSocket server", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/websocket/permissions/autogenerated/commands/connect.toml b/plugins/websocket/permissions/autogenerated/commands/connect.toml new file mode 100644 index 000000000..be8f76473 --- /dev/null +++ b/plugins/websocket/permissions/autogenerated/commands/connect.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-connect" +description = "Enables the connect command without any pre-configured scope." +commands.allow = ["connect"] + +[[permission]] +identifier = "deny-connect" +description = "Denies the connect command without any pre-configured scope." +commands.deny = ["connect"] diff --git a/plugins/websocket/permissions/autogenerated/commands/send.toml b/plugins/websocket/permissions/autogenerated/commands/send.toml new file mode 100644 index 000000000..c9143a4c0 --- /dev/null +++ b/plugins/websocket/permissions/autogenerated/commands/send.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-send" +description = "Enables the send command without any pre-configured scope." +commands.allow = ["send"] + +[[permission]] +identifier = "deny-send" +description = "Denies the send command without any pre-configured scope." +commands.deny = ["send"] diff --git a/plugins/websocket/permissions/default.toml b/plugins/websocket/permissions/default.toml new file mode 100644 index 000000000..05e1f1427 --- /dev/null +++ b/plugins/websocket/permissions/default.toml @@ -0,0 +1,4 @@ +"$schema" = ".schema.json" +[default] +description = "Allows connecting and sending data to a WebSocket server" +permissions = ["allow-connect", "allow-send"] diff --git a/plugins/window-state/Cargo.toml b/plugins/window-state/Cargo.toml index 300a57048..fe7089392 100644 --- a/plugins/window-state/Cargo.toml +++ b/plugins/window-state/Cargo.toml @@ -6,10 +6,14 @@ authors = { workspace = true } license = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } +links = "tauri-plugin-window-state" [package.metadata.docs.rs] -rustc-args = [ "--cfg", "docsrs" ] -rustdoc-args = [ "--cfg", "docsrs" ] +rustc-args = ["--cfg", "docsrs"] +rustdoc-args = ["--cfg", "docsrs"] + +[build-dependencies] +tauri-plugin = { workspace = true, features = ["build"] } [dependencies] serde = { workspace = true } diff --git a/plugins/window-state/build.rs b/plugins/window-state/build.rs new file mode 100644 index 000000000..9d9a160a3 --- /dev/null +++ b/plugins/window-state/build.rs @@ -0,0 +1,9 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +const COMMANDS: &[&str] = &["save_window_state", "restore_window_state"]; + +fn main() { + tauri_plugin::Builder::new(COMMANDS).build(); +} diff --git a/plugins/window-state/permissions/.schema.json b/plugins/window-state/permissions/.schema.json new file mode 100644 index 000000000..5fb4b0b9c --- /dev/null +++ b/plugins/window-state/permissions/.schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-restore-window-state -> Enables the restore_window_state command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-restore-window-state" + ] + }, + { + "description": "deny-restore-window-state -> Denies the restore_window_state command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-restore-window-state" + ] + }, + { + "description": "allow-save-window-state -> Enables the save_window_state command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save-window-state" + ] + }, + { + "description": "deny-save-window-state -> Denies the save_window_state command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save-window-state" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/window-state/permissions/autogenerated/commands/restore_window_state.toml b/plugins/window-state/permissions/autogenerated/commands/restore_window_state.toml new file mode 100644 index 000000000..965ab70b2 --- /dev/null +++ b/plugins/window-state/permissions/autogenerated/commands/restore_window_state.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-restore-window-state" +description = "Enables the restore_window_state command without any pre-configured scope." +commands.allow = ["restore_window_state"] + +[[permission]] +identifier = "deny-restore-window-state" +description = "Denies the restore_window_state command without any pre-configured scope." +commands.deny = ["restore_window_state"] diff --git a/plugins/window-state/permissions/autogenerated/commands/save_window_state.toml b/plugins/window-state/permissions/autogenerated/commands/save_window_state.toml new file mode 100644 index 000000000..561222537 --- /dev/null +++ b/plugins/window-state/permissions/autogenerated/commands/save_window_state.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-save-window-state" +description = "Enables the save_window_state command without any pre-configured scope." +commands.allow = ["save_window_state"] + +[[permission]] +identifier = "deny-save-window-state" +description = "Denies the save_window_state command without any pre-configured scope." +commands.deny = ["save_window_state"] diff --git a/shared/template/Cargo.toml b/shared/template/Cargo.toml index 8f11e5ad6..cc5e90b79 100644 --- a/shared/template/Cargo.toml +++ b/shared/template/Cargo.toml @@ -10,6 +10,9 @@ links = "tauri-plugin-{{name}}" rustc-args = [ "--cfg", "docsrs" ] rustdoc-args = [ "--cfg", "docsrs" ] +[build-dependencies] +tauri-plugin = { workspace = true, features = [ "build" ] } + # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [build-dependencies] From 42a8fa4da7f909857acd808b2fe6f88d5205e976 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Thu, 18 Jan 2024 09:24:04 -0300 Subject: [PATCH 07/35] setup example capabilities [skip ci] --- Cargo.lock | 16 +- .../api/src-tauri/capabilities/.schema.json | 2385 +++++++++-------- .../api/src-tauri/capabilities/run-app.json | 75 + plugins/barcode-scanner/build.rs | 1 + plugins/barcode-scanner/guest-js/index.ts | 10 +- .../barcode-scanner/permissions/.schema.json | 14 + .../commands/check_permissions.toml | 13 + plugins/barcode-scanner/src/api-iife.js | 2 +- plugins/barcode-scanner/src/lib.rs | 2 +- plugins/clipboard-manager/guest-js/index.ts | 4 +- plugins/clipboard-manager/src/api-iife.js | 2 +- plugins/clipboard-manager/src/lib.rs | 2 +- .../app/src-tauri/capabilities/.schema.json | 895 ++++--- plugins/global-shortcut/guest-js/index.ts | 10 +- plugins/global-shortcut/src/api-iife.js | 2 +- plugins/global-shortcut/src/lib.rs | 2 +- plugins/http/Cargo.toml | 2 +- plugins/nfc/src/api-iife.js | 2 +- .../src-tauri/capabilities/.schema.json | 923 ++++--- .../app-updater/capabilities/.schema.json | 933 ++++--- .../src-tauri/capabilities/.schema.json | 917 ++++--- 21 files changed, 3334 insertions(+), 2878 deletions(-) create mode 100644 examples/api/src-tauri/capabilities/run-app.json create mode 100644 plugins/barcode-scanner/permissions/autogenerated/commands/check_permissions.toml diff --git a/Cargo.lock b/Cargo.lock index e7ce1f70a..c271e2096 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5844,7 +5844,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" dependencies = [ "anyhow", "bytes 1.5.0", @@ -5896,7 +5896,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" dependencies = [ "anyhow", "cargo_toml", @@ -5921,7 +5921,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" dependencies = [ "base64 0.21.5", "brotli", @@ -5946,7 +5946,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" dependencies = [ "heck", "proc-macro2", @@ -5959,7 +5959,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "0.1.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" dependencies = [ "cargo_metadata", "glob", @@ -6409,7 +6409,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" dependencies = [ "gtk", "http", @@ -6426,7 +6426,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6446,7 +6446,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#ac6d869b667b99ed475a5accd29113c42b9d9523" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/examples/api/src-tauri/capabilities/.schema.json b/examples/api/src-tauri/capabilities/.schema.json index f7fc9b201..850094207 100644 --- a/examples/api/src-tauri/capabilities/.schema.json +++ b/examples/api/src-tauri/capabilities/.schema.json @@ -63,6 +63,17 @@ "$ref": "#/definitions/Identifier" } }, + "platforms": { + "description": "Target platforms this capability applies. By default all platforms applies.", + "default": [ + "desktop", + "mobile" + ], + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityPlatform" + } + }, "windows": { "description": "List of windows that uses this capability. Can be a glob pattern.", "type": "array", @@ -109,63 +120,75 @@ } ] }, - "Identifier": { - "description": "Permission identifier", + "CapabilityPlatform": { + "description": "Target platform of a capability.", "oneOf": [ { - "description": "app:default -> Default permissions for the plugin.", + "description": "Windows.", "type": "string", "enum": [ - "app:default" + "windows" ] }, { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "description": "Linux.", "type": "string", "enum": [ - "app:deny-version" + "linux" ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "macOS.", "type": "string", "enum": [ - "app:deny-name" + "macOS" ] }, { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "Android.", "type": "string", "enum": [ - "app:allow-app-show" + "android" ] }, { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "iOS", "type": "string", "enum": [ - "app:allow-tauri-version" + "iOS" ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "description": "Desktop.", "type": "string", "enum": [ - "app:allow-name" + "desktop" ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "Mobile.", "type": "string", "enum": [ - "app:allow-version" + "mobile" + ] + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-hide" + "app:deny-version" ] }, { @@ -176,10 +199,10 @@ ] }, { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-hide" + "app:allow-version" ] }, { @@ -190,633 +213,682 @@ ] }, { - "description": "cli:default -> Allows reading the CLI matches", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "cli:default" + "app:allow-tauri-version" ] }, { - "description": "cli:deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "cli:deny-cli-matches" + "app:allow-name" ] }, { - "description": "cli:allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "cli:allow-cli-matches" + "app:allow-app-show" ] }, { - "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:deny-read" + "app:allow-app-hide" ] }, { - "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:allow-read" + "app:deny-app-hide" ] }, { - "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:allow-write" + "app:deny-name" ] }, { - "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", + "description": "barcode-scanner:allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:deny-write" + "barcode-scanner:allow-open-app-settings" ] }, { - "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "description": "barcode-scanner:deny-scan -> Denies the scan command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-save" + "barcode-scanner:deny-scan" ] }, { - "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", + "description": "barcode-scanner:allow-vibrate -> Enables the vibrate command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-confirm" + "barcode-scanner:allow-vibrate" ] }, { - "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "description": "barcode-scanner:allow-scan -> Enables the scan command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-message" + "barcode-scanner:allow-scan" ] }, { - "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "description": "barcode-scanner:deny-cancel -> Denies the cancel command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-open" + "barcode-scanner:deny-cancel" ] }, { - "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "description": "barcode-scanner:deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-ask" + "barcode-scanner:deny-check-permissions" ] }, { - "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "description": "barcode-scanner:deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-save" + "barcode-scanner:deny-open-app-settings" ] }, { - "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "description": "barcode-scanner:deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-confirm" + "barcode-scanner:deny-request-permissions" ] }, { - "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", + "description": "barcode-scanner:allow-cancel -> Enables the cancel command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-message" + "barcode-scanner:allow-cancel" ] }, { - "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "description": "barcode-scanner:deny-vibrate -> Denies the vibrate command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-ask" + "barcode-scanner:deny-vibrate" ] }, { - "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "description": "barcode-scanner:allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-open" + "barcode-scanner:allow-request-permissions" ] }, { - "description": "event:default -> Default permissions for the plugin.", + "description": "barcode-scanner:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "event:default" + "barcode-scanner:allow-check-permissions" ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "biometric:deny-authenticate -> Denies the authenticate command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-emit" + "biometric:deny-authenticate" ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "biometric:deny-status -> Denies the status command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "biometric:deny-status" ] }, { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "biometric:allow-authenticate -> Enables the authenticate command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-listen" + "biometric:allow-authenticate" ] }, { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "description": "biometric:allow-status -> Enables the status command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-unlisten" + "biometric:allow-status" ] }, { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-emit" + "clipboard-manager:allow-write" ] }, { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-unlisten" + "clipboard-manager:deny-write" ] }, { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-template-write" + "clipboard-manager:allow-read" ] }, { - "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-appconfig-meta" + "clipboard-manager:deny-read" ] }, { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-data-read" + "dialog:allow-confirm" ] }, { - "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-applog-write-recursive" + "dialog:deny-message" ] }, { - "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-audio-meta-recursive" + "dialog:allow-open" ] }, { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-download-read-recursive" + "dialog:deny-confirm" ] }, { - "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-font-meta-recursive" + "dialog:allow-message" ] }, { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-log-write" + "dialog:deny-ask" ] }, { - "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-audio-meta" + "dialog:deny-open" ] }, { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-applog-read" + "dialog:allow-save" ] }, { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-resource-read" + "dialog:deny-save" ] }, { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-data-write" + "dialog:allow-ask" ] }, { - "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "event:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "fs:allow-appconfig-meta-recursive" + "event:default" ] }, { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-template-read" + "event:deny-listen" ] }, { - "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-video-write-recursive" + "event:allow-unlisten" ] }, { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-applocaldata-write-recursive" + "event:deny-emit" ] }, { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-temp-read-recursive" + "event:deny-unlisten" ] }, { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-home-read" + "event:allow-listen" ] }, { - "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-template-meta" + "event:allow-emit" ] }, { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-applog-read-recursive" + "fs:allow-applog-write-recursive" ] }, { - "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "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-log-meta-recursive" + "fs:allow-cache-read-recursive" ] }, { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-public-read" + "fs:allow-config-write" ] }, { - "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "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-font-meta" + "fs:allow-data-read-recursive" ] }, { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-desktop-read-recursive" + "fs:allow-home-meta" ] }, { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-write" + "fs:allow-runtime-meta" ] }, { - "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-data-meta-recursive" + "fs:allow-temp-write" ] }, { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-applog-write" + "fs:allow-config-write-recursive" ] }, { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-appdata-write" + "fs:allow-temp-read" ] }, { - "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "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-document-write-recursive" + "fs:allow-runtime-read-recursive" ] }, { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-data-read-recursive" + "fs:allow-template-read" ] }, { - "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-meta" + "fs:allow-appdata-meta-recursive" ] }, { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", + "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-write" + "fs:allow-resource-meta-recursive" ] }, { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-document-write" + "fs:allow-runtime-read" ] }, { - "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-app-meta" + "fs:allow-runtime-write" ] }, { - "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-app-write" + "fs:allow-download-read" ] }, { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-read" + "fs:allow-localdata-write" ] }, { - "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-exe-meta-recursive" + "fs:allow-appdata-write" ] }, { - "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-applog-meta-recursive" + "fs:allow-app-read" ] }, { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-read-recursive" + "fs:allow-appcache-write" ] }, { - "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-meta-recursive" + "fs:allow-appconfig-meta" ] }, { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-runtime-write" + "fs:allow-applocaldata-write" ] }, { - "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-meta-recursive" + "fs:allow-appdata-meta" ] }, { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-read-recursive" + "fs:allow-applocaldata-meta" ] }, { - "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-meta-recursive" + "fs:allow-download-meta-recursive" ] }, { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-exe-read-recursive" + "fs:allow-exe-read" ] }, { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-write" + "fs:allow-font-meta" ] }, { - "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-home-meta" + "fs:allow-home-read" ] }, { - "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "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-video-meta" + "fs:allow-resource-read-recursive" ] }, { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-localdata-write" + "fs:allow-public-write-recursive" ] }, { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-read-recursive" + "fs:allow-template-meta" ] }, { - "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta-recursive" + "fs:allow-video-write-recursive" ] }, { - "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-meta" + "fs:allow-video-meta-recursive" ] }, { - "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "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-public-meta-recursive" + "fs:allow-applog-read-recursive" ] }, { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-temp-read" + "fs:allow-audio-read" ] }, { - "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "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-appdata-meta" + "fs:allow-app-read-recursive" ] }, { - "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-desktop-meta" + "fs:allow-font-write" ] }, { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-read-recursive" + "fs:allow-appcache-meta" ] }, { - "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-resource-meta-recursive" + "fs:allow-applocaldata-write-recursive" ] }, { - "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", + "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-read" + "fs:allow-exe-meta-recursive" ] }, { - "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-cache-write-recursive" + "fs:allow-download-write-recursive" ] }, { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-picture-read-recursive" + "fs:allow-home-write-recursive" ] }, { - "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "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-runtime-meta" + "fs:allow-public-read-recursive" ] }, { - "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-home-write-recursive" + "fs:allow-resource-write-recursive" ] }, { - "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "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-config-write-recursive" + "fs:allow-audio-read-recursive" ] }, { - "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "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-appcache-write-recursive" + "fs:allow-font-read-recursive" ] }, { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-cache-read" + "fs:allow-desktop-write" + ] + }, + { + "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-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "type": "string", + "enum": [ + "fs:allow-appdata-read" + ] + }, + { + "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-log-write-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-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-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-exe-meta" + ] + }, + { + "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "type": "string", + "enum": [ + "fs:allow-home-write" ] }, { @@ -827,31 +899,31 @@ ] }, { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-write" + "fs:allow-log-meta-recursive" ] }, { - "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta" + "fs:allow-document-write" ] }, { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-font-read-recursive" + "fs:allow-picture-write-recursive" ] }, { - "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-applog-meta" + "fs:allow-app-write" ] }, { @@ -862,17 +934,52 @@ ] }, { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-temp-write" + "fs:allow-data-read" ] }, { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-appdata-read-recursive" + "fs:allow-audio-write" + ] + }, + { + "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-cache-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-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-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-video-meta" + ] + }, + { + "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-font-meta-recursive" ] }, { @@ -883,66 +990,73 @@ ] }, { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-home-read-recursive" + "fs:allow-appconfig-read" ] }, { - "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-picture-meta" + "fs:allow-audio-meta" ] }, { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-localdata-read-recursive" + "fs:allow-cache-write-recursive" ] }, { - "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-cache-meta-recursive" + "fs:allow-document-write-recursive" ] }, { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-write" + "fs:allow-app-meta" ] }, { - "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-picture-write-recursive" + "fs:allow-document-meta" ] }, { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "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-video-read" + "fs:allow-download-read-recursive" ] }, { - "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-public-write-recursive" + "fs:allow-temp-meta" ] }, { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-log-read" + "fs:allow-video-write" + ] + }, + { + "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-home-meta-recursive" ] }, { @@ -953,136 +1067,136 @@ ] }, { - "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-temp-meta" + "fs:allow-template-write" ] }, { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-read-recursive" + "fs:allow-picture-meta-recursive" ] }, { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-picture-write" + "fs:allow-resource-write" ] }, { - "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-app-meta-recursive" + "fs:allow-applog-write" ] }, { - "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-write-recursive" + "fs:allow-config-meta" ] }, { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-read-recursive" + "fs:allow-audio-meta-recursive" ] }, { - "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-meta" + "fs:allow-applog-meta" ] }, { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-audio-write" + "fs:allow-document-read" ] }, { - "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "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-runtime-write-recursive" + "fs:allow-exe-read-recursive" ] }, { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "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-template-read-recursive" + "fs:allow-temp-read-recursive" ] }, { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-appcache-write" + "fs:allow-applocaldata-read" ] }, { - "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "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-exe-write-recursive" + "fs:allow-home-read-recursive" ] }, { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", + "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-config-read" + "fs:allow-appconfig-read-recursive" ] }, { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "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-picture-read" + "fs:allow-appdata-read-recursive" ] }, { - "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-meta" + "fs:allow-appconfig-write-recursive" ] }, { - "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "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-download-meta" + "fs:allow-desktop-read-recursive" ] }, { - "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-resource-meta" + "fs:allow-download-write" ] }, { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:deny-default" + "fs:allow-localdata-write-recursive" ] }, { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-download-read" + "fs:allow-app-write-recursive" ] }, { @@ -1093,129 +1207,129 @@ ] }, { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-read" + "fs:allow-public-meta" ] }, { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-audio-read" + "fs:allow-template-write-recursive" ] }, { - "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-config-meta" + "fs:allow-temp-write-recursive" ] }, { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", + "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-write" + "fs:allow-exe-write" ] }, { - "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-desktop-meta-recursive" + "fs:allow-appcache-write-recursive" ] }, { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-public-read-recursive" + "fs:allow-config-meta-recursive" ] }, { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-read-recursive" + "fs:allow-app-meta-recursive" ] }, { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "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-font-write" + "fs:allow-appcache-read-recursive" ] }, { - "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-write-recursive" + "fs:allow-data-meta-recursive" ] }, { - "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-app-write-recursive" + "fs:allow-font-read" ] }, { - "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-log-write-recursive" + "fs:allow-config-read" ] }, { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-read-recursive" + "fs:allow-resource-meta" ] }, { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-resource-write" + "fs:allow-font-write-recursive" ] }, { - "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-write-recursive" + "fs:allow-applocaldata-meta-recursive" ] }, { - "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-config-meta-recursive" + "fs:allow-public-write" ] }, { - "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-font-write-recursive" + "fs:allow-exe-write-recursive" ] }, { - "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-template-meta-recursive" + "fs:allow-cache-read" ] }, { - "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appdata-meta-recursive" + "fs:allow-runtime-write-recursive" ] }, { @@ -1226,45 +1340,45 @@ ] }, { - "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-meta-recursive" + "fs:allow-appconfig-meta-recursive" ] }, { - "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-template-write-recursive" + "fs:allow-localdata-read" ] }, { - "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-data-meta" + "fs:allow-resource-read" ] }, { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", + "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-write" + "fs:allow-temp-meta-recursive" ] }, { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-runtime-read-recursive" + "fs:allow-data-write" ] }, { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-read" + "fs:allow-public-meta-recursive" ] }, { @@ -1275,234 +1389,234 @@ ] }, { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-read" + "fs:allow-data-meta" ] }, { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-runtime-read" + "fs:allow-video-read" ] }, { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "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-cache-write" + "fs:allow-template-read-recursive" ] }, { - "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-desktop-write-recursive" + "fs:allow-appdata-write-recursive" ] }, { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "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-document-read" + "fs:allow-log-read-recursive" ] }, { - "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-meta-recursive" + "fs:allow-appcache-meta-recursive" ] }, { - "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "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-appcache-meta" + "fs:allow-applocaldata-read-recursive" ] }, { - "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-write-recursive" + "fs:allow-applog-meta-recursive" ] }, { - "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-download-write-recursive" + "fs:allow-picture-write" ] }, { - "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-picture-meta-recursive" + "fs:allow-log-write" ] }, { - "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-write-recursive" + "fs:allow-desktop-meta" ] }, { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-read" + "fs:allow-localdata-meta" ] }, { - "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-meta" + "fs:allow-download-meta" ] }, { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-desktop-write" + "fs:allow-log-meta" ] }, { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-font-read" + "fs:allow-picture-read" ] }, { - "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-runtime-meta-recursive" + "fs:allow-desktop-meta-recursive" ] }, { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-document-read-recursive" + "fs:allow-applog-read" ] }, { - "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-meta-recursive" + "fs:allow-template-meta-recursive" ] }, { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "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-public-write" + "fs:allow-picture-read-recursive" ] }, { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-read-recursive" + "fs:allow-localdata-meta-recursive" ] }, { - "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:default" + "fs:allow-localdata-read-recursive" ] }, { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:deny-read-dir" + "fs:allow-runtime-meta-recursive" ] }, { - "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", "type": "string", "enum": [ - "fs:scope-appdata-recursive" + "fs:deny-default" ] }, { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-copy-file" + "fs:allow-cache-write" ] }, { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines" + "fs:allow-picture-meta" ] }, { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:scope-font" + "fs:allow-desktop-write-recursive" ] }, { - "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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:scope-download-recursive" + "fs:default" ] }, { - "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "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-home-recursive" + "fs:scope-exe" ] }, { - "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": "fs:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-webview-data-windows" + "fs:deny-read" ] }, { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-seek" + "fs:allow-truncate" ] }, { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-open" + "fs:allow-write" ] }, { - "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", "type": "string", "enum": [ - "fs:scope-audio-recursive" + "fs:scope-desktop-index" ] }, { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "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-applocaldata" + "fs:scope-home" ] }, { @@ -1513,388 +1627,388 @@ ] }, { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "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-document" + "fs:scope-app" ] }, { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-write-text-file" + "fs:scope-appconfig-recursive" ] }, { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", + "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-watch" + "fs:allow-remove" ] }, { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "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:deny-rename" + "fs:scope-cache" ] }, { - "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-document-recursive" + "fs:allow-stat" ] }, { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-download-index" + "fs:deny-write" ] }, { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-exe-index" + "fs:scope-exe-recursive" ] }, { - "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font-recursive" + "fs:allow-read-dir" ] }, { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", "type": "string", "enum": [ - "fs:scope-cache-index" + "fs:scope-video-index" ] }, { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-resource" + "fs:scope-appdata-recursive" ] }, { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-unwatch" + "fs:allow-ftruncate" ] }, { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "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:scope-document-index" + "fs:deny-read-text-file-lines-next" ] }, { - "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-data-recursive" + "fs:scope-picture-recursive" ] }, { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-exists" + "fs:scope-download-recursive" ] }, { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-runtime" + "fs:allow-create" ] }, { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-lstat" + "fs:scope-runtime-recursive" ] }, { - "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", + "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", "type": "string", "enum": [ - "fs:scope-resource-index" + "fs:scope-font-index" ] }, { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", + "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-watch" + "fs:scope-applocaldata-recursive" ] }, { - "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-localdata-recursive" + "fs:allow-rename" ] }, { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-unwatch" + "fs:allow-fstat" ] }, { - "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "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-config-recursive" + "fs:scope-applog" ] }, { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "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:allow-read-text-file-lines" + "fs:scope-desktop" ] }, { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", + "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-truncate" + "fs:scope-appcache-recursive" ] }, { - "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", "type": "string", "enum": [ - "fs:scope-appcache-recursive" + "fs:scope-audio-index" ] }, { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", + "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-video" + "fs:scope-desktop-recursive" ] }, { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-config" + "fs:scope-log-recursive" ] }, { - "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "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-appconfig-recursive" + "fs:scope-config" ] }, { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-applog-index" + "fs:scope-config-recursive" ] }, { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", "type": "string", "enum": [ - "fs:scope-app-index" + "fs:scope-exe-index" ] }, { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "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-appcache" + "fs:scope-localdata" ] }, { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "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-appcache-index" + "fs:scope-template" ] }, { - "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-log-recursive" + "fs:scope-video-recursive" ] }, { - "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-runtime-recursive" + "fs:deny-read-dir" ] }, { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "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:deny-lstat" + "fs:allow-read-text-file-lines-next" ] }, { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", + "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-app" + "fs:deny-rename" ] }, { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-file" + "fs:allow-write-text-file" ] }, { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", + "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-seek" + "fs:scope-font-recursive" ] }, { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", "type": "string", "enum": [ - "fs:scope-desktop-index" + "fs:scope-resource-index" ] }, { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-appdata-index" + "fs:write-all" ] }, { - "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-applog-recursive" + "fs:write-files" ] }, { - "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource-recursive" + "fs:deny-truncate" ] }, { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "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:deny-ftruncate" + "fs:scope-data" ] }, { - "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "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-video-recursive" + "fs:scope-font" ] }, { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", "type": "string", "enum": [ - "fs:deny-write" + "fs:scope-temp-index" ] }, { - "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": "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:deny-webview-data-linux" + "fs:scope-applocaldata" ] }, { - "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-app-recursive" + "fs:scope-cache-recursive" ] }, { - "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture-recursive" + "fs:deny-watch" ] }, { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "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:allow-read-text-file" + "fs:deny-webview-data-windows" ] }, { - "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-temp-recursive" + "fs:scope-template-recursive" ] }, { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", + "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", "type": "string", "enum": [ - "fs:write-all" + "fs:scope-localdata-index" ] }, { - "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-exe-recursive" + "fs:allow-open" ] }, { - "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-public-recursive" + "fs:deny-copy-file" ] }, { - "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-cache-recursive" + "fs:deny-read-text-file-lines" ] }, { - "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-desktop-recursive" + "fs:read-dirs" ] }, { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", + "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", "type": "string", "enum": [ - "fs:allow-write" + "fs:scope-appconfig-index" ] }, { @@ -1905,24 +2019,24 @@ ] }, { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-copy-file" + "fs:allow-mkdir" ] }, { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", + "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", "type": "string", "enum": [ - "fs:deny-stat" + "fs:scope-config-index" ] }, { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:read-dirs" + "fs:scope-localdata-recursive" ] }, { @@ -1933,143 +2047,143 @@ ] }, { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "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-appdata" + "fs:scope-video" ] }, { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", "type": "string", "enum": [ - "fs:allow-read-file" + "fs:scope-document-index" ] }, { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-truncate" + "fs:scope-data-recursive" ] }, { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font-index" + "fs:deny-fstat" ] }, { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", + "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:deny-open" + "fs:scope-appdata" ] }, { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-rename" + "fs:allow-read-file" ] }, { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "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:scope-home" + "fs:deny-webview-data-linux" ] }, { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", + "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:read-files" + "fs:deny-read-file" ] }, { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-log-index" + "fs:allow-write-file" ] }, { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-data" + "fs:deny-seek" ] }, { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture-index" + "fs:allow-copy-file" ] }, { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-exists" + "fs:scope-public-recursive" ] }, { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", + "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:read-all" + "fs:deny-read-text-file" ] }, { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", "type": "string", "enum": [ - "fs:scope-applog" + "fs:scope-data-index" ] }, { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", + "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:deny-create" + "fs:scope-temp" ] }, { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-audio-index" + "fs:read-all" ] }, { - "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", "type": "string", "enum": [ - "fs:scope-applocaldata-recursive" + "fs:scope-applog-index" ] }, { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", "type": "string", "enum": [ - "fs:scope-localdata-index" + "fs:scope-applocaldata-index" ] }, { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-mkdir" + "fs:deny-lstat" ] }, { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", + "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:allow-read-text-file-lines-next" + "fs:scope-runtime" ] }, { @@ -2080,731 +2194,745 @@ ] }, { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "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-runtime-index" + "fs:scope-log" ] }, { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-remove" + "fs:allow-lstat" ] }, { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-template" + "fs:allow-exists" ] }, { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-fstat" + "fs:deny-open" ] }, { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-log" + "fs:deny-mkdir" ] }, { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-temp" + "fs:scope-temp-recursive" ] }, { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", + "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-stat" + "fs:allow-read-text-file" ] }, { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "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-data-index" + "fs:scope-resource" ] }, { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", "type": "string", "enum": [ - "fs:scope-home-index" + "fs:scope-download-index" ] }, { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-write-text-file" + "fs:deny-ftruncate" ] }, { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "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:deny-fstat" + "fs:scope-appcache" ] }, { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appconfig" + "fs:allow-unwatch" ] }, { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", "type": "string", "enum": [ - "fs:scope-applocaldata-index" + "fs:scope-app-index" ] }, { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-config-index" + "fs:deny-create" ] }, { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", "type": "string", "enum": [ - "fs:scope-temp-index" + "fs:scope-template-index" ] }, { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-video-index" + "fs:deny-write-text-file" ] }, { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-mkdir" + "fs:scope-resource-recursive" ] }, { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "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-cache" + "fs:scope-audio" ] }, { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "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-template-index" + "fs:scope-appconfig" ] }, { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", "type": "string", "enum": [ - "fs:scope-download" + "fs:scope-picture-index" + ] + }, + { + "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-seek" + ] + }, + { + "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-unwatch" ] }, { - "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-template-recursive" + "fs:deny-exists" ] }, { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", + "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read" + "fs:allow-watch" ] }, { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", "type": "string", "enum": [ - "fs:scope-exe" + "fs:scope-appdata-index" ] }, { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-dir" + "fs:deny-stat" ] }, { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-read" + "fs:scope-applog-recursive" ] }, { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appconfig-index" + "fs:allow-read-text-file-lines" ] }, { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", + "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-create" + "fs:deny-remove" ] }, { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "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-localdata" + "fs:scope-document" ] }, { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:allow-write-file" + "fs:read-files" ] }, { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", + "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines-next" + "fs:allow-read" ] }, { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", "type": "string", "enum": [ - "fs:deny-read-text-file" + "fs:scope-runtime-index" ] }, { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-public-index" + "fs:scope-document-recursive" ] }, { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", "type": "string", "enum": [ - "fs:scope-audio" + "fs:scope-appcache-index" ] }, { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", "type": "string", "enum": [ - "fs:allow-remove" + "fs:scope-public-index" ] }, { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:write-files" + "fs:scope-home-recursive" ] }, { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-desktop" + "fs:scope-app-recursive" ] }, { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", "type": "string", "enum": [ - "fs:allow-ftruncate" + "fs:scope-log-index" ] }, { - "description": "global-http:default -> Allows all fetch operations", + "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", "type": "string", "enum": [ - "global-http:default" + "fs:scope-home-index" ] }, { - "description": "global-http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", + "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", "type": "string", "enum": [ - "global-http:deny-fetch-cancel" + "fs:scope-audio-recursive" ] }, { - "description": "global-http:allow-fetch -> Enables the fetch command without any pre-configured scope.", + "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", "type": "string", "enum": [ - "global-http:allow-fetch" + "fs:scope-cache-index" ] }, { - "description": "global-http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "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": [ - "global-http:allow-fetch-send" + "fs:scope-download" ] }, { - "description": "global-http:deny-fetch -> Denies the fetch command without any pre-configured scope.", + "description": "http:default -> Allows all fetch operations", "type": "string", "enum": [ - "global-http:deny-fetch" + "http:default" ] }, { - "description": "global-http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", + "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", "type": "string", "enum": [ - "global-http:allow-fetch-read-body" + "http:deny-fetch-read-body" ] }, { - "description": "global-http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", + "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "global-http:deny-fetch-read-body" + "http:allow-fetch-send" ] }, { - "description": "global-http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "global-http:deny-fetch-send" + "http:allow-fetch-cancel" ] }, { - "description": "global-http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "global-http:allow-fetch-cancel" + "http:deny-fetch-send" ] }, { - "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", + "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-unregister" + "http:allow-fetch-read-body" ] }, { - "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", + "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-register-all" + "http:deny-fetch-cancel" ] }, { - "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-unregister-all" + "http:allow-fetch" ] }, { - "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-unregister-all" + "http:deny-fetch" ] }, { - "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", + "description": "log:default -> Allows the log command", "type": "string", "enum": [ - "global-shortcut:deny-register" + "log:default" ] }, { - "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", + "description": "log:allow-log -> Enables the log command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-register-all" + "log:allow-log" ] }, { - "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", + "description": "log:deny-log -> Denies the log command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-register" + "log:deny-log" ] }, { - "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "description": "menu:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "global-shortcut:deny-is-registered" + "menu:default" ] }, { - "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-is-registered" + "menu:allow-new" ] }, { - "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-unregister" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "log:default -> Allows the log command", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "log:default" + "menu:allow-append" ] }, { - "description": "log:deny-log -> Denies the log command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "log:deny-log" + "menu:allow-get" ] }, { - "description": "log:allow-log -> Enables the log command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "log:allow-log" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:default -> Default permissions for the plugin.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:default" + "menu:deny-set-enabled" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:deny-append" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "menu:deny-is-enabled" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "menu:allow-set-icon" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:deny-get" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:deny-popup" ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:deny-set-text" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:deny-text" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "menu:allow-items" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:deny-set-accelerator" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "menu:deny-is-checked" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:deny-remove" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:deny-prepend" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:deny-set-checked" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:allow-set-text" ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:deny-insert" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:allow-insert" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "menu:allow-is-enabled" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:allow-is-checked" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-append" + "menu:allow-set-as-app-menu" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:deny-set-icon" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "menu:allow-prepend" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:allow-remove" ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:allow-text" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "menu:deny-create-default" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:allow-set-checked" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:deny-remove-at" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "menu:allow-set-accelerator" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "menu:allow-popup" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:deny-new" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:allow-set-enabled" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:deny-items" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:allow-remove-at" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:allow-set-as-window-menu" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "menu:deny-set-as-app-menu" ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "menu:allow-create-default" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "nfc:allow-scan -> Enables the scan command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "nfc:allow-scan" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "nfc:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "nfc:allow-write" ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "nfc:deny-is-available -> Denies the is_available command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "nfc:deny-is-available" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "nfc:allow-is-available -> Enables the is_available command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "nfc:allow-is-available" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "nfc:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "nfc:deny-write" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "nfc:deny-scan -> Denies the scan command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "nfc:deny-scan" ] }, { @@ -2815,17 +2943,17 @@ ] }, { - "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-request-permission" + "notification:deny-notify" ] }, { - "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-request-permission" + "notification:deny-request-permission" ] }, { @@ -2850,38 +2978,38 @@ ] }, { - "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-notify" + "notification:allow-request-permission" ] }, { - "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-version" + "os:deny-hostname" ] }, { - "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-exe-extension" + "os:allow-os-type" ] }, { - "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-locale" + "os:deny-platform" ] }, { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-platform" + "os:allow-locale" ] }, { @@ -2891,20 +3019,6 @@ "os:allow-arch" ] }, - { - "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-hostname" - ] - }, - { - "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-platform" - ] - }, { "description": "os:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", @@ -2913,52 +3027,52 @@ ] }, { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-hostname" + "os:deny-exe-extension" ] }, { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-os-type" + "os:allow-family" ] }, { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-os-type" + "os:allow-version" ] }, { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-exe-extension" + "os:allow-exe-extension" ] }, { - "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-arch" + "os:deny-family" ] }, { - "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-family" + "os:deny-os-type" ] }, { - "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-family" + "os:allow-hostname" ] }, { @@ -2969,73 +3083,73 @@ ] }, { - "description": "path:default -> Default permissions for the plugin.", + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", "type": "string", "enum": [ - "path:default" + "os:allow-platform" ] }, { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-extname" + "os:deny-arch" ] }, { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "path:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "path:deny-is-absolute" + "path:default" ] }, { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-dirname" + "path:allow-resolve-directory" ] }, { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve" + "path:allow-basename" ] }, { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-join" + "path:allow-is-absolute" ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "path:deny-dirname" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "path:allow-extname" ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "path:deny-is-absolute" ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-normalize" + "path:deny-normalize" ] }, { @@ -3053,59 +3167,59 @@ ] }, { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-extname" + "path:deny-basename" ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "path:allow-normalize" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "path:deny-resolve" ] }, { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-basename" + "path:deny-extname" ] }, { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve" + "path:allow-dirname" ] }, { - "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-restart" + "path:allow-join" ] }, { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-exit" + "path:allow-resolve" ] }, { - "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-restart" + "process:allow-restart" ] }, { @@ -3116,45 +3230,45 @@ ] }, { - "description": "resources:default -> Default permissions for the plugin.", + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", "type": "string", "enum": [ - "resources:default" + "process:deny-restart" ] }, { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", "type": "string", "enum": [ - "resources:allow-close" + "process:deny-exit" ] }, { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "description": "resources:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "resources:deny-close" + "resources:default" ] }, { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-open" + "resources:deny-close" ] }, { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-stdin-write" + "resources:allow-close" ] }, { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-execute" + "shell:deny-stdin-write" ] }, { @@ -3164,27 +3278,6 @@ "shell:deny-execute" ] }, - { - "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-kill" - ] - }, - { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-open" - ] - }, - { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-stdin-write" - ] - }, { "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", "type": "string", @@ -3193,59 +3286,45 @@ ] }, { - "description": "tray:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "tray:default" - ] - }, - { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-new" - ] - }, - { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "shell:allow-kill" ] }, { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-menu" + "shell:allow-execute" ] }, { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon-as-template" + "shell:allow-stdin-write" ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "shell:deny-open" ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "shell:allow-open" ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "tray:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "tray:deny-set-menu" + "tray:default" ] }, { @@ -3256,10 +3335,10 @@ ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-new" + "tray:allow-set-title" ] }, { @@ -3270,10 +3349,10 @@ ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-title" + "tray:deny-set-visible" ] }, { @@ -3284,24 +3363,17 @@ ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-visible" - ] - }, - { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon-as-template" + "tray:allow-set-visible" ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "tray:deny-set-title" ] }, { @@ -3319,122 +3391,122 @@ ] }, { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon" + "tray:allow-set-menu" ] }, { - "description": "updater:default -> Allows checking for new updates and installing them", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "updater:default" + "tray:deny-set-menu" ] }, { - "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "updater:allow-check" + "tray:allow-new" ] }, { - "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "updater:deny-download-and-install" + "tray:deny-set-icon-as-template" ] }, { - "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "updater:allow-download-and-install" + "tray:deny-new" ] }, { - "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "updater:deny-check" + "tray:deny-set-temp-dir-path" ] }, { - "description": "window:default -> Default permissions for the plugin.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "window:default" + "tray:allow-set-show-menu-on-left-click" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "tray:allow-set-icon-as-template" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "tray:deny-set-icon" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:default" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:deny-inner-position" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:allow-inner-position" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:allow-close" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:deny-set-size" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "window:deny-set-cursor-visible" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:allow-set-resizable" ] }, { @@ -3445,514 +3517,528 @@ ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:deny-is-focused" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:allow-set-position" ] }, { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-position" + "window:deny-set-cursor-position" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:allow-set-max-size" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:deny-is-closable" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:allow-set-cursor-position" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:deny-outer-size" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:allow-set-cursor-grab" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:allow-set-cursor-visible" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:deny-toggle-maximize" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:allow-toggle-maximize" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:allow-set-progress-bar" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:deny-theme" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:deny-set-ignore-cursor-events" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-is-fullscreen" ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:deny-set-effects" ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "window:deny-close" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:allow-set-closable" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:allow-set-fullscreen" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:allow-is-decorated" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "window:allow-is-fullscreen" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:allow-is-resizable" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:allow-is-maximized" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:allow-internal-toggle-devtools" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:allow-print" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:deny-is-maximized" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:allow-set-effects" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "window:allow-maximize" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:deny-set-maximizable" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:allow-unmaximize" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:deny-available-monitors" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:deny-scale-factor" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:allow-request-user-attention" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:deny-is-visible" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:deny-set-cursor-grab" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:deny-set-resizable" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:allow-is-minimized" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:deny-primary-monitor" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:deny-is-minimized" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:deny-set-decorations" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:deny-set-content-protected" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "window:deny-minimize" ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:deny-set-icon" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:deny-set-focus" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:allow-create" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:deny-start-dragging" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:allow-scale-factor" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:deny-set-min-size" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:allow-minimize" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:deny-set-minimizable" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:deny-set-position" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:deny-set-shadow" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:allow-start-dragging" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:allow-is-visible" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:deny-show" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-title" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "window:allow-theme" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:deny-current-monitor" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:allow-current-monitor" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:allow-hide" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:allow-is-minimizable" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:allow-outer-position" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:allow-set-shadow" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:deny-set-closable" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:deny-is-decorated" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:allow-show" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:allow-set-cursor-icon" ] }, { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unmaximize" + "window:allow-unminimize" ] }, { @@ -3963,17 +4049,17 @@ ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:allow-set-minimizable" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:allow-center" ] }, { @@ -3984,227 +4070,234 @@ ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-print" + "window:deny-center" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "window:allow-is-maximizable" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:deny-set-always-on-top" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:allow-set-icon" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:allow-set-maximizable" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:deny-is-minimizable" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:deny-set-fullscreen" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-set-progress-bar" ] }, { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-skip-taskbar" + "window:deny-unmaximize" ] }, { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-size" + "window:allow-set-content-protected" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:deny-is-maximizable" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:deny-create" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:allow-outer-size" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:allow-primary-monitor" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:allow-available-monitors" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:deny-inner-size" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:allow-set-size" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-title" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:allow-is-closable" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:deny-maximize" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "window:allow-inner-size" ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "window:allow-set-decorations" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:allow-is-focused" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:deny-set-cursor-icon" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "window:allow-set-focus" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-icon" + "window:deny-request-user-attention" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:allow-set-title" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:deny-outer-position" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:deny-print" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:deny-hide" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:deny-set-title" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" ] } ] diff --git a/examples/api/src-tauri/capabilities/run-app.json b/examples/api/src-tauri/capabilities/run-app.json new file mode 100644 index 000000000..739f42f12 --- /dev/null +++ b/examples/api/src-tauri/capabilities/run-app.json @@ -0,0 +1,75 @@ +{ + "$schema": ".schema.json", + "capabilities": [ + { + "identifier": "run-app-base", + "description": "Permissions to run the app", + "windows": [ + "main" + ], + "permissions": [ + "log:default", + "http:default", + "app:default", + "resources:default", + "fs:default", + "menu:default", + "path:default", + "tray:default", + "event:default", + "window:default", + "resources:default", + "notification:default", + "os:allow-platform", + "dialog:allow-open", + "dialog:allow-save", + "dialog:allow-confirm", + "shell:allow-execute", + "shell:allow-kill", + "shell:allow-stdin-write", + "clipboard-manager:allow-read", + "clipboard-manager:allow-write", + "fs:allow-rename", + "fs:allow-mkdir", + "fs:allow-remove", + "fs:allow-write-text-file" + ] + }, + { + "identifier": "run-app-desktop", + "description": "Permissions to run the app (desktop only)", + "windows": [ + "main" + ], + "platforms": [ + "desktop" + ], + "permissions": [ + "cli:default", + "updater:default", + "global-shortcut:allow-unregister", + "global-shortcut:allow-register", + "global-shortcut:allow-unregister-all" + ] + }, + { + "identifier": "run-app-mobile", + "description": "Permissions to run the app (mobile only)", + "windows": [ + "main" + ], + "platforms": [ + "mobile" + ], + "permissions": [ + "nfc:allow-write", + "nfc:allow-scan", + "biometric:allow-authenticate", + "barcode-scanner:allow-scan", + "barcode-scanner:allow-cancel", + "barcode-scanner:allow-request-permissions", + "barcode-scanner:allow-check-permissions" + ] + } + ] +} \ No newline at end of file diff --git a/plugins/barcode-scanner/build.rs b/plugins/barcode-scanner/build.rs index eb0c58ba1..8c977b698 100644 --- a/plugins/barcode-scanner/build.rs +++ b/plugins/barcode-scanner/build.rs @@ -6,6 +6,7 @@ const COMMANDS: &[&str] = &[ "scan", "cancel", "request_permissions", + "check_permissions", "open_app_settings", "vibrate", ]; diff --git a/plugins/barcode-scanner/guest-js/index.ts b/plugins/barcode-scanner/guest-js/index.ts index 6a6f44eeb..0542a2982 100644 --- a/plugins/barcode-scanner/guest-js/index.ts +++ b/plugins/barcode-scanner/guest-js/index.ts @@ -39,14 +39,14 @@ export interface Scanned { * @param options */ export async function scan(options?: ScanOptions): Promise { - return await invoke("plugin:barcodeScanner|scan", { ...options }); + return await invoke("plugin:barcode-scanner|scan", { ...options }); } /** * Cancel the current scan process. */ export async function cancel(): Promise { - return await invoke("plugin:barcodeScanner|cancel"); + return await invoke("plugin:barcode-scanner|cancel"); } /** @@ -54,7 +54,7 @@ export async function cancel(): Promise { */ export async function checkPermissions(): Promise { return await invoke<{ camera: PermissionState }>( - "plugin:barcodeScanner|check_permissions" + "plugin:barcode-scanner|check_permissions" ).then((r) => r.camera); } @@ -63,7 +63,7 @@ export async function checkPermissions(): Promise { */ export async function requestPermissions(): Promise { return await invoke<{ camera: PermissionState }>( - "plugin:barcodeScanner|request_permissions" + "plugin:barcode-scanner|request_permissions" ).then((r) => r.camera); } @@ -71,5 +71,5 @@ export async function requestPermissions(): Promise { * Open application settings. Useful if permission was denied and the user must manually enable it. */ export async function openAppSettings(): Promise { - return await invoke("plugin:barcodeScanner|open_app_settings"); + return await invoke("plugin:barcode-scanner|open_app_settings"); } diff --git a/plugins/barcode-scanner/permissions/.schema.json b/plugins/barcode-scanner/permissions/.schema.json index 8737be33f..55c8f4491 100644 --- a/plugins/barcode-scanner/permissions/.schema.json +++ b/plugins/barcode-scanner/permissions/.schema.json @@ -183,6 +183,20 @@ "deny-cancel" ] }, + { + "description": "allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-check-permissions" + ] + }, + { + "description": "deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-check-permissions" + ] + }, { "description": "allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.", "type": "string", diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/check_permissions.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/check_permissions.toml new file mode 100644 index 000000000..931881fc4 --- /dev/null +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/check_permissions.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../.schema.json" + +[[permission]] +identifier = "allow-check-permissions" +description = "Enables the check_permissions command without any pre-configured scope." +commands.allow = ["check_permissions"] + +[[permission]] +identifier = "deny-check-permissions" +description = "Denies the check_permissions command without any pre-configured scope." +commands.deny = ["check_permissions"] diff --git a/plugins/barcode-scanner/src/api-iife.js b/plugins/barcode-scanner/src/api-iife.js index d94c59491..77c9d45cc 100644 --- a/plugins/barcode-scanner/src/api-iife.js +++ b/plugins/barcode-scanner/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_BARCODESCANNER__=function(n){"use strict";async function e(n,e={},r){return window.__TAURI_INTERNALS__.invoke(n,e,r)}var r;return"function"==typeof SuppressedError&&SuppressedError,n.Format=void 0,(r=n.Format||(n.Format={})).QRCode="QR_CODE",r.UPC_A="UPC_A",r.UPC_E="UPC_E",r.EAN8="EAN_8",r.EAN13="EAN_13",r.Code39="CODE_39",r.Code93="CODE_93",r.Code128="CODE_128",r.Codabar="CODABAR",r.ITF="ITF",r.Aztec="AZTEC",r.DataMatrix="DATA_MATRIX",r.PDF417="PDF_417",n.cancel=async function(){return await e("plugin:barcodeScanner|cancel")},n.checkPermissions=async function(){return await e("plugin:barcodeScanner|checkPermissions").then((n=>n.camera))},n.openAppSettings=async function(){return await e("plugin:barcodeScanner|openAppSettings")},n.requestPermissions=async function(){return await e("plugin:barcodeScanner|requestPermissions").then((n=>n.camera))},n.scan=async function(n){return await e("plugin:barcodeScanner|scan",{...n})},n}({});Object.defineProperty(window.__TAURI__,"barcodeScanner",{value:__TAURI_PLUGIN_BARCODESCANNER__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_BARCODESCANNER__=function(n){"use strict";async function e(n,e={},r){return window.__TAURI_INTERNALS__.invoke(n,e,r)}var r;return"function"==typeof SuppressedError&&SuppressedError,n.Format=void 0,(r=n.Format||(n.Format={})).QRCode="QR_CODE",r.UPC_A="UPC_A",r.UPC_E="UPC_E",r.EAN8="EAN_8",r.EAN13="EAN_13",r.Code39="CODE_39",r.Code93="CODE_93",r.Code128="CODE_128",r.Codabar="CODABAR",r.ITF="ITF",r.Aztec="AZTEC",r.DataMatrix="DATA_MATRIX",r.PDF417="PDF_417",n.cancel=async function(){return await e("plugin:barcode-scanner|cancel")},n.checkPermissions=async function(){return await e("plugin:barcode-scanner|check_permissions").then((n=>n.camera))},n.openAppSettings=async function(){return await e("plugin:barcode-scanner|open_app_settings")},n.requestPermissions=async function(){return await e("plugin:barcode-scanner|request_permissions").then((n=>n.camera))},n.scan=async function(n){return await e("plugin:barcode-scanner|scan",{...n})},n}({});Object.defineProperty(window.__TAURI__,"barcodeScanner",{value:__TAURI_PLUGIN_BARCODESCANNER__})} diff --git a/plugins/barcode-scanner/src/lib.rs b/plugins/barcode-scanner/src/lib.rs index 0ca820364..1b6fcff41 100644 --- a/plugins/barcode-scanner/src/lib.rs +++ b/plugins/barcode-scanner/src/lib.rs @@ -40,7 +40,7 @@ impl> crate::BarcodeScannerExt for T { /// Initializes the plugin. pub fn init() -> TauriPlugin { - Builder::new("barcodeScanner") + Builder::new("barcode-scanner") .setup(|app, api| { #[cfg(target_os = "android")] let handle = api.register_android_plugin(PLUGIN_IDENTIFIER, "BarcodeScannerPlugin")?; diff --git a/plugins/clipboard-manager/guest-js/index.ts b/plugins/clipboard-manager/guest-js/index.ts index 8338ac104..4a9d10a0e 100644 --- a/plugins/clipboard-manager/guest-js/index.ts +++ b/plugins/clipboard-manager/guest-js/index.ts @@ -29,7 +29,7 @@ async function writeText( text: string, opts?: { label?: string }, ): Promise { - return invoke("plugin:clipboard|write", { + return invoke("plugin:clipboard-manager|write", { data: { plainText: { label: opts?.label, @@ -49,7 +49,7 @@ async function writeText( * @since 2.0.0 */ async function readText(): Promise { - const kind: ClipResponse = await invoke("plugin:clipboard|read"); + const kind: ClipResponse = await invoke("plugin:clipboard-manager|read"); return kind.plainText.text; } diff --git a/plugins/clipboard-manager/src/api-iife.js b/plugins/clipboard-manager/src/api-iife.js index 9e494285a..8dc516551 100644 --- a/plugins/clipboard-manager/src/api-iife.js +++ b/plugins/clipboard-manager/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_CLIPBOARDMANAGER__=function(e){"use strict";async function n(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}return"function"==typeof SuppressedError&&SuppressedError,e.readText=async function(){return(await n("plugin:clipboard|read")).plainText.text},e.writeText=async function(e,r){return n("plugin:clipboard|write",{data:{plainText:{label:r?.label,text:e}}})},e}({});Object.defineProperty(window.__TAURI__,"clipboardManager",{value:__TAURI_PLUGIN_CLIPBOARDMANAGER__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_CLIPBOARDMANAGER__=function(e){"use strict";async function n(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}return"function"==typeof SuppressedError&&SuppressedError,e.readText=async function(){return(await n("plugin:clipboard-manager|read")).plainText.text},e.writeText=async function(e,r){return n("plugin:clipboard-manager|write",{data:{plainText:{label:r?.label,text:e}}})},e}({});Object.defineProperty(window.__TAURI__,"clipboardManager",{value:__TAURI_PLUGIN_CLIPBOARDMANAGER__})} diff --git a/plugins/clipboard-manager/src/lib.rs b/plugins/clipboard-manager/src/lib.rs index d4ccdb0ab..2b7934ab3 100644 --- a/plugins/clipboard-manager/src/lib.rs +++ b/plugins/clipboard-manager/src/lib.rs @@ -47,7 +47,7 @@ impl> crate::ClipboardExt for T { /// Initializes the plugin. pub fn init() -> TauriPlugin { - Builder::new("clipboard") + Builder::new("clipboard-manager") .js_init_script(include_str!("api-iife.js").to_string()) .invoke_handler(tauri::generate_handler![commands::write, commands::read]) .setup(|app, api| { diff --git a/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json b/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json index 2d32a72af..19187eac2 100644 --- a/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json +++ b/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json @@ -63,6 +63,17 @@ "$ref": "#/definitions/Identifier" } }, + "platforms": { + "description": "Target platforms this capability applies. By default all platforms applies.", + "default": [ + "desktop", + "mobile" + ], + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityPlatform" + } + }, "windows": { "description": "List of windows that uses this capability. Can be a glob pattern.", "type": "array", @@ -109,6 +120,60 @@ } ] }, + "CapabilityPlatform": { + "description": "Target platform of a capability.", + "oneOf": [ + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "macOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS", + "type": "string", + "enum": [ + "iOS" + ] + }, + { + "description": "Desktop.", + "type": "string", + "enum": [ + "desktop" + ] + }, + { + "description": "Mobile.", + "type": "string", + "enum": [ + "mobile" + ] + } + ] + }, "Identifier": { "description": "Permission identifier", "oneOf": [ @@ -120,45 +185,45 @@ ] }, { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-show" + "app:deny-app-hide" ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-name" + "app:allow-app-hide" ] }, { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-show" + "app:deny-name" ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-name" + "app:allow-version" ] }, { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-tauri-version" + "app:allow-app-show" ] }, { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-hide" + "app:allow-tauri-version" ] }, { @@ -169,17 +234,17 @@ ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-hide" + "app:allow-name" ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-version" + "app:deny-app-show" ] }, { @@ -218,10 +283,10 @@ ] }, { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-unlisten" + "event:allow-emit" ] }, { @@ -232,31 +297,31 @@ ] }, { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-emit" + "event:allow-listen" ] }, { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-listen" + "event:allow-unlisten" ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-emit" + "event:deny-emit" ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "event:deny-listen" ] }, { @@ -267,24 +332,24 @@ ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "menu:deny-remove-at" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:allow-set-as-window-menu" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "menu:allow-is-checked" ] }, { @@ -295,164 +360,164 @@ ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "menu:allow-is-enabled" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:deny-append" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:allow-prepend" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:deny-is-enabled" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:allow-items" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "menu:deny-new" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:deny-remove" ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:allow-append" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:deny-popup" ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:allow-remove-at" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:deny-items" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "menu:allow-set-text" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:allow-set-accelerator" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "menu:deny-set-accelerator" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "menu:allow-get" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "menu:deny-insert" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:deny-create-default" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:allow-create-default" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:allow-set-as-app-menu" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { @@ -463,115 +528,115 @@ ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:allow-popup" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "menu:allow-new" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:allow-set-enabled" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:deny-set-enabled" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:allow-remove" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "menu:allow-insert" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-append" + "menu:deny-set-as-app-menu" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "menu:deny-set-checked" ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "menu:deny-get" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "menu:allow-set-icon" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "menu:deny-set-icon" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:deny-prepend" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:deny-set-text" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:allow-text" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:deny-text" ] }, { @@ -582,115 +647,115 @@ ] }, { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-extname" + "path:allow-basename" ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-normalize" + "path:deny-resolve" ] }, { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-dirname" + "path:allow-resolve" ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "path:allow-resolve-directory" ] }, { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-join" + "path:deny-basename" ] }, { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve" + "path:allow-is-absolute" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "path:deny-resolve-directory" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "path:deny-join" ] }, { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-basename" + "path:allow-extname" ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "path:deny-dirname" ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "path:allow-dirname" ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "path:allow-normalize" ] }, { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve" + "path:deny-is-absolute" ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "path:allow-join" ] }, { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-is-absolute" + "path:deny-extname" ] }, { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-extname" + "path:deny-normalize" ] }, { @@ -722,87 +787,87 @@ ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-new" + "tray:deny-set-temp-dir-path" ] }, { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-tooltip" + "tray:deny-set-show-menu-on-left-click" ] }, { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "tray:allow-set-icon" ] }, { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon" + "tray:allow-set-tooltip" ] }, { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-show-menu-on-left-click" + "tray:allow-set-temp-dir-path" ] }, { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon-as-template" + "tray:deny-set-icon-as-template" ] }, { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-tooltip" + "tray:allow-set-visible" ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "tray:deny-set-icon" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "tray:allow-set-menu" ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "tray:allow-set-icon-as-template" ] }, { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-menu" + "tray:deny-set-visible" ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "tray:allow-set-show-menu-on-left-click" ] }, { @@ -813,38 +878,38 @@ ] }, { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-new" + "tray:allow-set-title" ] }, { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon" + "tray:deny-set-menu" ] }, { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon-as-template" + "tray:allow-new" ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-menu" + "tray:deny-new" ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "tray:deny-set-tooltip" ] }, { @@ -855,752 +920,759 @@ ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:allow-is-maximizable" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "window:deny-is-focused" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:allow-set-min-size" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:deny-primary-monitor" ] }, { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-position" + "window:deny-set-min-size" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:deny-maximize" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:deny-set-always-on-top" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:allow-set-shadow" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:allow-set-size" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:allow-primary-monitor" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:deny-minimize" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:allow-set-cursor-grab" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:deny-set-max-size" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:allow-print" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:deny-set-maximizable" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:allow-set-progress-bar" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-outer-position" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:deny-unmaximize" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "window:allow-hide" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:deny-is-decorated" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:deny-is-minimizable" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:deny-set-cursor-icon" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:deny-set-cursor-grab" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:deny-is-closable" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:allow-set-icon" ] }, { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unmaximize" + "window:allow-maximize" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:allow-is-resizable" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:allow-current-monitor" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:allow-set-always-on-top" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:deny-inner-size" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:allow-is-maximized" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:allow-set-closable" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:allow-set-position" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:deny-show" ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:deny-toggle-maximize" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:deny-hide" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "window:allow-internal-toggle-devtools" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-create" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:allow-show" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:allow-is-decorated" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:deny-set-icon" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:deny-set-progress-bar" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:deny-is-visible" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:deny-current-monitor" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:allow-close" ] }, { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-icon" + "window:deny-set-title" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:allow-theme" ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:deny-close" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:allow-set-resizable" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "window:deny-is-fullscreen" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:deny-outer-size" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:deny-center" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:deny-set-resizable" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:deny-request-user-attention" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:allow-toggle-maximize" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:deny-is-maximized" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:allow-set-cursor-position" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:allow-center" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "window:deny-set-fullscreen" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-is-minimizable" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:allow-inner-position" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:deny-set-decorations" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:allow-set-minimizable" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:deny-set-content-protected" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:allow-set-focus" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:allow-request-user-attention" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:allow-is-fullscreen" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "window:allow-minimize" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-devtools" + "window:allow-start-dragging" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "window:deny-unminimize" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:deny-is-resizable" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:allow-is-visible" ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:allow-title" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:deny-set-closable" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:deny-is-maximizable" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:deny-set-position" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:allow-set-title" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:deny-title" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:deny-inner-position" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:allow-set-cursor-visible" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:allow-set-max-size" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:allow-set-decorations" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:allow-unminimize" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:allow-set-effects" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-is-minimized" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:allow-create" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:deny-set-focus" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:allow-set-fullscreen" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:deny-set-cursor-position" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:deny-theme" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:deny-available-monitors" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:deny-set-minimizable" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:deny-set-cursor-visible" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:allow-is-closable" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:deny-start-dragging" ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-print" + "window:allow-set-content-protected" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:allow-outer-position" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:allow-unmaximize" ] }, { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-max-size" + "window:allow-is-minimized" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:deny-internal-toggle-devtools" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" ] }, { @@ -1611,59 +1683,59 @@ ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "window:allow-outer-size" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:allow-scale-factor" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:deny-scale-factor" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:allow-is-focused" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:deny-print" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:deny-set-effects" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:deny-set-shadow" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:deny-set-ignore-cursor-events" ] }, { @@ -1674,10 +1746,10 @@ ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "window:allow-available-monitors" ] }, { @@ -1686,13 +1758,6 @@ "enum": [ "window:allow-set-maximizable" ] - }, - { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-skip-taskbar" - ] } ] } diff --git a/plugins/global-shortcut/guest-js/index.ts b/plugins/global-shortcut/guest-js/index.ts index 337e62fa6..e9cd935fe 100644 --- a/plugins/global-shortcut/guest-js/index.ts +++ b/plugins/global-shortcut/guest-js/index.ts @@ -34,7 +34,7 @@ async function register( const h = new Channel(); h.onmessage = handler; - return await invoke("plugin:globalShortcut|register", { + return await invoke("plugin:global-shortcut|register", { shortcut, handler: h, }); @@ -62,7 +62,7 @@ async function registerAll( const h = new Channel(); h.onmessage = handler; - return await invoke("plugin:globalShortcut|register_all", { + return await invoke("plugin:global-shortcut|register_all", { shortcuts, handler: h, }); @@ -84,7 +84,7 @@ async function registerAll( * @since 2.0.0 */ async function isRegistered(shortcut: string): Promise { - return await invoke("plugin:globalShortcut|is_registered", { + return await invoke("plugin:global-shortcut|is_registered", { shortcut, }); } @@ -102,7 +102,7 @@ async function isRegistered(shortcut: string): Promise { * @since 2.0.0 */ async function unregister(shortcut: string): Promise { - return await invoke("plugin:globalShortcut|unregister", { + return await invoke("plugin:global-shortcut|unregister", { shortcut, }); } @@ -118,7 +118,7 @@ async function unregister(shortcut: string): Promise { * @since 2.0.0 */ async function unregisterAll(): Promise { - return await invoke("plugin:globalShortcut|unregister_all"); + return await invoke("plugin:global-shortcut|unregister_all"); } export { register, registerAll, isRegistered, unregister, unregisterAll }; diff --git a/plugins/global-shortcut/src/api-iife.js b/plugins/global-shortcut/src/api-iife.js index a46308f19..54da2b597 100644 --- a/plugins/global-shortcut/src/api-iife.js +++ b/plugins/global-shortcut/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_GLOBALSHORTCUT__=function(t){"use strict";function e(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}var r;"function"==typeof SuppressedError&&SuppressedError;class n{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,r.set(this,(()=>{})),this.id=function(t,e=!1){return window.__TAURI_INTERNALS__.transformCallback(t,e)}((t=>{e(this,r,"f").call(this,t)}))}set onmessage(t){!function(t,e,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?o.call(t,r):o?o.value=r:e.set(t,r)}(this,r,t,"f")}get onmessage(){return e(this,r,"f")}toJSON(){return`__CHANNEL__:${this.id}`}}async function o(t,e={},r){return window.__TAURI_INTERNALS__.invoke(t,e,r)}return r=new WeakMap,t.isRegistered=async function(t){return await o("plugin:globalShortcut|is_registered",{shortcut:t})},t.register=async function(t,e){const r=new n;return r.onmessage=e,await o("plugin:globalShortcut|register",{shortcut:t,handler:r})},t.registerAll=async function(t,e){const r=new n;return r.onmessage=e,await o("plugin:globalShortcut|register_all",{shortcuts:t,handler:r})},t.unregister=async function(t){return await o("plugin:globalShortcut|unregister",{shortcut:t})},t.unregisterAll=async function(){return await o("plugin:globalShortcut|unregister_all")},t}({});Object.defineProperty(window.__TAURI__,"globalShortcut",{value:__TAURI_PLUGIN_GLOBALSHORTCUT__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_GLOBALSHORTCUT__=function(t){"use strict";function e(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}var r;"function"==typeof SuppressedError&&SuppressedError;class n{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,r.set(this,(()=>{})),this.id=function(t,e=!1){return window.__TAURI_INTERNALS__.transformCallback(t,e)}((t=>{e(this,r,"f").call(this,t)}))}set onmessage(t){!function(t,e,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===n?o.call(t,r):o?o.value=r:e.set(t,r)}(this,r,t,"f")}get onmessage(){return e(this,r,"f")}toJSON(){return`__CHANNEL__:${this.id}`}}async function o(t,e={},r){return window.__TAURI_INTERNALS__.invoke(t,e,r)}return r=new WeakMap,t.isRegistered=async function(t){return await o("plugin:global-shortcut|is_registered",{shortcut:t})},t.register=async function(t,e){const r=new n;return r.onmessage=e,await o("plugin:global-shortcut|register",{shortcut:t,handler:r})},t.registerAll=async function(t,e){const r=new n;return r.onmessage=e,await o("plugin:global-shortcut|register_all",{shortcuts:t,handler:r})},t.unregister=async function(t){return await o("plugin:global-shortcut|unregister",{shortcut:t})},t.unregisterAll=async function(){return await o("plugin:global-shortcut|unregister_all")},t}({});Object.defineProperty(window.__TAURI__,"globalShortcut",{value:__TAURI_PLUGIN_GLOBALSHORTCUT__})} diff --git a/plugins/global-shortcut/src/lib.rs b/plugins/global-shortcut/src/lib.rs index 1cb9d25c1..eed72a99c 100644 --- a/plugins/global-shortcut/src/lib.rs +++ b/plugins/global-shortcut/src/lib.rs @@ -295,7 +295,7 @@ impl Builder { pub fn build(self) -> TauriPlugin { let handler = self.handler; - PluginBuilder::new("globalShortcut") + PluginBuilder::new("global-shortcut") .js_init_script(include_str!("api-iife.js").to_string()) .invoke_handler(tauri::generate_handler![ register, diff --git a/plugins/http/Cargo.toml b/plugins/http/Cargo.toml index 83ce71ca1..0a931b3ea 100644 --- a/plugins/http/Cargo.toml +++ b/plugins/http/Cargo.toml @@ -6,7 +6,7 @@ edition = { workspace = true } authors = { workspace = true } license = { workspace = true } rust-version = { workspace = true } -links = "tauri-plugin-global-http" +links = "tauri-plugin-http" [package.metadata.docs.rs] rustc-args = ["--cfg", "docsrs"] diff --git a/plugins/nfc/src/api-iife.js b/plugins/nfc/src/api-iife.js index 80156954e..1828f2b6c 100644 --- a/plugins/nfc/src/api-iife.js +++ b/plugins/nfc/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_NFC__=function(n){"use strict";async function e(n,e={},t){return window.__TAURI_INTERNALS__.invoke(n,e,t)}"function"==typeof SuppressedError&&SuppressedError;const t=[84],r=[85];var o,c;function i(n,e,t,r){return{format:n,kind:"string"==typeof e?Array.from((new TextEncoder).encode(e)):e,id:"string"==typeof t?Array.from((new TextEncoder).encode(t)):t,payload:"string"==typeof r?Array.from((new TextEncoder).encode(r)):r}}n.TechKind=void 0,(o=n.TechKind||(n.TechKind={}))[o.IsoDep=0]="IsoDep",o[o.MifareClassic=1]="MifareClassic",o[o.MifareUltralight=2]="MifareUltralight",o[o.Ndef=3]="Ndef",o[o.NdefFormatable=4]="NdefFormatable",o[o.NfcA=5]="NfcA",o[o.NfcB=6]="NfcB",o[o.NfcBarcode=7]="NfcBarcode",o[o.NfcF=8]="NfcF",o[o.NfcV=9]="NfcV",n.NFCTypeNameFormat=void 0,(c=n.NFCTypeNameFormat||(n.NFCTypeNameFormat={}))[c.Empty=0]="Empty",c[c.NfcWellKnown=1]="NfcWellKnown",c[c.Media=2]="Media",c[c.AbsoluteURI=3]="AbsoluteURI",c[c.NfcExternal=4]="NfcExternal",c[c.Unknown=5]="Unknown",c[c.Unchanged=6]="Unchanged";const a=["","http://www.","https://www.","http://","https://","tel:","mailto:","ftp://anonymous:anonymous@","ftp://ftp.","ftps://","sftp://","smb://","nfs://","ftp://","dav://","news:","telnet://","imap:","rtsp://","urn:","pop:","sip:","sips:","tftp:","btspp://","btl2cap://","btgoep://","tcpobex://","irdaobex://","file://","urn:epc:id:","urn:epc:tag:","urn:epc:pat:","urn:epc:raw:","urn:epc:","urn:nfc:"];function f(n){const{type:e,...t}=n;return{[e]:t}}return n.RTD_TEXT=t,n.RTD_URI=r,n.isAvailable=async function(){return await e("plugin:nfc|isAvailable")},n.record=i,n.scan=async function(n,t){return await e("plugin:nfc|scan",{kind:f(n),...t})},n.textRecord=function(e,r,o="en"){const c=Array.from((new TextEncoder).encode(o+e));return c.unshift(o.length),i(n.NFCTypeNameFormat.NfcWellKnown,t,r||[],c)},n.uriRecord=function(e,t){return i(n.NFCTypeNameFormat.NfcWellKnown,r,t||[],function(n){let e="";a.slice(1).forEach((function(t){e&&"urn:"!==e||0!==n.indexOf(t)||(e=t)})),e||(e="");const t=Array.from((new TextEncoder).encode(n.slice(e.length))),r=a.indexOf(e);return t.unshift(r),t}(e))},n.write=async function(n,t){const{kind:r,...o}=t||{};return r&&(o.kind=f(r)),await e("plugin:nfc|write",{records:n,...o})},n}({});Object.defineProperty(window.__TAURI__,"nfc",{value:__TAURI_PLUGIN_NFC__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_NFC__=function(n){"use strict";async function e(n,e={},t){return window.__TAURI_INTERNALS__.invoke(n,e,t)}"function"==typeof SuppressedError&&SuppressedError;const t=[84],r=[85];var o,c;function a(n,e,t,r){return{format:n,kind:"string"==typeof e?Array.from((new TextEncoder).encode(e)):e,id:"string"==typeof t?Array.from((new TextEncoder).encode(t)):t,payload:"string"==typeof r?Array.from((new TextEncoder).encode(r)):r}}n.TechKind=void 0,(o=n.TechKind||(n.TechKind={}))[o.IsoDep=0]="IsoDep",o[o.MifareClassic=1]="MifareClassic",o[o.MifareUltralight=2]="MifareUltralight",o[o.Ndef=3]="Ndef",o[o.NdefFormatable=4]="NdefFormatable",o[o.NfcA=5]="NfcA",o[o.NfcB=6]="NfcB",o[o.NfcBarcode=7]="NfcBarcode",o[o.NfcF=8]="NfcF",o[o.NfcV=9]="NfcV",n.NFCTypeNameFormat=void 0,(c=n.NFCTypeNameFormat||(n.NFCTypeNameFormat={}))[c.Empty=0]="Empty",c[c.NfcWellKnown=1]="NfcWellKnown",c[c.Media=2]="Media",c[c.AbsoluteURI=3]="AbsoluteURI",c[c.NfcExternal=4]="NfcExternal",c[c.Unknown=5]="Unknown",c[c.Unchanged=6]="Unchanged";const i=["","http://www.","https://www.","http://","https://","tel:","mailto:","ftp://anonymous:anonymous@","ftp://ftp.","ftps://","sftp://","smb://","nfs://","ftp://","dav://","news:","telnet://","imap:","rtsp://","urn:","pop:","sip:","sips:","tftp:","btspp://","btl2cap://","btgoep://","tcpobex://","irdaobex://","file://","urn:epc:id:","urn:epc:tag:","urn:epc:pat:","urn:epc:raw:","urn:epc:","urn:nfc:"];function f(n){const{type:e,...t}=n;return{[e]:t}}return n.RTD_TEXT=t,n.RTD_URI=r,n.isAvailable=async function(){return await e("plugin:nfc|is_available")},n.record=a,n.scan=async function(n,t){return await e("plugin:nfc|scan",{kind:f(n),...t})},n.textRecord=function(e,r,o="en"){const c=Array.from((new TextEncoder).encode(o+e));return c.unshift(o.length),a(n.NFCTypeNameFormat.NfcWellKnown,t,r||[],c)},n.uriRecord=function(e,t){return a(n.NFCTypeNameFormat.NfcWellKnown,r,t||[],function(n){let e="";i.slice(1).forEach((function(t){e&&"urn:"!==e||0!==n.indexOf(t)||(e=t)})),e||(e="");const t=Array.from((new TextEncoder).encode(n.slice(e.length))),r=i.indexOf(e);return t.unshift(r),t}(e))},n.write=async function(n,t){const{kind:r,...o}=t||{};return r&&(o.kind=f(r)),await e("plugin:nfc|write",{records:n,...o})},n}({});Object.defineProperty(window.__TAURI__,"nfc",{value:__TAURI_PLUGIN_NFC__})} diff --git a/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json b/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json index 964201815..cfa2b499a 100644 --- a/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json +++ b/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json @@ -63,6 +63,17 @@ "$ref": "#/definitions/Identifier" } }, + "platforms": { + "description": "Target platforms this capability applies. By default all platforms applies.", + "default": [ + "desktop", + "mobile" + ], + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityPlatform" + } + }, "windows": { "description": "List of windows that uses this capability. Can be a glob pattern.", "type": "array", @@ -109,63 +120,68 @@ } ] }, - "Identifier": { - "description": "Permission identifier", + "CapabilityPlatform": { + "description": "Target platform of a capability.", "oneOf": [ { - "description": "app:default -> Default permissions for the plugin.", + "description": "Windows.", "type": "string", "enum": [ - "app:default" + "windows" ] }, { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "description": "Linux.", "type": "string", "enum": [ - "app:deny-tauri-version" + "linux" ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "macOS.", "type": "string", "enum": [ - "app:allow-app-hide" + "macOS" ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "Android.", "type": "string", "enum": [ - "app:allow-version" + "android" ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "description": "iOS", "type": "string", "enum": [ - "app:allow-name" + "iOS" ] }, { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "description": "Desktop.", "type": "string", "enum": [ - "app:deny-version" + "desktop" ] }, { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "Mobile.", "type": "string", "enum": [ - "app:deny-app-show" + "mobile" ] - }, + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "app:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "app:allow-app-show" + "app:default" ] }, { @@ -176,143 +192,143 @@ ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-name" + "app:allow-version" ] }, { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-tauri-version" + "app:allow-app-show" ] }, { - "description": "event:default -> Default permissions for the plugin.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "event:default" + "app:deny-name" ] }, { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-listen" + "app:deny-tauri-version" ] }, { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-unlisten" + "app:allow-name" ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "app:deny-version" ] }, { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-unlisten" + "app:allow-tauri-version" ] }, { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-emit" + "app:allow-app-hide" ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-emit" + "app:deny-app-show" ] }, { - "description": "menu:default -> Default permissions for the plugin.", + "description": "event:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "menu:default" + "event:default" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "event:deny-unlisten" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "event:allow-listen" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "event:deny-listen" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "event:allow-unlisten" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "event:deny-emit" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "event:allow-emit" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "menu:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "menu:allow-append" + "menu:default" ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "menu:allow-set-text" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:deny-text" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "menu:deny-set-checked" ] }, { @@ -322,20 +338,6 @@ "menu:deny-insert" ] }, - { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-icon" - ] - }, { "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", @@ -344,101 +346,101 @@ ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:allow-append" ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "menu:deny-get" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:allow-create-default" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:allow-prepend" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "menu:deny-set-icon" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "menu:deny-set-accelerator" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:deny-create-default" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:deny-remove-at" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:allow-new" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "menu:allow-text" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:deny-new" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:deny-popup" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:deny-set-as-app-menu" ] }, { @@ -449,45 +451,45 @@ ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:deny-prepend" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:allow-remove-at" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:allow-set-icon" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:allow-remove" ] }, { @@ -498,157 +500,164 @@ ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:deny-append" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "menu:allow-insert" ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:deny-remove" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:deny-set-enabled" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "menu:deny-items" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:allow-is-enabled" ] }, { - "description": "path:default -> Default permissions for the plugin.", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "path:default" + "menu:allow-set-as-app-menu" ] }, { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-dirname" + "menu:allow-items" ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "menu:deny-is-checked" ] }, { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-basename" + "menu:deny-is-enabled" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "menu:allow-set-as-window-menu" ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "menu:allow-set-checked" ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "menu:allow-get" ] }, { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve" + "menu:allow-set-enabled" ] }, { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-is-absolute" + "menu:allow-set-accelerator" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "path:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "path:allow-is-absolute" + "path:default" ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "path:allow-join" ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "path:allow-dirname" ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-normalize" + "path:allow-basename" ] }, { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve" + "path:allow-resolve-directory" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" ] }, { @@ -659,10 +668,24 @@ ] }, { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-join" + "path:deny-resolve-directory" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" ] }, { @@ -673,73 +696,73 @@ ] }, { - "description": "resources:default -> Default permissions for the plugin.", + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "resources:default" + "path:deny-normalize" ] }, { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", "type": "string", "enum": [ - "resources:deny-close" + "path:deny-join" ] }, { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "resources:allow-close" + "path:deny-is-absolute" ] }, { - "description": "tray:default -> Default permissions for the plugin.", + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "tray:default" + "path:deny-resolve" ] }, { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-menu" + "path:allow-is-absolute" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "path:deny-dirname" ] }, { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "resources:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "tray:allow-set-icon-as-template" + "resources:default" ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "resources:deny-close" ] }, { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon" + "resources:allow-close" ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "tray:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "tray:deny-set-title" + "tray:default" ] }, { @@ -750,59 +773,59 @@ ] }, { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-new" + "tray:allow-set-visible" ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-new" + "tray:allow-set-menu" ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-menu" + "tray:deny-set-tooltip" ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "tray:deny-set-title" ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "tray:allow-set-temp-dir-path" ] }, { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-tooltip" + "tray:allow-set-icon-as-template" ] }, { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "tray:allow-new" ] }, { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-show-menu-on-left-click" + "tray:allow-set-show-menu-on-left-click" ] }, { @@ -820,465 +843,493 @@ ] }, { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-tooltip" + "tray:deny-set-visible" ] }, { - "description": "window:default -> Default permissions for the plugin.", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "window:default" + "tray:deny-set-menu" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "tray:allow-set-tooltip" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "tray:deny-set-icon" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "tray:deny-set-show-menu-on-left-click" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "tray:deny-new" ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "tray:deny-set-temp-dir-path" ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "window:deny-print" + "window:default" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:deny-outer-size" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:allow-is-fullscreen" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:allow-is-minimized" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:deny-is-visible" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:deny-print" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:deny-is-closable" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:deny-unminimize" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:allow-set-always-on-top" ] }, { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unmaximize" + "window:deny-unmaximize" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-is-maximizable" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:allow-theme" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-set-position" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:deny-set-effects" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:deny-set-cursor-grab" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:allow-is-focused" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:allow-set-max-size" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:allow-title" ] }, { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-icon" + "window:allow-start-dragging" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:allow-hide" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:deny-inner-position" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:allow-set-content-protected" ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:allow-scale-factor" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:allow-is-maximized" ] }, { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-position" + "window:allow-is-closable" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:allow-set-cursor-grab" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:allow-current-monitor" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:deny-current-monitor" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:deny-set-cursor-icon" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:deny-set-minimizable" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:deny-inner-size" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:deny-is-fullscreen" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:deny-set-min-size" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:deny-available-monitors" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:allow-set-closable" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:allow-show" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:allow-maximize" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:deny-center" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:allow-is-resizable" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:allow-set-cursor-position" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:deny-set-size" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:allow-unminimize" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:allow-set-size" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:allow-minimize" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:deny-is-decorated" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:deny-set-closable" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:allow-set-effects" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:deny-request-user-attention" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:allow-set-title" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:allow-set-resizable" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:allow-set-min-size" ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "window:deny-is-maximized" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:deny-is-focused" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:allow-set-cursor-visible" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:allow-center" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:allow-set-position" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:allow-set-decorations" ] }, { @@ -1289,185 +1340,185 @@ ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:deny-hide" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:allow-is-decorated" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:deny-is-maximizable" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:deny-set-resizable" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:deny-outer-position" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:allow-create" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:deny-primary-monitor" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:allow-set-fullscreen" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:allow-set-icon" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:allow-internal-toggle-devtools" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:deny-is-minimizable" ] }, { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-devtools" + "window:deny-title" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:deny-set-cursor-visible" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:allow-inner-position" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:deny-minimize" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "window:allow-set-maximizable" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:deny-scale-factor" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:allow-is-minimizable" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:deny-set-content-protected" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:deny-show" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:deny-close" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:deny-is-minimized" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "window:allow-set-shadow" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:deny-set-title" ] }, { @@ -1478,59 +1529,59 @@ ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:deny-toggle-maximize" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:allow-primary-monitor" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:deny-create" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:deny-set-ignore-cursor-events" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:allow-available-monitors" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:allow-close" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:allow-outer-position" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:deny-maximize" ] }, { @@ -1541,10 +1592,10 @@ ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:allow-request-user-attention" ] }, { @@ -1555,52 +1606,52 @@ ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:deny-set-maximizable" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:deny-theme" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "window:allow-unmaximize" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-start-dragging" ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:deny-set-shadow" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:allow-set-focus" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:allow-set-ignore-cursor-events" ] }, { @@ -1611,66 +1662,80 @@ ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:deny-set-cursor-position" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:allow-set-minimizable" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:deny-set-progress-bar" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:deny-set-always-on-top" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:deny-internal-toggle-devtools" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:allow-set-cursor-icon" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:deny-set-fullscreen" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:allow-print" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:deny-set-decorations" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" ] } ] diff --git a/plugins/updater/tests/app-updater/capabilities/.schema.json b/plugins/updater/tests/app-updater/capabilities/.schema.json index ffa0f5a4a..89cac3c90 100644 --- a/plugins/updater/tests/app-updater/capabilities/.schema.json +++ b/plugins/updater/tests/app-updater/capabilities/.schema.json @@ -63,6 +63,17 @@ "$ref": "#/definitions/Identifier" } }, + "platforms": { + "description": "Target platforms this capability applies. By default all platforms applies.", + "default": [ + "desktop", + "mobile" + ], + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityPlatform" + } + }, "windows": { "description": "List of windows that uses this capability. Can be a glob pattern.", "type": "array", @@ -109,343 +120,348 @@ } ] }, - "Identifier": { - "description": "Permission identifier", + "CapabilityPlatform": { + "description": "Target platform of a capability.", "oneOf": [ { - "description": "app:default -> Default permissions for the plugin.", + "description": "Windows.", "type": "string", "enum": [ - "app:default" + "windows" ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "Linux.", "type": "string", "enum": [ - "app:deny-name" + "linux" ] }, { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "description": "macOS.", "type": "string", "enum": [ - "app:deny-app-hide" + "macOS" ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "Android.", "type": "string", "enum": [ - "app:allow-app-hide" + "android" ] }, { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "iOS", "type": "string", "enum": [ - "app:deny-app-show" + "iOS" ] }, { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "description": "Desktop.", "type": "string", "enum": [ - "app:deny-tauri-version" + "desktop" ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "description": "Mobile.", "type": "string", "enum": [ - "app:allow-name" + "mobile" ] - }, + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "app:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "app:allow-app-show" + "app:default" ] }, { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-version" + "app:allow-name" ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-version" + "app:allow-tauri-version" ] }, { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-tauri-version" + "app:deny-tauri-version" ] }, { - "description": "event:default -> Default permissions for the plugin.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "event:default" + "app:deny-name" ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-emit" + "app:allow-version" ] }, { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-emit" + "app:deny-version" ] }, { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-listen" + "app:deny-app-show" ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "app:allow-app-hide" ] }, { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-unlisten" + "app:allow-app-show" ] }, { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-unlisten" + "app:deny-app-hide" ] }, { - "description": "menu:default -> Default permissions for the plugin.", + "description": "event:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "menu:default" + "event:default" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "event:deny-emit" ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "event:allow-listen" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "event:deny-unlisten" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "event:allow-unlisten" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "event:deny-listen" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "event:allow-emit" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "menu:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "menu:allow-get" + "menu:default" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:allow-get" ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "menu:deny-items" ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:allow-prepend" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:allow-set-as-app-menu" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:allow-is-checked" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "menu:deny-set-checked" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:deny-is-enabled" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "menu:allow-new" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:deny-append" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "menu:allow-create-default" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "menu:deny-popup" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:allow-remove" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:allow-insert" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:allow-items" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "menu:deny-set-accelerator" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "menu:deny-set-enabled" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:allow-set-enabled" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:deny-text" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:allow-set-text" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:allow-set-as-window-menu" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { @@ -456,157 +472,164 @@ ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "menu:deny-get" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:deny-remove-at" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "menu:allow-set-checked" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:allow-append" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:deny-set-text" ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:deny-prepend" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "menu:deny-remove" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:deny-create-default" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:allow-text" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-append" + "menu:allow-set-icon" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:allow-is-enabled" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:deny-is-checked" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "menu:allow-popup" ] }, { - "description": "path:default -> Default permissions for the plugin.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "path:default" + "menu:deny-insert" ] }, { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve" + "menu:allow-remove-at" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "menu:deny-new" ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "menu:deny-set-as-app-menu" ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-normalize" + "menu:allow-set-accelerator" ] }, { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-extname" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "menu:deny-set-icon" ] }, { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "path:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "path:deny-resolve" + "path:default" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" ] }, { @@ -617,38 +640,59 @@ ] }, { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-dirname" + "path:deny-resolve-directory" ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "path:allow-is-absolute" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "path:deny-extname" ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "path:deny-resolve" ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "path:allow-dirname" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" ] }, { @@ -658,6 +702,13 @@ "path:deny-is-absolute" ] }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, { "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", "type": "string", @@ -672,6 +723,20 @@ "path:allow-extname" ] }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, { "description": "resources:default -> Default permissions for the plugin.", "type": "string", @@ -701,38 +766,38 @@ ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "tray:allow-set-tooltip" ] }, { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-show-menu-on-left-click" + "tray:allow-set-icon" ] }, { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon" + "tray:deny-set-title" ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "tray:deny-new" ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "tray:deny-set-temp-dir-path" ] }, { @@ -743,24 +808,31 @@ ] }, { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon-as-template" + "tray:deny-set-tooltip" ] }, { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-tooltip" + "tray:deny-set-visible" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "tray:deny-set-menu" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" ] }, { @@ -771,24 +843,24 @@ ] }, { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-new" + "tray:allow-set-show-menu-on-left-click" ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-new" + "tray:deny-set-icon-as-template" ] }, { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "tray:deny-set-show-menu-on-left-click" ] }, { @@ -799,38 +871,38 @@ ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-menu" + "tray:allow-set-temp-dir-path" ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "tray:allow-new" ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-title" + "tray:allow-set-title" ] }, { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "description": "updater:default -> Allows checking for new updates and installing them", "type": "string", "enum": [ - "tray:deny-set-tooltip" + "updater:default" ] }, { - "description": "updater:default -> Allows checking for new updates and installing them", + "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", "type": "string", "enum": [ - "updater:default" + "updater:deny-download-and-install" ] }, { @@ -855,857 +927,850 @@ ] }, { - "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "description": "window:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "updater:deny-download-and-install" + "window:default" ] }, { - "description": "window:default -> Default permissions for the plugin.", + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:default" + "window:allow-toggle-maximize" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:deny-current-monitor" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:allow-is-minimized" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:deny-set-cursor-grab" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "window:deny-create" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:deny-inner-position" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:deny-theme" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:allow-is-resizable" ] }, { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-size" + "window:deny-primary-monitor" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:allow-outer-size" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:allow-is-decorated" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:deny-print" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:deny-set-fullscreen" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:deny-unmaximize" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:deny-close" ] }, { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-position" + "window:deny-set-min-size" ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "window:deny-is-maximizable" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:allow-set-size" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:allow-unmaximize" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:deny-set-icon" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "window:allow-set-effects" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:allow-outer-position" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-focus" - ] - }, - { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:deny-inner-size" ] }, { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-devtools" + "window:deny-set-effects" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:deny-set-max-size" ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-print" + "window:allow-set-position" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-icon" + "window:deny-set-closable" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:deny-set-position" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:allow-close" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:allow-center" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:allow-is-focused" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:deny-set-decorations" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:allow-minimize" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:deny-request-user-attention" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:deny-is-decorated" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:allow-current-monitor" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:deny-center" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:deny-available-monitors" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:allow-internal-toggle-devtools" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:allow-is-fullscreen" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-set-cursor-icon" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:allow-set-max-size" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:allow-set-progress-bar" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:allow-unminimize" ] }, { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-skip-taskbar" + "window:allow-primary-monitor" ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:deny-is-resizable" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:allow-inner-size" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:deny-outer-position" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:allow-create" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:allow-set-cursor-visible" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:allow-set-cursor-position" ] }, { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unmaximize" + "window:deny-set-progress-bar" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:allow-set-cursor-icon" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:deny-is-fullscreen" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:allow-title" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:deny-maximize" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:deny-set-focus" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:deny-set-resizable" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:allow-request-user-attention" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:allow-inner-position" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:deny-is-minimizable" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:allow-set-min-size" ] }, { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-max-size" + "window:allow-set-title" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:deny-unminimize" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:allow-scale-factor" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:deny-set-maximizable" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:deny-is-visible" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:deny-minimize" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:allow-set-minimizable" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:allow-set-resizable" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:allow-available-monitors" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:deny-is-closable" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:allow-maximize" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:allow-set-focus" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:deny-set-cursor-visible" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:deny-is-maximized" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:deny-hide" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:deny-start-dragging" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:allow-set-maximizable" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:deny-show" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:allow-start-dragging" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:deny-set-minimizable" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "window:allow-set-fullscreen" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:deny-title" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:deny-toggle-maximize" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:deny-set-ignore-cursor-events" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:allow-set-shadow" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:deny-is-focused" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "window:allow-is-maximized" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:deny-set-cursor-position" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:allow-hide" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:deny-set-title" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:deny-scale-factor" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:deny-internal-toggle-devtools" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:allow-set-content-protected" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:allow-is-minimizable" ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "window:allow-is-visible" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:deny-set-shadow" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:allow-set-icon" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:allow-set-closable" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "window:allow-set-cursor-grab" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:allow-theme" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-set-content-protected" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:allow-set-always-on-top" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "window:deny-set-size" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:deny-is-minimized" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:deny-outer-size" ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:allow-show" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:allow-is-closable" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:deny-set-always-on-top" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:allow-is-maximizable" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:allow-print" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:allow-set-decorations" ] } ] diff --git a/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json b/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json index 3f085fe10..e09b1a5f9 100644 --- a/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json +++ b/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json @@ -63,6 +63,17 @@ "$ref": "#/definitions/Identifier" } }, + "platforms": { + "description": "Target platforms this capability applies. By default all platforms applies.", + "default": [ + "desktop", + "mobile" + ], + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityPlatform" + } + }, "windows": { "description": "List of windows that uses this capability. Can be a glob pattern.", "type": "array", @@ -109,49 +120,68 @@ } ] }, - "Identifier": { - "description": "Permission identifier", + "CapabilityPlatform": { + "description": "Target platform of a capability.", "oneOf": [ { - "description": "app:default -> Default permissions for the plugin.", + "description": "Windows.", "type": "string", "enum": [ - "app:default" + "windows" ] }, { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "description": "Linux.", "type": "string", "enum": [ - "app:deny-version" + "linux" ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "macOS.", "type": "string", "enum": [ - "app:deny-name" + "macOS" ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "Android.", "type": "string", "enum": [ - "app:allow-version" + "android" ] }, { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "iOS", "type": "string", "enum": [ - "app:allow-tauri-version" + "iOS" ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "Desktop.", "type": "string", "enum": [ - "app:allow-app-hide" + "desktop" + ] + }, + { + "description": "Mobile.", + "type": "string", + "enum": [ + "mobile" + ] + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" ] }, { @@ -161,6 +191,13 @@ "app:deny-app-hide" ] }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, { "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", @@ -169,17 +206,17 @@ ] }, { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-show" + "app:deny-version" ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-name" + "app:allow-version" ] }, { @@ -190,38 +227,38 @@ ] }, { - "description": "event:default -> Default permissions for the plugin.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "event:default" + "app:allow-name" ] }, { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-unlisten" + "app:allow-tauri-version" ] }, { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-listen" + "app:deny-name" ] }, { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-unlisten" + "app:deny-app-show" ] }, { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "description": "event:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "event:deny-emit" + "event:default" ] }, { @@ -232,164 +269,171 @@ ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "event:deny-emit" ] }, { - "description": "menu:default -> Default permissions for the plugin.", + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "menu:default" + "event:allow-unlisten" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "event:allow-listen" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "event:deny-unlisten" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "event:deny-listen" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:default" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "menu:deny-set-accelerator" ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "menu:deny-items" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:allow-prepend" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "menu:allow-remove-at" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "menu:allow-new" ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:deny-get" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "menu:allow-popup" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:deny-set-as-app-menu" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:allow-insert" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:deny-remove-at" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:deny-popup" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "menu:allow-set-accelerator" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:deny-set-checked" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:allow-set-text" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:allow-set-enabled" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" ] }, { @@ -400,66 +444,66 @@ ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:deny-set-enabled" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "menu:deny-set-text" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "menu:allow-is-checked" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:allow-create-default" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "menu:allow-set-as-window-menu" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "menu:deny-append" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:allow-get" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:allow-append" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "menu:allow-is-enabled" ] }, { @@ -470,157 +514,157 @@ ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:allow-set-checked" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:deny-create-default" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:deny-insert" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "menu:deny-remove" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "menu:deny-new" ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:deny-set-icon" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:deny-prepend" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:allow-remove" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:deny-is-checked" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-append" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "path:default -> Default permissions for the plugin.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "path:default" + "menu:allow-text" ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "menu:allow-items" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "menu:deny-text" ] }, { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "description": "path:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "path:deny-basename" + "path:default" ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "path:allow-resolve" ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-normalize" + "path:deny-is-absolute" ] }, { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-dirname" + "path:allow-join" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "path:allow-extname" ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "path:allow-basename" ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "path:deny-join" ] }, { @@ -631,10 +675,10 @@ ] }, { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-extname" + "path:allow-is-absolute" ] }, { @@ -645,94 +689,94 @@ ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "path:allow-dirname" ] }, { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-join" + "path:allow-resolve-directory" ] }, { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve" + "path:deny-resolve-directory" ] }, { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-is-absolute" + "path:allow-normalize" ] }, { - "description": "resources:default -> Default permissions for the plugin.", + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", "type": "string", "enum": [ - "resources:default" + "path:deny-basename" ] }, { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "resources:deny-close" + "path:deny-normalize" ] }, { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "resources:allow-close" + "path:deny-dirname" ] }, { - "description": "tray:default -> Default permissions for the plugin.", + "description": "resources:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "tray:default" + "resources:default" ] }, { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-menu" + "resources:allow-close" ] }, { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-tooltip" + "resources:deny-close" ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "tray:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "tray:deny-set-menu" + "tray:default" ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "tray:allow-set-temp-dir-path" ] }, { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-new" + "tray:deny-set-menu" ] }, { @@ -743,10 +787,10 @@ ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "tray:allow-set-tooltip" ] }, { @@ -756,6 +800,13 @@ "tray:deny-set-tooltip" ] }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, { "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", @@ -764,45 +815,52 @@ ] }, { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon" + "tray:allow-set-show-menu-on-left-click" ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-new" + "tray:deny-set-temp-dir-path" ] }, { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon" + "tray:deny-set-title" ] }, { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon-as-template" + "tray:deny-set-visible" ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-title" + "tray:deny-set-icon" ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "tray:allow-new" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" ] }, { @@ -813,17 +871,24 @@ ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "tray:deny-new" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "tray:allow-set-title" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" ] }, { @@ -834,17 +899,17 @@ ] }, { - "description": "websocket:allow-send -> Enables the send command without any pre-configured scope.", + "description": "websocket:deny-send -> Denies the send command without any pre-configured scope.", "type": "string", "enum": [ - "websocket:allow-send" + "websocket:deny-send" ] }, { - "description": "websocket:deny-connect -> Denies the connect command without any pre-configured scope.", + "description": "websocket:allow-send -> Enables the send command without any pre-configured scope.", "type": "string", "enum": [ - "websocket:deny-connect" + "websocket:allow-send" ] }, { @@ -855,10 +920,10 @@ ] }, { - "description": "websocket:deny-send -> Denies the send command without any pre-configured scope.", + "description": "websocket:deny-connect -> Denies the connect command without any pre-configured scope.", "type": "string", "enum": [ - "websocket:deny-send" + "websocket:deny-connect" ] }, { @@ -869,479 +934,479 @@ ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:allow-set-cursor-visible" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:allow-theme" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:allow-is-closable" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:allow-center" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:allow-set-progress-bar" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:deny-set-position" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:deny-is-resizable" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:allow-is-visible" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "window:allow-minimize" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:allow-set-title" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:deny-theme" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:deny-is-visible" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:deny-set-always-on-top" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:deny-set-title" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:deny-toggle-maximize" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:allow-set-decorations" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:deny-minimize" ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "window:deny-set-effects" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:deny-outer-size" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:allow-set-shadow" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:deny-title" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:deny-is-focused" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:allow-print" ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:deny-set-cursor-icon" ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-print" + "window:allow-set-effects" ] }, { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-size" + "window:allow-set-content-protected" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:deny-set-max-size" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:allow-start-dragging" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:deny-start-dragging" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:allow-maximize" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:allow-is-fullscreen" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:deny-maximize" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:allow-close" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:deny-set-icon" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:allow-create" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:deny-show" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:allow-unminimize" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:allow-set-always-on-top" ] }, { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-max-size" + "window:deny-set-size" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:allow-available-monitors" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:allow-set-cursor-position" ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "window:allow-set-cursor-icon" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:allow-set-cursor-grab" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:deny-is-fullscreen" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:deny-is-decorated" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:deny-set-fullscreen" ] }, { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-devtools" + "window:allow-is-focused" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:allow-set-icon" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:allow-is-resizable" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:deny-set-content-protected" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:deny-set-progress-bar" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:allow-is-maximizable" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:allow-unmaximize" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:deny-current-monitor" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:allow-current-monitor" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:allow-is-decorated" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:deny-create" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:allow-is-minimized" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:allow-set-closable" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:deny-internal-toggle-devtools" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "window:allow-set-minimizable" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:allow-set-resizable" ] }, { @@ -1352,360 +1417,360 @@ ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:deny-set-focus" ] }, { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unmaximize" + "window:deny-inner-size" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:deny-close" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "window:deny-request-user-attention" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:allow-is-minimizable" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-set-decorations" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:deny-is-minimized" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:deny-set-cursor-grab" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:allow-set-size" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-toggle-maximize" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "window:deny-set-ignore-cursor-events" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "window:allow-hide" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:allow-inner-position" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:allow-set-max-size" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:deny-center" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:deny-primary-monitor" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:deny-set-resizable" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-unmaximize" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "window:deny-print" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:allow-outer-size" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:deny-hide" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:allow-set-position" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "window:allow-outer-position" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:allow-is-maximized" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:deny-is-minimizable" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-available-monitors" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:allow-title" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:deny-unminimize" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:allow-request-user-attention" ] }, { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-skip-taskbar" + "window:deny-scale-factor" ] }, { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-icon" + "window:allow-set-focus" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:allow-set-min-size" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:deny-is-maximized" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:allow-internal-toggle-devtools" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:allow-primary-monitor" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "window:deny-set-cursor-position" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:allow-inner-size" ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:allow-show" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:allow-set-maximizable" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:deny-is-closable" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:deny-inner-position" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:deny-set-shadow" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:deny-set-min-size" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:deny-is-maximizable" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:allow-set-fullscreen" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:deny-set-maximizable" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:deny-set-closable" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:deny-set-minimizable" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:allow-scale-factor" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:deny-set-cursor-visible" ] } ] From cd685f14a82129b03d9ac50a2f1ebfd70223db59 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Thu, 18 Jan 2024 10:18:23 -0300 Subject: [PATCH 08/35] split capabilities [skip ci] --- Cargo.lock | 16 +- examples/api/src-tauri/capabilities/base.json | 35 + .../api/src-tauri/capabilities/desktop.json | 18 + .../api/src-tauri/capabilities/mobile.json | 20 + .../api/src-tauri/capabilities/run-app.json | 75 - .../src-tauri/capabilities/schemas/.gitignore | 3 + .../capabilities/schemas/desktop-schema.json | 4278 +++++++++++++++++ .../mobile-schema.json} | 2186 ++++----- 8 files changed, 5455 insertions(+), 1176 deletions(-) create mode 100644 examples/api/src-tauri/capabilities/base.json create mode 100644 examples/api/src-tauri/capabilities/desktop.json create mode 100644 examples/api/src-tauri/capabilities/mobile.json delete mode 100644 examples/api/src-tauri/capabilities/run-app.json create mode 100644 examples/api/src-tauri/capabilities/schemas/.gitignore create mode 100644 examples/api/src-tauri/capabilities/schemas/desktop-schema.json rename examples/api/src-tauri/capabilities/{.schema.json => schemas/mobile-schema.json} (100%) diff --git a/Cargo.lock b/Cargo.lock index c271e2096..a75c03158 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5844,7 +5844,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" dependencies = [ "anyhow", "bytes 1.5.0", @@ -5896,7 +5896,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" dependencies = [ "anyhow", "cargo_toml", @@ -5921,7 +5921,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" dependencies = [ "base64 0.21.5", "brotli", @@ -5946,7 +5946,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" dependencies = [ "heck", "proc-macro2", @@ -5959,7 +5959,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "0.1.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" dependencies = [ "cargo_metadata", "glob", @@ -6409,7 +6409,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" dependencies = [ "gtk", "http", @@ -6426,7 +6426,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6446,7 +6446,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#a1cdcd003ee32344f4a3494b3e43c12442c4fe49" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/examples/api/src-tauri/capabilities/base.json b/examples/api/src-tauri/capabilities/base.json new file mode 100644 index 000000000..a1f327e93 --- /dev/null +++ b/examples/api/src-tauri/capabilities/base.json @@ -0,0 +1,35 @@ +{ + "$schema": "schemas/desktop-schema.json", + "identifier": "run-app-base", + "description": "Base permissions to run the app", + "windows": [ + "main" + ], + "permissions": [ + "log:default", + "http:default", + "app:default", + "resources:default", + "fs:default", + "menu:default", + "path:default", + "tray:default", + "event:default", + "window:default", + "resources:default", + "notification:default", + "os:allow-platform", + "dialog:allow-open", + "dialog:allow-save", + "dialog:allow-confirm", + "shell:allow-execute", + "shell:allow-kill", + "shell:allow-stdin-write", + "clipboard-manager:allow-read", + "clipboard-manager:allow-write", + "fs:allow-rename", + "fs:allow-mkdir", + "fs:allow-remove", + "fs:allow-write-text-file" + ] +} \ No newline at end of file diff --git a/examples/api/src-tauri/capabilities/desktop.json b/examples/api/src-tauri/capabilities/desktop.json new file mode 100644 index 000000000..a860c760b --- /dev/null +++ b/examples/api/src-tauri/capabilities/desktop.json @@ -0,0 +1,18 @@ +{ + "$schema": "./schemas/desktop-schema.json", + "identifier": "run-app-desktop", + "description": "Permissions to run the app (desktop only)", + "windows": [ + "main" + ], + "platforms": [ + "desktop" + ], + "permissions": [ + "cli:default", + "updater:default", + "global-shortcut:allow-unregister", + "global-shortcut:allow-register", + "global-shortcut:allow-unregister-all" + ] +} \ No newline at end of file diff --git a/examples/api/src-tauri/capabilities/mobile.json b/examples/api/src-tauri/capabilities/mobile.json new file mode 100644 index 000000000..4798deb70 --- /dev/null +++ b/examples/api/src-tauri/capabilities/mobile.json @@ -0,0 +1,20 @@ +{ + "$schema": "./schemas/mobile-schema.json", + "identifier": "run-app-mobile", + "description": "Permissions to run the app (mobile only)", + "windows": [ + "main" + ], + "platforms": [ + "mobile" + ], + "permissions": [ + "nfc:allow-write", + "nfc:allow-scan", + "biometric:allow-authenticate", + "barcode-scanner:allow-scan", + "barcode-scanner:allow-cancel", + "barcode-scanner:allow-request-permissions", + "barcode-scanner:allow-check-permissions" + ] +} \ No newline at end of file diff --git a/examples/api/src-tauri/capabilities/run-app.json b/examples/api/src-tauri/capabilities/run-app.json deleted file mode 100644 index 739f42f12..000000000 --- a/examples/api/src-tauri/capabilities/run-app.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "$schema": ".schema.json", - "capabilities": [ - { - "identifier": "run-app-base", - "description": "Permissions to run the app", - "windows": [ - "main" - ], - "permissions": [ - "log:default", - "http:default", - "app:default", - "resources:default", - "fs:default", - "menu:default", - "path:default", - "tray:default", - "event:default", - "window:default", - "resources:default", - "notification:default", - "os:allow-platform", - "dialog:allow-open", - "dialog:allow-save", - "dialog:allow-confirm", - "shell:allow-execute", - "shell:allow-kill", - "shell:allow-stdin-write", - "clipboard-manager:allow-read", - "clipboard-manager:allow-write", - "fs:allow-rename", - "fs:allow-mkdir", - "fs:allow-remove", - "fs:allow-write-text-file" - ] - }, - { - "identifier": "run-app-desktop", - "description": "Permissions to run the app (desktop only)", - "windows": [ - "main" - ], - "platforms": [ - "desktop" - ], - "permissions": [ - "cli:default", - "updater:default", - "global-shortcut:allow-unregister", - "global-shortcut:allow-register", - "global-shortcut:allow-unregister-all" - ] - }, - { - "identifier": "run-app-mobile", - "description": "Permissions to run the app (mobile only)", - "windows": [ - "main" - ], - "platforms": [ - "mobile" - ], - "permissions": [ - "nfc:allow-write", - "nfc:allow-scan", - "biometric:allow-authenticate", - "barcode-scanner:allow-scan", - "barcode-scanner:allow-cancel", - "barcode-scanner:allow-request-permissions", - "barcode-scanner:allow-check-permissions" - ] - } - ] -} \ No newline at end of file diff --git a/examples/api/src-tauri/capabilities/schemas/.gitignore b/examples/api/src-tauri/capabilities/schemas/.gitignore new file mode 100644 index 000000000..29e549b16 --- /dev/null +++ b/examples/api/src-tauri/capabilities/schemas/.gitignore @@ -0,0 +1,3 @@ +*-schema.json +!desktop-schema.json +!mobile-schema.json diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json new file mode 100644 index 000000000..c45aef17e --- /dev/null +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -0,0 +1,4278 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "CapabilityFile", + "description": "Capability formats accepted in a capability file.", + "anyOf": [ + { + "description": "A single capability.", + "allOf": [ + { + "$ref": "#/definitions/Capability" + } + ] + }, + { + "description": "A list of capabilities.", + "type": "object", + "required": [ + "capabilities" + ], + "properties": { + "capabilities": { + "description": "The list of capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + } + } + } + ], + "definitions": { + "Capability": { + "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", + "type": "object", + "required": [ + "identifier", + "permissions", + "windows" + ], + "properties": { + "context": { + "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", + "default": "local", + "allOf": [ + { + "$ref": "#/definitions/CapabilityContext" + } + ] + }, + "description": { + "description": "Description of the capability.", + "default": "", + "type": "string" + }, + "identifier": { + "description": "Identifier of the capability.", + "type": "string" + }, + "permissions": { + "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", + "type": "array", + "items": { + "$ref": "#/definitions/Identifier" + } + }, + "platforms": { + "description": "Target platforms this capability applies. By default all platforms applies.", + "default": [ + "desktop", + "mobile" + ], + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityPlatform" + } + }, + "windows": { + "description": "List of windows that uses this capability. Can be a glob pattern.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CapabilityContext": { + "description": "Context of the capability.", + "oneOf": [ + { + "description": "Capability refers to local URL usage.", + "type": "string", + "enum": [ + "local" + ] + }, + { + "description": "Capability refers to remote usage.", + "type": "object", + "required": [ + "remote" + ], + "properties": { + "remote": { + "type": "object", + "required": [ + "domains" + ], + "properties": { + "domains": { + "description": "Remote domains this capability refers to.", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "additionalProperties": false + } + ] + }, + "CapabilityPlatform": { + "description": "Target platform of a capability.", + "oneOf": [ + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "macOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS", + "type": "string", + "enum": [ + "iOS" + ] + }, + { + "description": "Desktop.", + "type": "string", + "enum": [ + "desktop" + ] + }, + { + "description": "Mobile.", + "type": "string", + "enum": [ + "mobile" + ] + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" + ] + }, + { + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-show" + ] + }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, + { + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-show" + ] + }, + { + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-version" + ] + }, + { + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-version" + ] + }, + { + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-tauri-version" + ] + }, + { + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-name" + ] + }, + { + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-hide" + ] + }, + { + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-name" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" + ] + }, + { + "description": "cli:default -> Allows reading the CLI matches", + "type": "string", + "enum": [ + "cli:default" + ] + }, + { + "description": "cli:deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "cli:deny-cli-matches" + ] + }, + { + "description": "cli:allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "cli:allow-cli-matches" + ] + }, + { + "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-write" + ] + }, + { + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:deny-write" + ] + }, + { + "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-read" + ] + }, + { + "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:deny-read" + ] + }, + { + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-open" + ] + }, + { + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-ask" + ] + }, + { + "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-message" + ] + }, + { + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-ask" + ] + }, + { + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-save" + ] + }, + { + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-open" + ] + }, + { + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-save" + ] + }, + { + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-confirm" + ] + }, + { + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-message" + ] + }, + { + "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-confirm" + ] + }, + { + "description": "event:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "event:default" + ] + }, + { + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit" + ] + }, + { + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-unlisten" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" + ] + }, + { + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-listen" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" + ] + }, + { + "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-picture-write-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-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-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "type": "string", + "enum": [ + "fs:allow-appcache-write" + ] + }, + { + "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-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appdata-meta-recursive" + ] + }, + { + "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-cache-write-recursive" + ] + }, + { + "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-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-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-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "type": "string", + "enum": [ + "fs:allow-public-read" + ] + }, + { + "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-video-meta" + ] + }, + { + "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-config-meta-recursive" + ] + }, + { + "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-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "type": "string", + "enum": [ + "fs:allow-applog-write" + ] + }, + { + "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-localdata-meta" + ] + }, + { + "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-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-exe-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-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-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-exe-write-recursive" + ] + }, + { + "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-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "type": "string", + "enum": [ + "fs:allow-resource-write" + ] + }, + { + "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-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "type": "string", + "enum": [ + "fs:allow-runtime-read" + ] + }, + { + "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-desktop-meta-recursive" + ] + }, + { + "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-picture-meta" + ] + }, + { + "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-data-meta" + ] + }, + { + "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-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-app-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-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appdata-meta" + ] + }, + { + "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-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "type": "string", + "enum": [ + "fs:allow-appcache-read" + ] + }, + { + "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-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-temp-write-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-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "type": "string", + "enum": [ + "fs:allow-appdata-write" + ] + }, + { + "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-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-public-write-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-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-document-write-recursive" + ] + }, + { + "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-cache-meta-recursive" + ] + }, + { + "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-document-meta" + ] + }, + { + "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-log-write-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-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-template-meta" + ] + }, + { + "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-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-log-meta" + ] + }, + { + "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-applocaldata-write-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-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "type": "string", + "enum": [ + "fs:allow-video-read" + ] + }, + { + "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appcache-meta-recursive" + ] + }, + { + "description": "fs:allow-applog-meta -> This allows 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 read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-applog-meta-recursive" + ] + }, + { + "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appconfig-meta" + ] + }, + { + "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-audio-meta-recursive" + ] + }, + { + "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-download-meta" + ] + }, + { + "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-resource-write-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-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-download-write-recursive" + ] + }, + { + "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-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "type": "string", + "enum": [ + "fs:allow-data-write" + ] + }, + { + "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-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-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "type": "string", + "enum": [ + "fs:allow-desktop-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-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-home-meta-recursive" + ] + }, + { + "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-audio-write-recursive" + ] + }, + { + "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-font-meta-recursive" + ] + }, + { + "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-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "type": "string", + "enum": [ + "fs:allow-log-read" + ] + }, + { + "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-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-temp-meta-recursive" + ] + }, + { + "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-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-appcache-write-recursive" + ] + }, + { + "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-applog-write-recursive" + ] + }, + { + "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appcache-meta" + ] + }, + { + "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-data-meta-recursive" + ] + }, + { + "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-runtime-write-recursive" + ] + }, + { + "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-appdata-write-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-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-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-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-appconfig-write-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-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-desktop-write-recursive" + ] + }, + { + "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-home-meta" + ] + }, + { + "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-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "type": "string", + "enum": [ + "fs:allow-appconfig-read" + ] + }, + { + "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-data-write-recursive" + ] + }, + { + "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-log-meta-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-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:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "type": "string", + "enum": [ + "fs:deny-default" + ] + }, + { + "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-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-resource-meta" + ] + }, + { + "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-template-meta-recursive" + ] + }, + { + "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-resource-meta-recursive" + ] + }, + { + "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-picture-meta-recursive" + ] + }, + { + "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-desktop-meta" + ] + }, + { + "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-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-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-public-meta" + ] + }, + { + "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-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "type": "string", + "enum": [ + "fs:allow-desktop-write" + ] + }, + { + "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-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-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "type": "string", + "enum": [ + "fs:allow-font-read" + ] + }, + { + "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-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "type": "string", + "enum": [ + "fs:allow-runtime-write" + ] + }, + { + "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-template-write-recursive" + ] + }, + { + "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-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "type": "string", + "enum": [ + "fs:allow-picture-read" + ] + }, + { + "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-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-download-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-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "type": "string", + "enum": [ + "fs:allow-video-write" + ] + }, + { + "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-localdata-write-recursive" + ] + }, + { + "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-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-public-meta-recursive" + ] + }, + { + "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-config-write-recursive" + ] + }, + { + "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-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appconfig-meta-recursive" + ] + }, + { + "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-home-write-recursive" + ] + }, + { + "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-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-font-write-recursive" + ] + }, + { + "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-runtime-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-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-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-localdata-meta-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-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-temp-meta" + ] + }, + { + "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-applocaldata-meta" + ] + }, + { + "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-video-write-recursive" + ] + }, + { + "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-font-meta" + ] + }, + { + "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-audio-meta" + ] + }, + { + "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-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-app-meta" + ] + }, + { + "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-applocaldata-meta-recursive" + ] + }, + { + "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-exe-meta" + ] + }, + { + "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-runtime-meta" + ] + }, + { + "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-cache-meta" + ] + }, + { + "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-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "type": "string", + "enum": [ + "fs:allow-font-write" + ] + }, + { + "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-config-meta" + ] + }, + { + "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-app-write-recursive" + ] + }, + { + "description": "fs:allow-document-meta-recursive -> This allows 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-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "type": "string", + "enum": [ + "fs:allow-document-write" + ] + }, + { + "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-video-meta-recursive" + ] + }, + { + "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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: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-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-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-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-cache-recursive" + ] + }, + { + "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-lstat" + ] + }, + { + "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-applog-recursive" + ] + }, + { + "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-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "type": "string", + "enum": [ + "fs:scope-audio-index" + ] + }, + { + "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-rename" + ] + }, + { + "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-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-desktop-recursive" + ] + }, + { + "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: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:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-remove" + ] + }, + { + "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-exists" + ] + }, + { + "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-stat" + ] + }, + { + "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-truncate" + ] + }, + { + "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:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-picture-recursive" + ] + }, + { + "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-truncate" + ] + }, + { + "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: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: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:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-unwatch" + ] + }, + { + "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-audio-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-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:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-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: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-copy-file -> Denies the copy_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-copy-file" + ] + }, + { + "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:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-lstat" + ] + }, + { + "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-seek -> Denies the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-seek" + ] + }, + { + "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-write" + ] + }, + { + "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:allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-read" + ] + }, + { + "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-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-data-recursive" + ] + }, + { + "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-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-app-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-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-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-font-recursive" + ] + }, + { + "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-remove" + ] + }, + { + "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-applocaldata-recursive" + ] + }, + { + "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-create" + ] + }, + { + "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-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-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-resource-recursive" + ] + }, + { + "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-read" + ] + }, + { + "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: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:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-unwatch" + ] + }, + { + "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-watch" + ] + }, + { + "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-appcache-recursive" + ] + }, + { + "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-ftruncate" + ] + }, + { + "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-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-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-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-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-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:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-create" + ] + }, + { + "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-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-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-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: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: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-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-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:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-read-dir" + ] + }, + { + "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-seek" + ] + }, + { + "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-appconfig-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-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-temp-recursive" + ] + }, + { + "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-rename" + ] + }, + { + "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-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", + "type": "string", + "enum": [ + "fs:scope-resource-index" + ] + }, + { + "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-open" + ] + }, + { + "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-template-recursive" + ] + }, + { + "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-appdata-recursive" + ] + }, + { + "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-read-file" + ] + }, + { + "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-config-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:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-fstat" + ] + }, + { + "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-write" + ] + }, + { + "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-read-dir" + ] + }, + { + "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:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-mkdir" + ] + }, + { + "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-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-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-document-recursive" + ] + }, + { + "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-exe-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-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-home-recursive" + ] + }, + { + "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-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:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-fstat" + ] + }, + { + "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-localdata-recursive" + ] + }, + { + "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-mkdir" + ] + }, + { + "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-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-download-recursive" + ] + }, + { + "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:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "fs:write-files" + ] + }, + { + "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-video-recursive" + ] + }, + { + "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-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "type": "string", + "enum": [ + "fs:scope-data-index" + ] + }, + { + "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "fs:write-all" + ] + }, + { + "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-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:deny-stat -> Denies the stat command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-stat" + ] + }, + { + "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-runtime-recursive" + ] + }, + { + "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-copy-file" + ] + }, + { + "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-open" + ] + }, + { + "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-watch" + ] + }, + { + "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-exists" + ] + }, + { + "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-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "fs:read-dirs" + ] + }, + { + "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-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-log-recursive" + ] + }, + { + "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-write-file" + ] + }, + { + "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "type": "string", + "enum": [ + "fs:scope-public-recursive" + ] + }, + { + "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-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "type": "string", + "enum": [ + "fs:scope-temp-index" + ] + }, + { + "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:allow-write-file" + ] + }, + { + "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:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "fs:deny-ftruncate" + ] + }, + { + "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "fs:read-files" + ] + }, + { + "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-register-all" + ] + }, + { + "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-is-registered" + ] + }, + { + "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-is-registered" + ] + }, + { + "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-register" + ] + }, + { + "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-register-all" + ] + }, + { + "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-unregister" + ] + }, + { + "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-register" + ] + }, + { + "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-unregister-all" + ] + }, + { + "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-unregister-all" + ] + }, + { + "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-unregister" + ] + }, + { + "description": "http:default -> Allows all fetch operations", + "type": "string", + "enum": [ + "http:default" + ] + }, + { + "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "enum": [ + "http:deny-fetch-send" + ] + }, + { + "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 -> Denies the fetch command without any pre-configured scope.", + "type": "string", + "enum": [ + "http:deny-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: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: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 -> Enables the fetch command without any pre-configured scope.", + "type": "string", + "enum": [ + "http:allow-fetch" + ] + }, + { + "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "enum": [ + "http:allow-fetch-send" + ] + }, + { + "description": "log:default -> Allows the log command", + "type": "string", + "enum": [ + "log:default" + ] + }, + { + "description": "log:allow-log -> Enables the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "log:allow-log" + ] + }, + { + "description": "log:deny-log -> Denies the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "log:deny-log" + ] + }, + { + "description": "menu:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "menu:default" + ] + }, + { + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-enabled" + ] + }, + { + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-icon" + ] + }, + { + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-create-default" + ] + }, + { + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-get" + ] + }, + { + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-insert" + ] + }, + { + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-new" + ] + }, + { + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-window-menu" + ] + }, + { + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove-at" + ] + }, + { + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-checked" + ] + }, + { + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-enabled" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" + ] + }, + { + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-prepend" + ] + }, + { + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-create-default" + ] + }, + { + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-text" + ] + }, + { + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-get" + ] + }, + { + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-popup" + ] + }, + { + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove" + ] + }, + { + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-new" + ] + }, + { + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-checked" + ] + }, + { + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-text" + ] + }, + { + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-checked" + ] + }, + { + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-enabled" + ] + }, + { + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-append" + ] + }, + { + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-prepend" + ] + }, + { + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-text" + ] + }, + { + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-items" + ] + }, + { + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-checked" + ] + }, + { + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-items" + ] + }, + { + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-enabled" + ] + }, + { + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-popup" + ] + }, + { + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove" + ] + }, + { + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-app-menu" + ] + }, + { + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-app-menu" + ] + }, + { + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-text" + ] + }, + { + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove-at" + ] + }, + { + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-accelerator" + ] + }, + { + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-accelerator" + ] + }, + { + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-append" + ] + }, + { + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-window-menu" + ] + }, + { + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-insert" + ] + }, + { + "description": "notification:default -> Allows requesting permission, checking permission state and sending notifications", + "type": "string", + "enum": [ + "notification:default" + ] + }, + { + "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-is-permission-granted" + ] + }, + { + "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-notify" + ] + }, + { + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-notify" + ] + }, + { + "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-request-permission" + ] + }, + { + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-request-permission" + ] + }, + { + "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-is-permission-granted" + ] + }, + { + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-locale" + ] + }, + { + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-exe-extension" + ] + }, + { + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-version" + ] + }, + { + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-hostname" + ] + }, + { + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-os-type" + ] + }, + { + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-exe-extension" + ] + }, + { + "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-platform" + ] + }, + { + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-family" + ] + }, + { + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-version" + ] + }, + { + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-arch" + ] + }, + { + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-locale" + ] + }, + { + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-platform" + ] + }, + { + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-arch" + ] + }, + { + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-hostname" + ] + }, + { + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-os-type" + ] + }, + { + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-family" + ] + }, + { + "description": "path:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "path:default" + ] + }, + { + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve-directory" + ] + }, + { + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-is-absolute" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" + ] + }, + { + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-extname" + ] + }, + { + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-is-absolute" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-extname" + ] + }, + { + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, + { + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-join" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" + ] + }, + { + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:allow-exit" + ] + }, + { + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-exit" + ] + }, + { + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:allow-restart" + ] + }, + { + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-restart" + ] + }, + { + "description": "resources:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "resources:default" + ] + }, + { + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:deny-close" + ] + }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, + { + "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:allow-execute" + ] + }, + { + "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:allow-open" + ] + }, + { + "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-kill" + ] + }, + { + "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-execute" + ] + }, + { + "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:allow-kill" + ] + }, + { + "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-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" + ] + }, + { + "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-open" + ] + }, + { + "description": "tray:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "tray:default" + ] + }, + { + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-tooltip" + ] + }, + { + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-visible" + ] + }, + { + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-title" + ] + }, + { + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon-as-template" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" + ] + }, + { + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-menu" + ] + }, + { + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-new" + ] + }, + { + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-new" + ] + }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, + { + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-temp-dir-path" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" + ] + }, + { + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-tooltip" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" + ] + }, + { + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon" + ] + }, + { + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-title" + ] + }, + { + "description": "updater:default -> Allows checking for new updates and installing them", + "type": "string", + "enum": [ + "updater:default" + ] + }, + { + "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:allow-check" + ] + }, + { + "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:deny-download-and-install" + ] + }, + { + "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:allow-download-and-install" + ] + }, + { + "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:deny-check" + ] + }, + { + "description": "window:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "window:default" + ] + }, + { + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximized" + ] + }, + { + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-size" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-grab" + ] + }, + { + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-devtools" + ] + }, + { + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-position" + ] + }, + { + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-minimize" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-current-monitor" + ] + }, + { + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-title" + ] + }, + { + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-decorations" + ] + }, + { + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-max-size" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" + ] + }, + { + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-visible" + ] + }, + { + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-closable" + ] + }, + { + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-size" + ] + }, + { + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-shadow" + ] + }, + { + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-effects" + ] + }, + { + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-print" + ] + }, + { + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-focused" + ] + }, + { + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-size" + ] + }, + { + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-grab" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-position" + ] + }, + { + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-hide" + ] + }, + { + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-position" + ] + }, + { + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-show" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" + ] + }, + { + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-current-monitor" + ] + }, + { + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-bottom" + ] + }, + { + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-print" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-start-dragging" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimized" + ] + }, + { + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-icon" + ] + }, + { + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-decorated" + ] + }, + { + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-position" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-focused" + ] + }, + { + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximizable" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimizable" + ] + }, + { + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-content-protected" + ] + }, + { + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-create" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-theme" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-scale-factor" + ] + }, + { + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-resizable" + ] + }, + { + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-start-dragging" + ] + }, + { + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-fullscreen" + ] + }, + { + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-icon" + ] + }, + { + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-theme" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimizable" + ] + }, + { + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-position" + ] + }, + { + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-position" + ] + }, + { + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-close" + ] + }, + { + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-size" + ] + }, + { + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-available-monitors" + ] + }, + { + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-position" + ] + }, + { + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-hide" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + }, + { + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-title" + ] + }, + { + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-scale-factor" + ] + }, + { + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-close" + ] + }, + { + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-center" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unmaximize" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-resizable" + ] + }, + { + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-create" + ] + }, + { + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-decorations" + ] + }, + { + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-focus" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-title" + ] + }, + { + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-closable" + ] + }, + { + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-maximize" + ] + }, + { + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-fullscreen" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-closable" + ] + }, + { + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-maximizable" + ] + }, + { + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-minimizable" + ] + }, + { + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-primary-monitor" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" + ] + }, + { + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-request-user-attention" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, + { + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-show" + ] + }, + { + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-center" + ] + }, + { + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-devtools" + ] + }, + { + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-visible" + ] + }, + { + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-visible" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" + ] + }, + { + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-fullscreen" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-primary-monitor" + ] + }, + { + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimized" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-request-user-attention" + ] + }, + { + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximized" + ] + }, + { + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-effects" + ] + }, + { + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximizable" + ] + }, + { + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-skip-taskbar" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" + ] + }, + { + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unminimize" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/examples/api/src-tauri/capabilities/.schema.json b/examples/api/src-tauri/capabilities/schemas/mobile-schema.json similarity index 100% rename from examples/api/src-tauri/capabilities/.schema.json rename to examples/api/src-tauri/capabilities/schemas/mobile-schema.json index 850094207..7e9cf117a 100644 --- a/examples/api/src-tauri/capabilities/.schema.json +++ b/examples/api/src-tauri/capabilities/schemas/mobile-schema.json @@ -185,73 +185,73 @@ ] }, { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-version" + "app:allow-tauri-version" ] }, { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-tauri-version" + "app:allow-name" ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-version" + "app:allow-app-show" ] }, { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-show" + "app:deny-app-hide" ] }, { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-tauri-version" + "app:deny-app-show" ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-name" + "app:allow-app-hide" ] }, { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-show" + "app:deny-name" ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-hide" + "app:deny-version" ] }, { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-hide" + "app:deny-tauri-version" ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-name" + "app:allow-version" ] }, { @@ -262,45 +262,45 @@ ] }, { - "description": "barcode-scanner:deny-scan -> Denies the scan command without any pre-configured scope.", + "description": "barcode-scanner:allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:deny-scan" + "barcode-scanner:allow-request-permissions" ] }, { - "description": "barcode-scanner:allow-vibrate -> Enables the vibrate command without any pre-configured scope.", + "description": "barcode-scanner:deny-vibrate -> Denies the vibrate command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-vibrate" + "barcode-scanner:deny-vibrate" ] }, { - "description": "barcode-scanner:allow-scan -> Enables the scan command without any pre-configured scope.", + "description": "barcode-scanner:deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-scan" + "barcode-scanner:deny-open-app-settings" ] }, { - "description": "barcode-scanner:deny-cancel -> Denies the cancel command without any pre-configured scope.", + "description": "barcode-scanner:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:deny-cancel" + "barcode-scanner:allow-check-permissions" ] }, { - "description": "barcode-scanner:deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", + "description": "barcode-scanner:deny-cancel -> Denies the cancel command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:deny-check-permissions" + "barcode-scanner:deny-cancel" ] }, { - "description": "barcode-scanner:deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", + "description": "barcode-scanner:deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:deny-open-app-settings" + "barcode-scanner:deny-check-permissions" ] }, { @@ -311,45 +311,45 @@ ] }, { - "description": "barcode-scanner:allow-cancel -> Enables the cancel command without any pre-configured scope.", + "description": "barcode-scanner:deny-scan -> Denies the scan command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-cancel" + "barcode-scanner:deny-scan" ] }, { - "description": "barcode-scanner:deny-vibrate -> Denies the vibrate command without any pre-configured scope.", + "description": "barcode-scanner:allow-scan -> Enables the scan command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:deny-vibrate" + "barcode-scanner:allow-scan" ] }, { - "description": "barcode-scanner:allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", + "description": "barcode-scanner:allow-vibrate -> Enables the vibrate command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-request-permissions" + "barcode-scanner:allow-vibrate" ] }, { - "description": "barcode-scanner:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", + "description": "barcode-scanner:allow-cancel -> Enables the cancel command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-check-permissions" + "barcode-scanner:allow-cancel" ] }, { - "description": "biometric:deny-authenticate -> Denies the authenticate command without any pre-configured scope.", + "description": "biometric:deny-status -> Denies the status command without any pre-configured scope.", "type": "string", "enum": [ - "biometric:deny-authenticate" + "biometric:deny-status" ] }, { - "description": "biometric:deny-status -> Denies the status command without any pre-configured scope.", + "description": "biometric:deny-authenticate -> Denies the authenticate command without any pre-configured scope.", "type": "string", "enum": [ - "biometric:deny-status" + "biometric:deny-authenticate" ] }, { @@ -366,6 +366,13 @@ "biometric:allow-status" ] }, + { + "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-read" + ] + }, { "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", @@ -381,17 +388,17 @@ ] }, { - "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:allow-read" + "clipboard-manager:deny-read" ] }, { - "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:deny-read" + "dialog:deny-ask" ] }, { @@ -402,80 +409,80 @@ ] }, { - "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-message" + "dialog:allow-ask" ] }, { - "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-open" + "dialog:allow-save" ] }, { - "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-confirm" + "dialog:deny-save" ] }, { - "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-message" + "dialog:allow-open" ] }, { - "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-ask" + "dialog:deny-confirm" ] }, { - "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-open" + "dialog:deny-message" ] }, { - "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-save" + "dialog:allow-message" ] }, { - "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-save" + "dialog:deny-open" ] }, { - "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "description": "event:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "dialog:allow-ask" + "event:default" ] }, { - "description": "event:default -> Default permissions for the plugin.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "event:default" + "event:allow-listen" ] }, { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-listen" + "event:allow-emit" ] }, { @@ -500,143 +507,143 @@ ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "event:deny-listen" ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", "enum": [ - "event:allow-emit" + "fs:allow-desktop-read-recursive" ] }, { - "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-applog-write-recursive" + "fs:allow-data-write-recursive" ] }, { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-cache-read-recursive" + "fs:allow-log-write" ] }, { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-write" + "fs:allow-public-meta" ] }, { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-read-recursive" + "fs:allow-template-meta-recursive" ] }, { - "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-home-meta" + "fs:allow-runtime-read" ] }, { - "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "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-runtime-meta" + "fs:allow-config-read-recursive" ] }, { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-temp-write" + "fs:allow-appconfig-write" ] }, { - "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-config-write-recursive" + "fs:allow-audio-write" ] }, { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-read" + "fs:allow-picture-meta" ] }, { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-runtime-read-recursive" + "fs:allow-applog-read" ] }, { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-template-read" + "fs:allow-cache-write-recursive" ] }, { - "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-appdata-meta-recursive" + "fs:allow-appcache-read" ] }, { - "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-resource-meta-recursive" + "fs:allow-document-read" ] }, { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-runtime-read" + "fs:allow-config-meta-recursive" ] }, { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "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-runtime-write" + "fs:allow-download-read-recursive" ] }, { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-read" + "fs:allow-font-meta-recursive" ] }, { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "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-localdata-write" + "fs:allow-public-read-recursive" ] }, { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-write" + "fs:allow-exe-meta" ] }, { @@ -647,535 +654,535 @@ ] }, { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-appcache-write" + "fs:allow-applocaldata-write" ] }, { - "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appconfig-meta" + "fs:allow-template-write-recursive" ] }, { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-applocaldata-write" + "fs:allow-video-write-recursive" ] }, { - "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-meta" + "fs:allow-localdata-meta-recursive" ] }, { - "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta" + "fs:allow-appdata-meta-recursive" ] }, { - "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-meta-recursive" + "fs:allow-log-meta-recursive" ] }, { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-exe-read" + "fs:allow-audio-read" ] }, { - "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-font-meta" + "fs:allow-exe-meta-recursive" ] }, { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-home-read" + "fs:allow-resource-write" ] }, { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-resource-read-recursive" + "fs:allow-localdata-write-recursive" ] }, { - "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "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-public-write-recursive" + "fs:allow-picture-read-recursive" ] }, { - "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "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-template-meta" + "fs:allow-video-read-recursive" ] }, { - "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-video-write-recursive" + "fs:allow-download-read" ] }, { - "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-meta-recursive" + "fs:allow-temp-meta-recursive" ] }, { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-read-recursive" + "fs:allow-desktop-meta" ] }, { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-read" + "fs:allow-data-meta" ] }, { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-app-read-recursive" + "fs:allow-template-write" ] }, { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-font-write" + "fs:allow-picture-read" ] }, { - "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-meta" + "fs:allow-resource-meta" ] }, { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-write-recursive" + "fs:allow-applocaldata-meta" ] }, { - "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "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-exe-meta-recursive" + "fs:allow-applocaldata-read-recursive" ] }, { - "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-download-write-recursive" + "fs:allow-config-write-recursive" ] }, { - "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-home-write-recursive" + "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": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-public-read-recursive" + "fs:allow-temp-meta" ] }, { - "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-write-recursive" + "fs:allow-data-meta-recursive" ] }, { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-audio-read-recursive" + "fs:allow-video-read" ] }, { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-font-read-recursive" + "fs:allow-appcache-write" ] }, { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-desktop-write" + "fs:allow-appconfig-read" ] }, { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-log-read" + "fs:allow-font-write" ] }, { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-appdata-read" + "fs:allow-app-write" ] }, { - "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-write-recursive" + "fs:allow-document-meta-recursive" ] }, { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", + "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appconfig-write" + "fs:allow-font-write-recursive" ] }, { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-read-recursive" + "fs:allow-download-meta-recursive" ] }, { - "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-meta" + "fs:allow-resource-meta-recursive" ] }, { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-write" + "fs:allow-applocaldata-meta-recursive" ] }, { - "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-meta" + "fs:allow-appconfig-meta-recursive" ] }, { - "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "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-log-meta-recursive" + "fs:allow-appcache-read-recursive" ] }, { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-write" + "fs:allow-app-meta-recursive" ] }, { - "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-picture-write-recursive" + "fs:allow-audio-write-recursive" ] }, { - "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-app-write" + "fs:allow-appdata-write" ] }, { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-desktop-read" + "fs:allow-runtime-meta" ] }, { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "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-data-read" + "fs:allow-appconfig-read-recursive" ] }, { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-audio-write" + "fs:allow-appcache-write-recursive" ] }, { - "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-meta-recursive" + "fs:allow-desktop-meta-recursive" ] }, { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-public-read" + "fs:allow-app-meta" ] }, { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-video-read-recursive" + "fs:allow-applog-write" ] }, { - "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-meta" + "fs:allow-public-meta-recursive" ] }, { - "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "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-font-meta-recursive" + "fs:allow-log-read-recursive" ] }, { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-read" + "fs:allow-appdata-meta" ] }, { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-read" + "fs:allow-data-write" ] }, { - "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-audio-meta" + "fs:allow-resource-read" ] }, { - "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "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-cache-write-recursive" + "fs:allow-localdata-read-recursive" ] }, { - "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-write-recursive" + "fs:allow-appconfig-meta" ] }, { - "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-app-meta" + "fs:allow-applocaldata-write-recursive" ] }, { - "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-document-meta" + "fs:allow-applog-write-recursive" ] }, { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-download-read-recursive" + "fs:allow-download-write-recursive" ] }, { - "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "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-temp-meta" + "fs:allow-font-read-recursive" ] }, { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-video-write" + "fs:allow-runtime-write-recursive" ] }, { - "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-home-meta-recursive" + "fs:allow-runtime-write" ] }, { - "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-document-meta-recursive" + "fs:allow-video-write" ] }, { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-write" + "fs:allow-audio-meta" ] }, { - "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-picture-meta-recursive" + "fs:allow-document-write" ] }, { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-write" + "fs:allow-video-meta" ] }, { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", "type": "string", "enum": [ - "fs:allow-applog-write" + "fs:deny-default" ] }, { - "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-config-meta" + "fs:allow-appdata-read" ] }, { - "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-audio-meta-recursive" + "fs:allow-desktop-write" ] }, { - "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-applog-meta" + "fs:allow-localdata-write" ] }, { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-document-read" + "fs:allow-public-read" ] }, { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "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-exe-read-recursive" + "fs:allow-home-read-recursive" ] }, { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-read-recursive" + "fs:allow-video-meta-recursive" ] }, { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "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-applocaldata-read" + "fs:allow-data-read-recursive" ] }, { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-read-recursive" + "fs:allow-applog-meta" ] }, { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "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-appconfig-read-recursive" + "fs:allow-exe-read-recursive" ] }, { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-appdata-read-recursive" + "fs:allow-font-read" ] }, { - "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-write-recursive" + "fs:allow-font-meta" ] }, { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "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-desktop-read-recursive" + "fs:allow-runtime-read-recursive" ] }, { @@ -1186,38 +1193,38 @@ ] }, { - "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-localdata-write-recursive" + "fs:allow-data-read" ] }, { - "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-app-write-recursive" + "fs:allow-localdata-read" ] }, { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "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-config-read-recursive" + "fs:allow-app-read-recursive" ] }, { - "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-meta" + "fs:allow-log-write-recursive" ] }, { - "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "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-template-write-recursive" + "fs:allow-temp-read-recursive" ] }, { @@ -1228,52 +1235,45 @@ ] }, { - "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-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-write-recursive" + "fs:allow-cache-meta" ] }, { - "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-config-meta-recursive" + "fs:allow-exe-write-recursive" ] }, { - "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-app-meta-recursive" + "fs:allow-temp-read" ] }, { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-read-recursive" + "fs:allow-home-meta" ] }, { - "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-data-meta-recursive" + "fs:allow-temp-write" ] }, { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-font-read" + "fs:allow-app-write-recursive" ] }, { @@ -1284,290 +1284,290 @@ ] }, { - "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-meta" + "fs:allow-picture-meta-recursive" ] }, { - "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-font-write-recursive" + "fs:allow-log-meta" ] }, { - "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta-recursive" + "fs:allow-log-read" ] }, { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-public-write" + "fs:allow-appcache-meta-recursive" ] }, { - "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-write-recursive" + "fs:allow-template-meta" ] }, { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-cache-read" + "fs:allow-desktop-read" ] }, { - "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-runtime-write-recursive" + "fs:allow-template-read" ] }, { - "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-data-write-recursive" + "fs:allow-resource-write-recursive" ] }, { - "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-meta-recursive" + "fs:allow-config-meta" ] }, { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-localdata-read" + "fs:allow-cache-write" ] }, { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-resource-read" + "fs:allow-desktop-write-recursive" ] }, { - "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-temp-meta-recursive" + "fs:allow-document-write-recursive" ] }, { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "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-data-write" + "fs:allow-template-read-recursive" ] }, { - "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "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-public-meta-recursive" + "fs:allow-cache-read-recursive" ] }, { - "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "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-audio-write-recursive" + "fs:allow-appdata-read-recursive" ] }, { - "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-data-meta" + "fs:allow-home-read" ] }, { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-read" + "fs:allow-localdata-meta" ] }, { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-template-read-recursive" + "fs:allow-config-write" ] }, { - "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appdata-write-recursive" + "fs:allow-home-write-recursive" ] }, { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-log-read-recursive" + "fs:allow-picture-write-recursive" ] }, { - "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-meta-recursive" + "fs:allow-document-meta" ] }, { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-read-recursive" + "fs:allow-exe-read" ] }, { - "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-applog-meta-recursive" + "fs:allow-public-write" ] }, { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-picture-write" + "fs:allow-audio-meta-recursive" ] }, { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-log-write" + "fs:allow-public-write-recursive" ] }, { - "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-desktop-meta" + "fs:allow-appcache-meta" ] }, { - "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "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-localdata-meta" + "fs:allow-resource-read-recursive" ] }, { - "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-download-meta" + "fs:allow-cache-read" ] }, { - "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-meta" + "fs:allow-download-meta" ] }, { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-picture-read" + "fs:allow-home-write" ] }, { - "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-desktop-meta-recursive" + "fs:allow-appdata-write-recursive" ] }, { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "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" + "fs:allow-applog-read-recursive" ] }, { - "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-meta-recursive" + "fs:allow-runtime-meta-recursive" ] }, { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-picture-read-recursive" + "fs:allow-exe-write" ] }, { - "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "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-localdata-meta-recursive" + "fs:allow-document-read-recursive" ] }, { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-localdata-read-recursive" + "fs:allow-applocaldata-read" ] }, { - "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-runtime-meta-recursive" + "fs:allow-applog-meta-recursive" ] }, { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:deny-default" + "fs:allow-cache-meta-recursive" ] }, { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-write" + "fs:allow-home-meta-recursive" ] }, { - "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "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-picture-meta" + "fs:allow-audio-read-recursive" ] }, { - "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-desktop-write-recursive" + "fs:allow-appconfig-write-recursive" ] }, { @@ -1578,920 +1578,920 @@ ] }, { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-exe" + "fs:read-files" ] }, { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-read" + "fs:scope-document-recursive" ] }, { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", + "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-truncate" + "fs:scope-log-recursive" ] }, { - "description": "fs:allow-write -> Enables the write command without any pre-configured 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:allow-write" + "fs:scope-app" ] }, { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", "type": "string", "enum": [ - "fs:scope-desktop-index" + "fs:scope-temp-index" ] }, { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "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-home" + "fs:scope-template" ] }, { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", + "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:deny-write-file" + "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": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-app" + "fs:deny-copy-file" ] }, { - "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-appconfig-recursive" + "fs:scope-home-recursive" ] }, { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:allow-remove" + "fs:write-files" ] }, { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-cache" + "fs:deny-read-text-file" ] }, { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", + "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-stat" + "fs:scope-applog-recursive" ] }, { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-write" + "fs:scope-desktop-recursive" ] }, { - "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-exe-recursive" + "fs:scope-template-recursive" ] }, { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-dir" + "fs:deny-seek" ] }, { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", "type": "string", "enum": [ - "fs:scope-video-index" + "fs:scope-cache-index" ] }, { - "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", "type": "string", "enum": [ - "fs:scope-appdata-recursive" + "fs:scope-appdata-index" ] }, { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:allow-ftruncate" + "fs:read-meta" ] }, { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", + "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines-next" + "fs:deny-write-text-file" ] }, { - "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", "type": "string", "enum": [ - "fs:scope-picture-recursive" + "fs:scope-exe-index" ] }, { - "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "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-download-recursive" + "fs:scope-resource" ] }, { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", + "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:allow-create" + "fs:write-all" ] }, { - "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", "type": "string", "enum": [ - "fs:scope-runtime-recursive" + "fs:scope-audio-index" ] }, { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font-index" + "fs:deny-read-dir" ] }, { - "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "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-applocaldata-recursive" + "fs:scope-video" ] }, { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "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:allow-rename" + "fs:scope-exe" ] }, { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "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:allow-fstat" + "fs:scope-audio" ] }, { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", "type": "string", "enum": [ - "fs:scope-applog" + "fs:scope-desktop-index" ] }, { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "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-desktop" + "fs:scope-applocaldata" ] }, { - "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", "type": "string", "enum": [ - "fs:scope-appcache-recursive" + "fs:scope-config-index" ] }, { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-audio-index" + "fs:allow-open" ] }, { - "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-desktop-recursive" + "fs:allow-read-text-file-lines" ] }, { - "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "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:scope-log-recursive" + "fs:deny-webview-data-windows" ] }, { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-config" + "fs:scope-font-recursive" ] }, { - "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", "type": "string", "enum": [ - "fs:scope-config-recursive" + "fs:scope-appconfig-index" ] }, { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-exe-index" + "fs:allow-fstat" ] }, { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-localdata" + "fs:scope-download-recursive" ] }, { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "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-template" + "fs:scope-data" ] }, { - "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-video-recursive" + "fs:deny-stat" ] }, { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "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-dir" + "fs:deny-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.", + "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines-next" + "fs:scope-picture-recursive" ] }, { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", "type": "string", "enum": [ - "fs:deny-rename" + "fs:scope-document-index" ] }, { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", "type": "string", "enum": [ - "fs:allow-write-text-file" + "fs:scope-localdata-index" ] }, { - "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", "type": "string", "enum": [ - "fs:scope-font-recursive" + "fs:scope-resource-index" ] }, { - "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", + "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-resource-index" + "fs:scope-font" ] }, { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", + "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:write-all" + "fs:scope-temp" ] }, { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:write-files" + "fs:deny-read" ] }, { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-truncate" + "fs:allow-ftruncate" ] }, { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "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-data" + "fs:scope-log" ] }, { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", "type": "string", "enum": [ - "fs:scope-font" + "fs:scope-applocaldata-index" ] }, { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp-index" + "fs:deny-write" ] }, { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applocaldata" + "fs:deny-read-file" ] }, { - "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "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-cache-recursive" + "fs:scope-appdata" ] }, { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", + "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-watch" + "fs:deny-fstat" ] }, { - "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": "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:deny-webview-data-windows" + "fs:scope-applog" ] }, { - "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-template-recursive" + "fs:allow-copy-file" ] }, { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-localdata-index" + "fs:deny-open" ] }, { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-open" + "fs:allow-read-text-file" ] }, { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-copy-file" + "fs:scope-appconfig-recursive" ] }, { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines" + "fs:scope-appdata-recursive" ] }, { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", "type": "string", "enum": [ - "fs:read-dirs" + "fs:scope-log-index" ] }, { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appconfig-index" + "fs:allow-watch" ] }, { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", + "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:read-meta" + "fs:allow-write-file" ] }, { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-mkdir" + "fs:deny-write-file" ] }, { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", "type": "string", "enum": [ - "fs:scope-config-index" + "fs:scope-public-index" ] }, { - "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-localdata-recursive" + "fs:scope-video-recursive" ] }, { - "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", + "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture" + "fs:allow-seek" ] }, { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", + "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-video" + "fs:scope-config" ] }, { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-document-index" + "fs:allow-truncate" ] }, { - "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-data-recursive" + "fs:deny-truncate" ] }, { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "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:deny-fstat" + "fs:scope-localdata" ] }, { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appdata" + "fs:deny-remove" ] }, { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-read-file" + "fs:scope-applocaldata-recursive" ] }, { - "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": "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:deny-webview-data-linux" + "fs:scope-home" ] }, { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-file" + "fs:deny-exists" ] }, { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-write-file" + "fs:allow-exists" ] }, { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", + "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:deny-seek" + "fs:scope-appconfig" ] }, { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-copy-file" + "fs:deny-rename" ] }, { - "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", "type": "string", "enum": [ - "fs:scope-public-recursive" + "fs:scope-video-index" ] }, { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-text-file" + "fs:deny-watch" ] }, { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", "type": "string", "enum": [ - "fs:scope-data-index" + "fs:scope-applog-index" ] }, { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", "type": "string", "enum": [ - "fs:scope-temp" + "fs:scope-appcache-index" ] }, { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", + "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:read-all" + "fs:scope-download" ] }, { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-applog-index" + "fs:scope-localdata-recursive" ] }, { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-applocaldata-index" + "fs:scope-temp-recursive" ] }, { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "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:deny-lstat" + "fs:scope-appcache" ] }, { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-runtime" + "fs:allow-create" ] }, { - "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", + "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-public" + "fs:scope-cache-recursive" ] }, { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "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-log" + "fs:scope-document" ] }, { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-lstat" + "fs:deny-create" ] }, { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-exists" + "fs:allow-lstat" ] }, { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", + "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-open" + "fs:scope-data-recursive" ] }, { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", "type": "string", "enum": [ - "fs:deny-mkdir" + "fs:scope-picture-index" ] }, { - "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp-recursive" + "fs:allow-unwatch" ] }, { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-text-file" + "fs:deny-ftruncate" ] }, { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource" + "fs:allow-write" ] }, { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", "type": "string", "enum": [ - "fs:scope-download-index" + "fs:scope-template-index" ] }, { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-ftruncate" + "fs:scope-audio-recursive" ] }, { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appcache" + "fs:deny-unwatch" ] }, { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-unwatch" + "fs:allow-write-text-file" ] }, { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-app-index" + "fs:scope-config-recursive" ] }, { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", + "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", "type": "string", "enum": [ - "fs:deny-create" + "fs:scope-download-index" ] }, { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "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-template-index" + "fs:scope-runtime" ] }, { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-write-text-file" + "fs:scope-appcache-recursive" ] }, { - "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource-recursive" + "fs:allow-rename" ] }, { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "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-audio" + "fs:scope-picture" ] }, { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "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:scope-appconfig" + "fs:allow-read-text-file-lines-next" ] }, { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", "type": "string", "enum": [ - "fs:scope-picture-index" + "fs:scope-font-index" ] }, { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", "type": "string", "enum": [ - "fs:allow-seek" + "fs:scope-runtime-index" ] }, { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-unwatch" + "fs:allow-read-dir" ] }, { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", "type": "string", "enum": [ - "fs:deny-exists" + "fs:scope-home-index" ] }, { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", + "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-watch" + "fs:deny-lstat" ] }, { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "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:scope-appdata-index" + "fs:deny-webview-data-linux" ] }, { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", + "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-stat" + "fs:allow-mkdir" ] }, { - "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "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-applog-recursive" + "fs:scope-cache" ] }, { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines" + "fs:scope-app-index" ] }, { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-remove" + "fs:scope-exe-recursive" ] }, { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-document" + "fs:allow-stat" ] }, { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", + "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:read-files" + "fs:scope-desktop" ] }, { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", + "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:allow-read" + "fs:read-dirs" ] }, { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "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-runtime-index" + "fs:scope-public" ] }, { - "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-document-recursive" + "fs:allow-remove" ] }, { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "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:scope-appcache-index" + "fs:deny-read-text-file-lines-next" ] }, { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-public-index" + "fs:scope-runtime-recursive" ] }, { - "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-home-recursive" + "fs:allow-read-file" ] }, { - "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-app-recursive" + "fs:allow-read" ] }, { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-log-index" + "fs:scope-public-recursive" ] }, { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-home-index" + "fs:scope-app-recursive" ] }, { - "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-audio-recursive" + "fs:scope-resource-recursive" ] }, { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", "type": "string", "enum": [ - "fs:scope-cache-index" + "fs:scope-data-index" ] }, { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-download" + "fs:deny-mkdir" ] }, { @@ -2502,52 +2502,52 @@ ] }, { - "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", + "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-read-body" + "http:allow-fetch" ] }, { - "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-send" + "http:allow-fetch-read-body" ] }, { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-cancel" + "http:allow-fetch-send" ] }, { - "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-send" + "http:allow-fetch-cancel" ] }, { - "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", + "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-read-body" + "http:deny-fetch-cancel" ] }, { - "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", + "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-cancel" + "http:deny-fetch-send" ] }, { - "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", + "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch" + "http:deny-fetch-read-body" ] }, { @@ -2586,115 +2586,115 @@ ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "menu:allow-popup" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-append" + "menu:deny-append" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "menu:deny-popup" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "menu:allow-set-icon" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:allow-new" ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "menu:deny-set-icon" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "menu:deny-set-text" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:deny-new" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:deny-set-accelerator" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "menu:allow-is-checked" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:allow-remove" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:deny-set-as-app-menu" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "menu:allow-set-text" ] }, { @@ -2705,122 +2705,122 @@ ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:deny-insert" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:allow-text" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "menu:deny-items" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:deny-set-enabled" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:allow-set-accelerator" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:allow-remove-at" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:allow-set-as-app-menu" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:deny-create-default" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "menu:allow-is-enabled" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "menu:deny-text" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:allow-set-checked" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "menu:allow-set-enabled" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:allow-create-default" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "menu:deny-get" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:deny-is-enabled" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "menu:deny-prepend" ] }, { @@ -2831,45 +2831,45 @@ ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:deny-is-checked" ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:allow-get" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "menu:allow-prepend" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:allow-insert" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:allow-items" ] }, { @@ -2880,31 +2880,31 @@ ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:deny-set-checked" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:allow-append" ] }, { - "description": "nfc:allow-scan -> Enables the scan command without any pre-configured scope.", + "description": "nfc:deny-scan -> Denies the scan command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:allow-scan" + "nfc:deny-scan" ] }, { - "description": "nfc:allow-write -> Enables the write command without any pre-configured scope.", + "description": "nfc:allow-scan -> Enables the scan command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:allow-write" + "nfc:allow-scan" ] }, { @@ -2915,24 +2915,24 @@ ] }, { - "description": "nfc:allow-is-available -> Enables the is_available command without any pre-configured scope.", + "description": "nfc:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:allow-is-available" + "nfc:deny-write" ] }, { - "description": "nfc:deny-write -> Denies the write command without any pre-configured scope.", + "description": "nfc:allow-is-available -> Enables the is_available command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:deny-write" + "nfc:allow-is-available" ] }, { - "description": "nfc:deny-scan -> Denies the scan command without any pre-configured scope.", + "description": "nfc:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:deny-scan" + "nfc:allow-write" ] }, { @@ -2949,13 +2949,6 @@ "notification:deny-notify" ] }, - { - "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-request-permission" - ] - }, { "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", "type": "string", @@ -2964,10 +2957,10 @@ ] }, { - "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-is-permission-granted" + "notification:deny-request-permission" ] }, { @@ -2985,52 +2978,52 @@ ] }, { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-hostname" + "notification:deny-is-permission-granted" ] }, { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-os-type" + "os:allow-locale" ] }, { - "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-platform" + "os:deny-exe-extension" ] }, { - "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-locale" + "os:allow-os-type" ] }, { - "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-arch" + "os:allow-platform" ] }, { - "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-version" + "os:deny-locale" ] }, { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-exe-extension" + "os:allow-version" ] }, { @@ -3041,10 +3034,17 @@ ] }, { - "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-version" + "os:deny-os-type" + ] + }, + { + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-hostname" ] }, { @@ -3055,45 +3055,45 @@ ] }, { - "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-family" + "os:deny-arch" ] }, { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-os-type" + "os:allow-arch" ] }, { - "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-hostname" + "os:deny-family" ] }, { - "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-locale" + "os:allow-hostname" ] }, { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-platform" + "os:deny-version" ] }, { - "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-arch" + "os:deny-platform" ] }, { @@ -3104,24 +3104,24 @@ ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "path:deny-normalize" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "path:allow-is-absolute" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "path:allow-extname" ] }, { @@ -3132,38 +3132,38 @@ ] }, { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-extname" + "path:allow-normalize" ] }, { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-is-absolute" + "path:deny-extname" ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "path:allow-resolve" ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "path:deny-is-absolute" ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "path:allow-resolve-directory" ] }, { @@ -3174,24 +3174,24 @@ ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-normalize" + "path:deny-join" ] }, { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve" + "path:allow-join" ] }, { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-extname" + "path:deny-resolve-directory" ] }, { @@ -3202,17 +3202,17 @@ ] }, { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-join" + "path:allow-basename" ] }, { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve" + "path:deny-resolve" ] }, { @@ -3223,24 +3223,24 @@ ] }, { - "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-exit" + "process:deny-exit" ] }, { - "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-restart" + "process:allow-exit" ] }, { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-exit" + "process:deny-restart" ] }, { @@ -3272,17 +3272,17 @@ ] }, { - "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", + "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-execute" + "shell:allow-open" ] }, { - "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", + "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-kill" + "shell:allow-execute" ] }, { @@ -3293,31 +3293,31 @@ ] }, { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-execute" + "shell:deny-execute" ] }, { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-stdin-write" + "shell:deny-open" ] }, { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-open" + "shell:allow-stdin-write" ] }, { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-open" + "shell:deny-kill" ] }, { @@ -3328,66 +3328,66 @@ ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "tray:allow-new" ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "tray:deny-set-show-menu-on-left-click" ] }, { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-tooltip" + "tray:allow-set-icon-as-template" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "tray:allow-set-show-menu-on-left-click" ] }, { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-tooltip" + "tray:deny-set-menu" ] }, { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "tray:deny-set-title" ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-title" + "tray:deny-set-icon" ] }, { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon" + "tray:deny-set-icon-as-template" ] }, { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-show-menu-on-left-click" + "tray:allow-set-tooltip" ] }, { @@ -3398,59 +3398,59 @@ ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-menu" + "tray:allow-set-title" ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-new" + "tray:deny-new" ] }, { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon-as-template" + "tray:allow-set-icon" ] }, { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-new" + "tray:allow-set-temp-dir-path" ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "tray:allow-set-visible" ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "tray:deny-set-visible" ] }, { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon-as-template" + "tray:deny-set-tooltip" ] }, { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon" + "tray:deny-set-temp-dir-path" ] }, { @@ -3461,276 +3461,276 @@ ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:allow-close" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:allow-print" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:allow-set-min-size" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:allow-center" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:deny-is-closable" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:allow-theme" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:allow-maximize" ] }, { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-max-size" + "window:allow-set-cursor-grab" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:deny-scale-factor" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:allow-set-minimizable" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:allow-set-content-protected" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:allow-create" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:deny-minimize" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:allow-set-resizable" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-set-resizable" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:allow-toggle-maximize" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:allow-set-position" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:allow-set-effects" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:deny-set-cursor-grab" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "window:deny-set-minimizable" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:deny-start-dragging" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:allow-set-cursor-icon" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:allow-is-visible" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:allow-set-maximizable" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:deny-set-maximizable" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:deny-set-content-protected" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:allow-set-cursor-position" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:deny-set-ignore-cursor-events" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:allow-is-focused" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:allow-set-focus" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:allow-set-closable" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:allow-is-resizable" ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "window:deny-inner-size" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:deny-set-icon" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "window:allow-outer-size" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "window:allow-title" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:deny-set-shadow" ] }, { @@ -3741,262 +3741,255 @@ ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-available-monitors" - ] - }, - { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "window:deny-unmaximize" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:allow-scale-factor" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:deny-primary-monitor" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:allow-minimize" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:deny-set-position" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:allow-primary-monitor" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:allow-unminimize" ] }, { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-skip-taskbar" + "window:allow-is-fullscreen" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:allow-show" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-set-effects" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:allow-set-cursor-visible" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:deny-create" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:allow-set-fullscreen" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:allow-set-always-on-top" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "window:deny-unminimize" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:deny-set-progress-bar" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:deny-toggle-maximize" ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:allow-available-monitors" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:deny-is-focused" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:deny-set-cursor-position" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:allow-set-decorations" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:deny-internal-toggle-devtools" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:allow-is-maximizable" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:allow-is-minimizable" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:deny-set-title" ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:deny-title" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:deny-available-monitors" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "window:allow-is-minimized" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:deny-is-minimizable" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:deny-is-maximized" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:allow-outer-position" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:deny-maximize" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:deny-set-max-size" ] }, { @@ -4007,108 +4000,108 @@ ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-is-maximized" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:deny-theme" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:allow-start-dragging" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:deny-set-size" ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "window:deny-set-closable" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:deny-set-cursor-visible" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:deny-is-resizable" ] }, { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-devtools" + "window:deny-outer-size" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:deny-request-user-attention" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:deny-inner-position" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:allow-inner-position" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:allow-internal-toggle-devtools" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:deny-set-decorations" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:allow-set-title" ] }, { @@ -4119,115 +4112,115 @@ ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:allow-is-decorated" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:allow-hide" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:deny-set-min-size" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:deny-close" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:deny-is-fullscreen" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:allow-request-user-attention" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:allow-set-size" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:deny-is-minimized" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:deny-is-visible" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:allow-current-monitor" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:deny-outer-position" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:allow-inner-size" ] }, { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-size" + "window:deny-hide" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:allow-is-closable" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:deny-set-focus" ] }, { @@ -4238,66 +4231,73 @@ ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:deny-center" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:deny-is-maximizable" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:allow-set-icon" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:deny-set-always-on-top" ] }, { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-position" + "window:deny-print" ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-print" + "window:deny-show" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:allow-set-progress-bar" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:deny-current-monitor" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:allow-set-max-size" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" ] } ] From e404c33878b674ff4549111a180295ec93277058 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Fri, 19 Jan 2024 09:51:57 -0300 Subject: [PATCH 09/35] update capabilities [skip ci] --- Cargo.lock | 16 +- .../api/src-tauri/capabilities/desktop.json | 4 +- .../api/src-tauri/capabilities/mobile.json | 3 +- .../capabilities/schemas/desktop-schema.json | 2327 ++++++++--------- .../examples/app/src-tauri/.gitignore | 2 + .../app/src-tauri/capabilities/.schema.json | 1765 ------------- .../examples/vanilla/src-tauri/.gitignore | 2 + .../src-tauri/capabilities/.schema.json | 1744 ------------ plugins/updater/tests/app-updater/.gitignore | 1 + .../app-updater/capabilities/.schema.json | 1779 ------------- .../examples/svelte-app/src-tauri/.gitignore | 2 + .../src-tauri/capabilities/.schema.json | 1779 ------------- 12 files changed, 1178 insertions(+), 8246 deletions(-) delete mode 100644 plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json delete mode 100644 plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json delete mode 100644 plugins/updater/tests/app-updater/capabilities/.schema.json delete mode 100644 plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json diff --git a/Cargo.lock b/Cargo.lock index a75c03158..f258f6d7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5844,7 +5844,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" dependencies = [ "anyhow", "bytes 1.5.0", @@ -5896,7 +5896,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" dependencies = [ "anyhow", "cargo_toml", @@ -5921,7 +5921,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" dependencies = [ "base64 0.21.5", "brotli", @@ -5946,7 +5946,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" dependencies = [ "heck", "proc-macro2", @@ -5959,7 +5959,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "0.1.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" dependencies = [ "cargo_metadata", "glob", @@ -6409,7 +6409,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" dependencies = [ "gtk", "http", @@ -6426,7 +6426,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6446,7 +6446,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#053ade4e7b0e9fe2a7016ddfb0886588aa96be33" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/examples/api/src-tauri/capabilities/desktop.json b/examples/api/src-tauri/capabilities/desktop.json index a860c760b..fab507ebf 100644 --- a/examples/api/src-tauri/capabilities/desktop.json +++ b/examples/api/src-tauri/capabilities/desktop.json @@ -6,7 +6,9 @@ "main" ], "platforms": [ - "desktop" + "linux", + "macOS", + "windows" ], "permissions": [ "cli:default", diff --git a/examples/api/src-tauri/capabilities/mobile.json b/examples/api/src-tauri/capabilities/mobile.json index 4798deb70..cb8cbc9ab 100644 --- a/examples/api/src-tauri/capabilities/mobile.json +++ b/examples/api/src-tauri/capabilities/mobile.json @@ -6,7 +6,8 @@ "main" ], "platforms": [ - "mobile" + "android", + "iOS" ], "permissions": [ "nfc:allow-write", diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index c45aef17e..0ccbaed41 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -66,12 +66,15 @@ "platforms": { "description": "Target platforms this capability applies. By default all platforms applies.", "default": [ - "desktop", - "mobile" + "linux", + "macOS", + "windows", + "android", + "iOS" ], "type": "array", "items": { - "$ref": "#/definitions/CapabilityPlatform" + "$ref": "#/definitions/Target" } }, "windows": { @@ -120,60 +123,6 @@ } ] }, - "CapabilityPlatform": { - "description": "Target platform of a capability.", - "oneOf": [ - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "macOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS", - "type": "string", - "enum": [ - "iOS" - ] - }, - { - "description": "Desktop.", - "type": "string", - "enum": [ - "desktop" - ] - }, - { - "description": "Mobile.", - "type": "string", - "enum": [ - "mobile" - ] - } - ] - }, "Identifier": { "description": "Permission identifier", "oneOf": [ @@ -185,24 +134,24 @@ ] }, { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-show" + "app:deny-tauri-version" ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-hide" + "app:allow-app-show" ] }, { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-show" + "app:allow-app-hide" ] }, { @@ -213,31 +162,31 @@ ] }, { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-version" + "app:deny-app-hide" ] }, { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-tauri-version" + "app:deny-name" ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-name" + "app:deny-app-show" ] }, { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-hide" + "app:deny-version" ] }, { @@ -248,10 +197,10 @@ ] }, { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-tauri-version" + "app:allow-tauri-version" ] }, { @@ -262,17 +211,17 @@ ] }, { - "description": "cli:deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", + "description": "cli:allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", "type": "string", "enum": [ - "cli:deny-cli-matches" + "cli:allow-cli-matches" ] }, { - "description": "cli:allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", + "description": "cli:deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", "type": "string", "enum": [ - "cli:allow-cli-matches" + "cli:deny-cli-matches" ] }, { @@ -283,17 +232,17 @@ ] }, { - "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", + "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:deny-write" + "clipboard-manager:allow-read" ] }, { - "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:allow-read" + "clipboard-manager:deny-write" ] }, { @@ -303,6 +252,13 @@ "clipboard-manager:deny-read" ] }, + { + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-ask" + ] + }, { "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", @@ -310,6 +266,13 @@ "dialog:allow-open" ] }, + { + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-open" + ] + }, { "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", "type": "string", @@ -325,24 +288,24 @@ ] }, { - "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-ask" + "dialog:deny-confirm" ] }, { - "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-save" + "dialog:allow-message" ] }, { - "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-open" + "dialog:allow-save" ] }, { @@ -353,38 +316,45 @@ ] }, { - "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-confirm" + "dialog:allow-confirm" ] }, { - "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "description": "event:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "dialog:allow-message" + "event:default" ] }, { - "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-confirm" + "event:allow-listen" ] }, { - "description": "event:default -> Default permissions for the plugin.", + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:default" + "event:deny-emit" ] }, { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-emit" + "event:deny-listen" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" ] }, { @@ -402,52 +372,52 @@ ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", "type": "string", "enum": [ - "event:allow-listen" + "fs:allow-home-read" ] }, { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "event:deny-listen" + "fs:allow-cache-meta-recursive" ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "event:allow-emit" + "fs:allow-applocaldata-meta-recursive" ] }, { - "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-picture-write-recursive" + "fs:allow-public-write" ] }, { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-exe-read" + "fs:allow-resource-write-recursive" ] }, { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-font-read-recursive" + "fs:allow-resource-meta" ] }, { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-appcache-write" + "fs:allow-template-write" ] }, { @@ -458,269 +428,269 @@ ] }, { - "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-meta-recursive" + "fs:allow-config-meta-recursive" ] }, { - "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-cache-write-recursive" + "fs:allow-desktop-read" ] }, { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-read-recursive" + "fs:allow-desktop-meta" ] }, { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-data-read-recursive" + "fs:allow-exe-write" ] }, { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-home-read-recursive" + "fs:allow-config-write-recursive" ] }, { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-read" + "fs:allow-applocaldata-write-recursive" ] }, { - "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-meta" + "fs:allow-log-meta" ] }, { - "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-config-meta-recursive" + "fs:allow-appcache-write" ] }, { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-document-read-recursive" + "fs:allow-download-read" ] }, { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "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-applog-write" + "fs:allow-download-read-recursive" ] }, { - "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-localdata-meta" + "fs:allow-picture-read" ] }, { - "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-app-write" + "fs:allow-audio-write-recursive" ] }, { - "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-meta-recursive" + "fs:allow-resource-meta-recursive" ] }, { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-read" + "fs:allow-config-meta" ] }, { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-read-recursive" + "fs:allow-appdata-meta" ] }, { - "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-write-recursive" + "fs:allow-document-meta-recursive" ] }, { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-read-recursive" + "fs:allow-localdata-write-recursive" ] }, { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-resource-write" + "fs:allow-public-write-recursive" ] }, { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-localdata-read-recursive" + "fs:allow-runtime-write" ] }, { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-runtime-read" + "fs:allow-data-write-recursive" ] }, { - "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "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-desktop-meta-recursive" + "fs:allow-config-read-recursive" ] }, { - "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-picture-meta" + "fs:allow-resource-read" ] }, { - "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-meta" + "fs:allow-template-meta" ] }, { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-write" + "fs:allow-video-meta" ] }, { - "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "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-app-meta-recursive" + "fs:allow-document-read-recursive" ] }, { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-resource-read" + "fs:allow-desktop-write-recursive" ] }, { - "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-appdata-meta" + "fs:allow-audio-read" ] }, { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", + "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-exe-write" + "fs:allow-download-write" ] }, { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appcache-read" + "fs:allow-exe-write-recursive" ] }, { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "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-applocaldata-read" + "fs:allow-runtime-read-recursive" ] }, { - "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "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-temp-write-recursive" + "fs:allow-app-read-recursive" ] }, { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "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-document-read" + "fs:allow-picture-read-recursive" ] }, { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-appdata-write" + "fs:allow-appcache-read" ] }, { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "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-download-read-recursive" + "fs:allow-audio-read-recursive" ] }, { - "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-public-write-recursive" + "fs:allow-document-write" ] }, { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-read" + "fs:allow-exe-meta" ] }, { - "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-document-write-recursive" + "fs:allow-cache-write-recursive" ] }, { - "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-meta-recursive" + "fs:allow-localdata-meta-recursive" ] }, { @@ -731,1704 +701,1690 @@ ] }, { - "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-write-recursive" + "fs:allow-cache-meta" ] }, { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-write" + "fs:allow-public-meta-recursive" ] }, { - "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-meta" + "fs:allow-app-meta-recursive" ] }, { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-download-read" + "fs:allow-exe-read" ] }, { - "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-log-meta" + "fs:allow-temp-write-recursive" ] }, { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-write-recursive" + "fs:allow-appdata-read" ] }, { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-home-read" + "fs:allow-data-write" ] }, { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-read" + "fs:allow-appconfig-meta" ] }, { - "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "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-appcache-meta-recursive" + "fs:allow-exe-read-recursive" ] }, { - "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-meta" + "fs:allow-audio-meta" ] }, { - "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-applog-meta-recursive" + "fs:allow-picture-write" ] }, { - "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appconfig-meta" + "fs:allow-log-write-recursive" ] }, { - "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-meta-recursive" + "fs:allow-appdata-meta-recursive" ] }, { - "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-meta" + "fs:allow-font-meta-recursive" ] }, { - "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-write-recursive" + "fs:allow-exe-meta-recursive" ] }, { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-read" + "fs:allow-runtime-meta" ] }, { - "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-write-recursive" + "fs:allow-runtime-meta-recursive" ] }, { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-runtime-read-recursive" + "fs:allow-app-write-recursive" ] }, { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-data-write" + "fs:allow-runtime-write-recursive" ] }, { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-write" + "fs:allow-public-meta" ] }, { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-picture-read-recursive" + "fs:allow-applocaldata-read" ] }, { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-desktop-read" + "fs:allow-applog-meta-recursive" ] }, { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-read-recursive" + "fs:allow-applog-meta" ] }, { - "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-home-meta-recursive" + "fs:allow-video-read" ] }, { - "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-audio-write-recursive" + "fs:allow-public-read" ] }, { - "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-font-meta-recursive" + "fs:allow-app-read" ] }, { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-resource-read-recursive" + "fs:allow-data-read" ] }, { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "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-log-read" + "fs:allow-applocaldata-read-recursive" ] }, { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-cache-write" + "fs:allow-cache-read" ] }, { - "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-temp-meta-recursive" + "fs:allow-applog-write" ] }, { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-desktop-read-recursive" + "fs:allow-audio-meta-recursive" ] }, { - "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-write-recursive" + "fs:allow-template-meta-recursive" ] }, { - "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-applog-write-recursive" + "fs:allow-cache-write" ] }, { - "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-meta" + "fs:allow-home-meta-recursive" ] }, { - "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "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-data-meta-recursive" + "fs:allow-public-read-recursive" ] }, { - "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-runtime-write-recursive" + "fs:allow-log-meta-recursive" ] }, { - "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-appdata-write-recursive" + "fs:allow-localdata-read" ] }, { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-read" + "fs:allow-temp-meta" ] }, { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "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-template-read" + "fs:allow-resource-read-recursive" ] }, { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-read-recursive" + "fs:allow-localdata-meta" ] }, { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-temp-read-recursive" + "fs:allow-font-write" ] }, { - "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "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-write-recursive" + "fs:allow-appconfig-read-recursive" ] }, { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", + "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-read" + "fs:allow-app-meta" ] }, { - "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "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-desktop-write-recursive" + "fs:allow-log-read-recursive" ] }, { - "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-home-meta" + "fs:allow-home-write" ] }, { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-log-write" + "fs:allow-temp-write" ] }, { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-read" + "fs:allow-data-meta" ] }, { - "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-data-write-recursive" + "fs:allow-appconfig-read" ] }, { - "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-log-meta-recursive" + "fs:allow-log-write" ] }, { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-public-write" + "fs:allow-config-write" ] }, { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-read-recursive" + "fs:allow-data-meta-recursive" ] }, { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:deny-default" + "fs:allow-home-write-recursive" ] }, { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", + "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-download-write" + "fs:allow-applog-write-recursive" ] }, { - "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-resource-meta" + "fs:allow-runtime-read" ] }, { - "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-template-meta-recursive" + "fs:allow-appcache-write-recursive" ] }, { - "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-resource-meta-recursive" + "fs:allow-document-write-recursive" ] }, { - "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "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-picture-meta-recursive" + "fs:allow-template-read-recursive" ] }, { - "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-desktop-meta" + "fs:allow-video-write" ] }, { - "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", + "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-app-read" + "fs:allow-appdata-write-recursive" ] }, { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-log-read-recursive" + "fs:allow-applocaldata-write" ] }, { - "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "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-public-meta" + "fs:allow-home-read-recursive" ] }, { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "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-audio-read" + "fs:allow-data-read-recursive" ] }, { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "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-write" + "fs:allow-desktop-read-recursive" ] }, { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-write" + "fs:allow-temp-meta-recursive" ] }, { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-read-recursive" + "fs:allow-font-meta" ] }, { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-font-read" + "fs:allow-applocaldata-meta" ] }, { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-audio-write" + "fs:allow-template-write-recursive" ] }, { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-runtime-write" + "fs:allow-log-read" ] }, { - "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "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-template-write-recursive" + "fs:allow-video-read-recursive" ] }, { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", "type": "string", "enum": [ - "fs:allow-exe-read-recursive" + "fs:deny-default" ] }, { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-picture-read" + "fs:allow-localdata-write" ] }, { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-write" + "fs:allow-desktop-meta-recursive" ] }, { - "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-meta-recursive" + "fs:allow-appcache-meta-recursive" ] }, { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-read" + "fs:allow-picture-meta" ] }, { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-write" + "fs:allow-picture-meta-recursive" ] }, { - "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-localdata-write-recursive" + "fs:allow-app-write" ] }, { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-audio-read-recursive" + "fs:allow-font-read" ] }, { - "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-meta-recursive" + "fs:allow-appconfig-write-recursive" ] }, { - "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-write-recursive" + "fs:allow-download-meta" ] }, { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-read-recursive" + "fs:allow-desktop-write" ] }, { - "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "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-appconfig-meta-recursive" + "fs:allow-temp-read-recursive" ] }, { - "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-home-write-recursive" + "fs:allow-config-read" ] }, { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-read-recursive" + "fs:allow-document-read" ] }, { - "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-font-write-recursive" + "fs:allow-video-meta-recursive" ] }, { - "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-runtime-meta-recursive" + "fs:allow-applog-read" ] }, { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "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-temp-read" + "fs:allow-font-read-recursive" ] }, { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-read-recursive" + "fs:allow-home-meta" ] }, { - "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-meta-recursive" + "fs:allow-appcache-meta" ] }, { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-picture-write" + "fs:allow-download-write-recursive" ] }, { - "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-temp-meta" + "fs:allow-picture-write-recursive" ] }, { - "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta" + "fs:allow-appdata-write" ] }, { - "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "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-video-write-recursive" + "fs:allow-appcache-read-recursive" ] }, { - "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-font-meta" + "fs:allow-audio-write" ] }, { - "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "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-audio-meta" + "fs:allow-cache-read-recursive" ] }, { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-config-write" + "fs:allow-temp-read" ] }, { - "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-app-meta" + "fs:allow-video-write-recursive" ] }, { - "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta-recursive" + "fs:allow-font-write-recursive" ] }, { - "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-exe-meta" + "fs:allow-resource-write" ] }, { - "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-runtime-meta" + "fs:allow-template-read" ] }, { - "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-meta" + "fs:allow-download-meta-recursive" ] }, { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "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-applog-read-recursive" + "fs:allow-appdata-read-recursive" ] }, { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "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-font-write" + "fs:allow-localdata-read-recursive" ] }, { - "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "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-config-meta" + "fs:allow-applog-read-recursive" ] }, { - "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-write-recursive" + "fs:allow-appconfig-meta-recursive" ] }, { - "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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:allow-document-meta-recursive" + "fs:default" ] }, { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "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:allow-document-write" + "fs:scope-audio" ] }, { - "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", "type": "string", "enum": [ - "fs:allow-video-meta-recursive" + "fs:scope-audio-index" ] }, { - "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:default" + "fs:scope-picture-recursive" ] }, { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "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-cache-index" + "fs:scope-temp" ] }, { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-applog-index" + "fs:read-dirs" ] }, { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-desktop-index" + "fs:scope-log-recursive" ] }, { - "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-cache-recursive" + "fs:write-all" ] }, { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-lstat" + "fs:allow-exists" ] }, { - "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applog-recursive" + "fs:deny-read-dir" ] }, { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "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-runtime-index" + "fs:scope-appcache" ] }, { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-audio-index" + "fs:scope-app-recursive" ] }, { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-rename" + "fs:scope-download-recursive" ] }, { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applocaldata-index" + "fs:deny-seek" ] }, { - "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-desktop-recursive" + "fs:deny-watch" ] }, { - "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": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-webview-data-windows" + "fs:deny-lstat" ] }, { - "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", + "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-public" + "fs:allow-stat" ] }, { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", + "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:allow-remove" + "fs:scope-public" ] }, { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", "type": "string", "enum": [ - "fs:deny-exists" + "fs:scope-resource-index" ] }, { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", + "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", "type": "string", "enum": [ - "fs:allow-stat" + "fs:scope-runtime-index" ] }, { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "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:deny-truncate" + "fs:scope-video" ] }, { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "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:deny-write-text-file" + "fs:scope-font" ] }, { - "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture-recursive" + "fs:deny-copy-file" ] }, { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", + "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:allow-truncate" + "fs:scope-appconfig" ] }, { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "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-document-index" + "fs:scope-applocaldata" ] }, { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", "type": "string", "enum": [ - "fs:allow-write-text-file" + "fs:scope-applocaldata-index" ] }, { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "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:deny-read-text-file-lines" + "fs:scope-data" ] }, { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-unwatch" + "fs:scope-localdata-recursive" ] }, { - "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-audio-recursive" + "fs:deny-read-text-file" ] }, { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font" + "fs:allow-write-text-file" ] }, { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", "type": "string", "enum": [ - "fs:scope-cache" + "fs:scope-temp-index" ] }, { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-read-file" + "fs:scope-document-recursive" ] }, { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-read-text-file" + "fs:scope-audio-recursive" ] }, { - "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": "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:deny-webview-data-linux" + "fs:scope-document" ] }, { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", "type": "string", "enum": [ - "fs:deny-copy-file" + "fs:scope-exe-index" ] }, { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", + "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:scope-video" + "fs:deny-webview-data-windows" ] }, { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-lstat" + "fs:allow-remove" ] }, { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", + "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines-next" + "fs:scope-template-recursive" ] }, { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", + "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-seek" + "fs:allow-watch" ] }, { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:deny-write" + "fs:read-all" ] }, { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-download" + "fs:scope-exe-recursive" ] }, { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", + "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read" + "fs:allow-create" ] }, { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource" + "fs:deny-write" ] }, { - "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", "type": "string", "enum": [ - "fs:scope-data-recursive" + "fs:scope-home-index" ] }, { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "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-localdata-index" + "fs:scope-log" ] }, { - "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-app-recursive" + "fs:allow-read-file" ] }, { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", "type": "string", "enum": [ - "fs:scope-document" + "fs:scope-font-index" ] }, { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "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-appdata-index" + "fs:scope-runtime" ] }, { - "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-font-recursive" + "fs:scope-applocaldata-recursive" ] }, { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", "type": "string", "enum": [ - "fs:deny-remove" + "fs:scope-config-index" ] }, { - "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "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:scope-applocaldata-recursive" + "fs:deny-read-text-file-lines-next" ] }, { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", + "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-create" + "fs:allow-unwatch" ] }, { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "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-font-index" + "fs:scope-picture" ] }, { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-localdata" + "fs:allow-read-dir" ] }, { - "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource-recursive" + "fs:deny-write-text-file" ] }, { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-read" + "fs:scope-font-recursive" ] }, { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", "type": "string", "enum": [ - "fs:deny-read-text-file" + "fs:scope-data-index" ] }, { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-video-index" + "fs:deny-unwatch" ] }, { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-unwatch" + "fs:scope-video-recursive" ] }, { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", + "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-watch" + "fs:scope-appconfig-recursive" ] }, { - "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", "type": "string", "enum": [ - "fs:scope-appcache-recursive" + "fs:scope-picture-index" ] }, { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-ftruncate" + "fs:deny-remove" ] }, { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "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-applocaldata" + "fs:scope-cache" ] }, { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-log" + "fs:allow-truncate" ] }, { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-appconfig" + "fs:scope-resource-recursive" ] }, { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-config" + "fs:allow-read-text-file-lines" ] }, { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", "type": "string", "enum": [ - "fs:scope-public-index" + "fs:scope-video-index" ] }, { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-template" + "fs:allow-copy-file" ] }, { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", + "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", "type": "string", "enum": [ - "fs:deny-create" + "fs:scope-template-index" ] }, { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-log-index" + "fs:scope-temp-recursive" ] }, { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-download-index" + "fs:deny-ftruncate" ] }, { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-app-index" + "fs:deny-create" ] }, { - "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", + "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture" + "fs:allow-read" ] }, { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines" + "fs:write-files" ] }, { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", + "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", "type": "string", "enum": [ - "fs:read-meta" + "fs:scope-log-index" ] }, { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applog" + "fs:allow-ftruncate" ] }, { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-audio" + "fs:scope-appdata-recursive" ] }, { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", "type": "string", "enum": [ - "fs:deny-read-dir" + "fs:scope-applog-index" ] }, { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-seek" + "fs:allow-rename" ] }, { - "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", "type": "string", "enum": [ - "fs:scope-appconfig-recursive" + "fs:scope-download-index" ] }, { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-home" + "fs:scope-cache-recursive" ] }, { - "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp-recursive" + "fs:deny-write-file" ] }, { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", "type": "string", "enum": [ - "fs:deny-rename" + "fs:scope-cache-index" ] }, { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "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-config-index" + "fs:scope-template" ] }, { - "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", + "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource-index" + "fs:deny-read-file" ] }, { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", "type": "string", "enum": [ - "fs:allow-open" + "fs:scope-appcache-index" ] }, { - "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-template-recursive" + "fs:scope-home-recursive" ] }, { - "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appdata-recursive" + "fs:deny-exists" ] }, { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", "type": "string", "enum": [ - "fs:allow-read-file" + "fs:scope-public-index" ] }, { - "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", "type": "string", "enum": [ - "fs:scope-config-recursive" + "fs:scope-appdata-index" ] }, { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", "type": "string", "enum": [ - "fs:scope-appcache" + "fs:scope-desktop-index" ] }, { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", "type": "string", "enum": [ - "fs:allow-fstat" + "fs:scope-appconfig-index" ] }, { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", + "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-write" + "fs:deny-open" ] }, { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-read-dir" + "fs:scope-desktop-recursive" ] }, { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-data" + "fs:scope-config-recursive" ] }, { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-mkdir" + "fs:scope-data-recursive" ] }, { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "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-exe" + "fs:scope-home" ] }, { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "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-picture-index" + "fs:scope-download" ] }, { - "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-document-recursive" + "fs:scope-applog-recursive" ] }, { - "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "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-exe-recursive" + "fs:scope-app" ] }, { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-desktop" + "fs:deny-stat" ] }, { - "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-home-recursive" + "fs:allow-fstat" ] }, { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-template-index" + "fs:allow-write-file" ] }, { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "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:scope-appdata" + "fs:deny-webview-data-linux" ] }, { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "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:deny-fstat" + "fs:scope-applog" ] }, { - "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-localdata-recursive" + "fs:deny-rename" ] }, { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:allow-mkdir" + "fs:read-files" ] }, { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-exe-index" + "fs:allow-lstat" ] }, { - "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", "type": "string", "enum": [ - "fs:scope-download-recursive" + "fs:scope-app-index" ] }, { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", + "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines-next" + "fs:scope-appcache-recursive" ] }, { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "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:write-files" + "fs:allow-read-text-file-lines-next" ] }, { - "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-video-recursive" + "fs:scope-public-recursive" ] }, { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-home-index" + "fs:allow-write" ] }, { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", "type": "string", "enum": [ - "fs:scope-data-index" + "fs:scope-document-index" ] }, { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", + "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:write-all" + "fs:deny-fstat" ] }, { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appconfig-index" + "fs:allow-seek" ] }, { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", + "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-app" + "fs:scope-appdata" ] }, { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", + "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-stat" + "fs:scope-runtime-recursive" ] }, { - "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-runtime-recursive" + "fs:deny-mkdir" ] }, { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-copy-file" + "fs:allow-read-text-file" ] }, { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", + "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-open" + "fs:allow-mkdir" ] }, { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", + "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:deny-watch" + "fs:read-meta" ] }, { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-exists" + "fs:deny-read" ] }, { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", + "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", "type": "string", "enum": [ - "fs:read-all" + "fs:scope-localdata-index" ] }, { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "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:read-dirs" + "fs:scope-localdata" ] }, { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-runtime" + "fs:deny-read-text-file-lines" ] }, { - "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "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-log-recursive" + "fs:scope-config" ] }, { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", + "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:deny-write-file" + "fs:scope-resource" ] }, { - "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "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-public-recursive" + "fs:scope-desktop" ] }, { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "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-appcache-index" + "fs:scope-exe" ] }, { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp-index" + "fs:allow-open" ] }, { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-write-file" + "fs:deny-truncate" ] }, { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp" + "global-shortcut:deny-is-registered" ] }, { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-ftruncate" + "global-shortcut:deny-unregister-all" ] }, { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-files" - ] - }, - { - "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:deny-register-all" - ] - }, - { - "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-is-registered" + "global-shortcut:deny-register" ] }, { - "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-is-registered" + "global-shortcut:allow-register" ] }, { - "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", + "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-register" + "global-shortcut:deny-register-all" ] }, { @@ -2446,31 +2402,24 @@ ] }, { - "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:allow-register" - ] - }, - { - "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-unregister-all" + "global-shortcut:allow-unregister-all" ] }, { - "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-unregister-all" + "global-shortcut:allow-unregister" ] }, { - "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", + "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-unregister" + "global-shortcut:allow-is-registered" ] }, { @@ -2481,31 +2430,31 @@ ] }, { - "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-send" + "http:allow-fetch-send" ] }, { - "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", + "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-cancel" + "http:deny-fetch" ] }, { - "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", + "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch" + "http:deny-fetch-cancel" ] }, { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-cancel" + "http:allow-fetch" ] }, { @@ -2516,24 +2465,24 @@ ] }, { - "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", + "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-read-body" + "http:deny-fetch-send" ] }, { - "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", + "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch" + "http:allow-fetch-cancel" ] }, { - "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-send" + "http:allow-fetch-read-body" ] }, { @@ -2544,17 +2493,17 @@ ] }, { - "description": "log:allow-log -> Enables the log command without any pre-configured scope.", + "description": "log:deny-log -> Denies the log command without any pre-configured scope.", "type": "string", "enum": [ - "log:allow-log" + "log:deny-log" ] }, { - "description": "log:deny-log -> Denies the log command without any pre-configured scope.", + "description": "log:allow-log -> Enables the log command without any pre-configured scope.", "type": "string", "enum": [ - "log:deny-log" + "log:allow-log" ] }, { @@ -2565,290 +2514,290 @@ ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:deny-get" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:deny-set-enabled" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "menu:deny-items" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "menu:allow-set-accelerator" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "menu:deny-text" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "menu:allow-set-icon" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:allow-items" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "menu:deny-remove-at" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:allow-set-checked" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "menu:deny-create-default" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:allow-remove" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:allow-is-checked" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:allow-set-as-app-menu" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:allow-create-default" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:deny-popup" ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:deny-set-icon" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:allow-insert" ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "menu:deny-insert" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "menu:allow-popup" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "menu:deny-append" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:deny-set-as-app-menu" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "menu:allow-set-enabled" ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:deny-is-checked" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "menu:deny-prepend" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "menu:deny-set-accelerator" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:allow-prepend" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:allow-get" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:deny-set-checked" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:deny-new" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:deny-set-text" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:allow-is-enabled" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "menu:allow-text" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:allow-remove-at" ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:deny-is-enabled" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:allow-new" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:allow-set-as-window-menu" ] }, { @@ -2859,17 +2808,17 @@ ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "menu:allow-set-text" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:deny-remove" ] }, { @@ -2880,87 +2829,87 @@ ] }, { - "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-is-permission-granted" + "notification:allow-request-permission" ] }, { - "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-notify" + "notification:deny-notify" ] }, { - "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-notify" + "notification:allow-is-permission-granted" ] }, { - "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-request-permission" + "notification:allow-notify" ] }, { - "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-request-permission" + "notification:deny-is-permission-granted" ] }, { - "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-is-permission-granted" + "notification:deny-request-permission" ] }, { - "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-locale" + "os:deny-arch" ] }, { - "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-exe-extension" + "os:allow-family" ] }, { - "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-version" + "os:allow-platform" ] }, { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-hostname" + "os:allow-os-type" ] }, { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-os-type" + "os:allow-locale" ] }, { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-exe-extension" + "os:deny-locale" ] }, { @@ -2971,66 +2920,66 @@ ] }, { - "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-family" + "os:allow-exe-extension" ] }, { - "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-version" + "os:allow-hostname" ] }, { - "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-arch" + "os:deny-exe-extension" ] }, { - "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-locale" + "os:deny-version" ] }, { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-platform" + "os:deny-os-type" ] }, { - "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-arch" + "os:deny-hostname" ] }, { - "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-hostname" + "os:allow-version" ] }, { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-os-type" + "os:allow-arch" ] }, { - "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-family" + "os:deny-family" ] }, { @@ -3041,87 +2990,87 @@ ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "path:allow-basename" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "path:deny-join" ] }, { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve" + "path:allow-extname" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "path:deny-normalize" ] }, { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-extname" + "path:deny-resolve" ] }, { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-is-absolute" + "path:allow-resolve-directory" ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-normalize" + "path:deny-dirname" ] }, { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-extname" + "path:deny-is-absolute" ] }, { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve" + "path:deny-basename" ] }, { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-basename" + "path:deny-extname" ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "path:allow-normalize" ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "path:deny-resolve-directory" ] }, { @@ -3132,10 +3081,10 @@ ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "path:allow-is-absolute" ] }, { @@ -3146,38 +3095,38 @@ ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "path:allow-resolve" ] }, { - "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-exit" + "process:allow-restart" ] }, { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-exit" + "process:deny-restart" ] }, { - "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-restart" + "process:deny-exit" ] }, { - "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-restart" + "process:allow-exit" ] }, { @@ -3187,6 +3136,13 @@ "resources:default" ] }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, { "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", @@ -3195,24 +3151,31 @@ ] }, { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "resources:allow-close" + "shell:allow-stdin-write" ] }, { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-execute" + "shell:deny-open" ] }, { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-open" + "shell:deny-execute" + ] + }, + { + "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:allow-execute" ] }, { @@ -3223,10 +3186,17 @@ ] }, { - "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", + "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-execute" + "shell:allow-open" + ] + }, + { + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" ] }, { @@ -3237,59 +3207,59 @@ ] }, { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "description": "tray:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "shell:allow-stdin-write" + "tray:default" ] }, { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-stdin-write" + "tray:allow-set-title" ] }, { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-open" + "tray:allow-set-icon-as-template" ] }, { - "description": "tray:default -> Default permissions for the plugin.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:default" + "tray:deny-set-temp-dir-path" ] }, { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-show-menu-on-left-click" + "tray:allow-set-icon" ] }, { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-tooltip" + "tray:allow-new" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "tray:allow-set-show-menu-on-left-click" ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-title" + "tray:allow-set-temp-dir-path" ] }, { @@ -3300,10 +3270,10 @@ ] }, { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon" + "tray:allow-set-menu" ] }, { @@ -3314,17 +3284,10 @@ ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-new" - ] - }, - { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "tray:allow-set-visible" ] }, { @@ -3335,24 +3298,24 @@ ] }, { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-menu" + "tray:deny-set-tooltip" ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "tray:deny-set-show-menu-on-left-click" ] }, { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon-as-template" + "tray:deny-set-visible" ] }, { @@ -3363,10 +3326,10 @@ ] }, { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "tray:deny-set-title" ] }, { @@ -3377,31 +3340,31 @@ ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "updater:default -> Allows checking for new updates and installing them", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "updater:default" ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "updater:allow-download-and-install" ] }, { - "description": "updater:default -> Allows checking for new updates and installing them", + "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", "type": "string", "enum": [ - "updater:default" + "updater:allow-check" ] }, { - "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", "type": "string", "enum": [ - "updater:allow-check" + "updater:deny-check" ] }, { @@ -3412,395 +3375,395 @@ ] }, { - "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "description": "window:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "updater:allow-download-and-install" + "window:default" ] }, { - "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "updater:deny-check" + "window:allow-is-minimized" ] }, { - "description": "window:default -> Default permissions for the plugin.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:default" + "window:allow-set-decorations" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:deny-set-minimizable" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-inner-position" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:deny-create" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:allow-available-monitors" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:allow-is-focused" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:deny-outer-size" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:allow-is-maximized" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:deny-outer-position" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:allow-set-title" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:deny-set-maximizable" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:deny-set-min-size" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:allow-is-fullscreen" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:allow-set-cursor-visible" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:allow-set-min-size" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "window:deny-set-focus" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:deny-is-focused" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:allow-hide" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:deny-is-closable" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:deny-set-shadow" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "window:allow-scale-factor" ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:deny-set-cursor-visible" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:allow-is-visible" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:allow-set-max-size" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:allow-maximize" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:allow-inner-position" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:allow-unminimize" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:allow-center" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:allow-start-dragging" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:deny-set-title" ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:allow-outer-position" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:deny-set-content-protected" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "window:allow-is-decorated" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:deny-minimize" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:deny-toggle-maximize" ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-print" + "window:allow-request-user-attention" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:deny-request-user-attention" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:allow-primary-monitor" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:deny-set-size" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:deny-current-monitor" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:allow-set-effects" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:deny-set-progress-bar" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:allow-close" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:deny-internal-toggle-devtools" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:deny-maximize" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:allow-is-resizable" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-set-position" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:allow-show" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:deny-set-position" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:deny-primary-monitor" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "window:allow-is-closable" ] }, { @@ -3811,94 +3774,101 @@ ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:allow-set-cursor-grab" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "window:allow-set-icon" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:deny-set-closable" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:allow-set-closable" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:allow-set-minimizable" ] }, { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-icon" + "window:deny-is-minimizable" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-is-minimized" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:deny-set-fullscreen" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:allow-title" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:allow-internal-toggle-devtools" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:allow-is-maximizable" ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:deny-is-maximized" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:deny-is-fullscreen" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" ] }, { @@ -3909,66 +3879,73 @@ ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:deny-center" ] }, { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-position" + "window:deny-scale-factor" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-is-resizable" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:allow-set-fullscreen" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:deny-theme" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:deny-set-icon" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:allow-set-maximizable" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:deny-set-resizable" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:allow-set-resizable" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" ] }, { @@ -3979,297 +3956,309 @@ ] }, { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-max-size" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:deny-is-maximizable" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:deny-start-dragging" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:allow-current-monitor" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:allow-set-always-on-top" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:deny-unminimize" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:allow-print" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:deny-set-cursor-grab" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:allow-set-content-protected" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:deny-is-visible" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:allow-set-cursor-icon" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:deny-set-always-on-top" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:deny-set-effects" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:deny-set-decorations" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:deny-set-max-size" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:deny-close" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:allow-set-focus" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:deny-inner-size" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:allow-create" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:allow-set-size" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:deny-title" ] }, { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-devtools" + "window:allow-set-progress-bar" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:allow-set-shadow" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:deny-is-decorated" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:allow-is-minimizable" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:allow-outer-size" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:deny-set-cursor-position" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:deny-unmaximize" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:deny-hide" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:allow-minimize" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:deny-show" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:deny-print" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:deny-set-cursor-icon" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:allow-set-cursor-position" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-skip-taskbar" + "window:deny-set-ignore-cursor-events" + ] + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "Windows.", "type": "string", "enum": [ - "window:deny-minimize" + "windows" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "Linux.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "linux" ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "Android.", "type": "string", "enum": [ - "window:allow-unminimize" + "android" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "iOS.", "type": "string", "enum": [ - "window:allow-maximize" + "iOS" ] } ] diff --git a/plugins/deep-link/examples/app/src-tauri/.gitignore b/plugins/deep-link/examples/app/src-tauri/.gitignore index 821bbb6bd..67d4662d8 100644 --- a/plugins/deep-link/examples/app/src-tauri/.gitignore +++ b/plugins/deep-link/examples/app/src-tauri/.gitignore @@ -2,4 +2,6 @@ # will have compiled files and executables /target/ +/capabilities/schemas + .cargo \ No newline at end of file diff --git a/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json b/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json deleted file mode 100644 index 19187eac2..000000000 --- a/plugins/deep-link/examples/app/src-tauri/capabilities/.schema.json +++ /dev/null @@ -1,1765 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", - "type": "object", - "required": [ - "identifier", - "permissions", - "windows" - ], - "properties": { - "context": { - "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", - "default": "local", - "allOf": [ - { - "$ref": "#/definitions/CapabilityContext" - } - ] - }, - "description": { - "description": "Description of the capability.", - "default": "", - "type": "string" - }, - "identifier": { - "description": "Identifier of the capability.", - "type": "string" - }, - "permissions": { - "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", - "type": "array", - "items": { - "$ref": "#/definitions/Identifier" - } - }, - "platforms": { - "description": "Target platforms this capability applies. By default all platforms applies.", - "default": [ - "desktop", - "mobile" - ], - "type": "array", - "items": { - "$ref": "#/definitions/CapabilityPlatform" - } - }, - "windows": { - "description": "List of windows that uses this capability. Can be a glob pattern.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CapabilityContext": { - "description": "Context of the capability.", - "oneOf": [ - { - "description": "Capability refers to local URL usage.", - "type": "string", - "enum": [ - "local" - ] - }, - { - "description": "Capability refers to remote usage.", - "type": "object", - "required": [ - "remote" - ], - "properties": { - "remote": { - "type": "object", - "required": [ - "domains" - ], - "properties": { - "domains": { - "description": "Remote domains this capability refers to.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "additionalProperties": false - } - ] - }, - "CapabilityPlatform": { - "description": "Target platform of a capability.", - "oneOf": [ - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "macOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS", - "type": "string", - "enum": [ - "iOS" - ] - }, - { - "description": "Desktop.", - "type": "string", - "enum": [ - "desktop" - ] - }, - { - "description": "Mobile.", - "type": "string", - "enum": [ - "mobile" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "app:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "app:default" - ] - }, - { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-hide" - ] - }, - { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-hide" - ] - }, - { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-name" - ] - }, - { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-version" - ] - }, - { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-show" - ] - }, - { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-tauri-version" - ] - }, - { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-version" - ] - }, - { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-name" - ] - }, - { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-show" - ] - }, - { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-tauri-version" - ] - }, - { - "description": "deep-link:default -> Allows reading the opened deep link via the get_current command", - "type": "string", - "enum": [ - "deep-link:default" - ] - }, - { - "description": "deep-link:deny-get-current -> Denies the get_current command without any pre-configured scope.", - "type": "string", - "enum": [ - "deep-link:deny-get-current" - ] - }, - { - "description": "deep-link:allow-get-current -> Enables the get_current command without any pre-configured scope.", - "type": "string", - "enum": [ - "deep-link:allow-get-current" - ] - }, - { - "description": "event:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "event:default" - ] - }, - { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-emit" - ] - }, - { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-unlisten" - ] - }, - { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-listen" - ] - }, - { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-unlisten" - ] - }, - { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-emit" - ] - }, - { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-listen" - ] - }, - { - "description": "menu:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "menu:default" - ] - }, - { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove-at" - ] - }, - { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-window-menu" - ] - }, - { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-checked" - ] - }, - { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-checked" - ] - }, - { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-enabled" - ] - }, - { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-append" - ] - }, - { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-prepend" - ] - }, - { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-enabled" - ] - }, - { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-items" - ] - }, - { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-new" - ] - }, - { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove" - ] - }, - { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-append" - ] - }, - { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-popup" - ] - }, - { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove-at" - ] - }, - { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-items" - ] - }, - { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-text" - ] - }, - { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-window-menu" - ] - }, - { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-accelerator" - ] - }, - { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-accelerator" - ] - }, - { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-get" - ] - }, - { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-insert" - ] - }, - { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-create-default" - ] - }, - { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-create-default" - ] - }, - { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-app-menu" - ] - }, - { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-checked" - ] - }, - { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-popup" - ] - }, - { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-new" - ] - }, - { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-enabled" - ] - }, - { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-enabled" - ] - }, - { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove" - ] - }, - { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-insert" - ] - }, - { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-app-menu" - ] - }, - { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-checked" - ] - }, - { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-get" - ] - }, - { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-icon" - ] - }, - { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-icon" - ] - }, - { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-prepend" - ] - }, - { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-text" - ] - }, - { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-text" - ] - }, - { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-text" - ] - }, - { - "description": "path:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "path:default" - ] - }, - { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-basename" - ] - }, - { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve" - ] - }, - { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve" - ] - }, - { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve-directory" - ] - }, - { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-basename" - ] - }, - { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-is-absolute" - ] - }, - { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve-directory" - ] - }, - { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-join" - ] - }, - { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-extname" - ] - }, - { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-dirname" - ] - }, - { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-dirname" - ] - }, - { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-normalize" - ] - }, - { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-is-absolute" - ] - }, - { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-join" - ] - }, - { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-extname" - ] - }, - { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-normalize" - ] - }, - { - "description": "resources:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "resources:default" - ] - }, - { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:allow-close" - ] - }, - { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:deny-close" - ] - }, - { - "description": "tray:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "tray:default" - ] - }, - { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-temp-dir-path" - ] - }, - { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon" - ] - }, - { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-tooltip" - ] - }, - { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-temp-dir-path" - ] - }, - { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon-as-template" - ] - }, - { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-visible" - ] - }, - { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon" - ] - }, - { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-menu" - ] - }, - { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon-as-template" - ] - }, - { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-visible" - ] - }, - { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-title" - ] - }, - { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-title" - ] - }, - { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-menu" - ] - }, - { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-new" - ] - }, - { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-new" - ] - }, - { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-tooltip" - ] - }, - { - "description": "window:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "window:default" - ] - }, - { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-bottom" - ] - }, - { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximizable" - ] - }, - { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-focused" - ] - }, - { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-min-size" - ] - }, - { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-primary-monitor" - ] - }, - { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-min-size" - ] - }, - { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-maximize" - ] - }, - { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-top" - ] - }, - { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-shadow" - ] - }, - { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-size" - ] - }, - { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-primary-monitor" - ] - }, - { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-minimize" - ] - }, - { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-grab" - ] - }, - { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-max-size" - ] - }, - { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-print" - ] - }, - { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-maximizable" - ] - }, - { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-progress-bar" - ] - }, - { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-position" - ] - }, - { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-skip-taskbar" - ] - }, - { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unmaximize" - ] - }, - { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-hide" - ] - }, - { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-decorated" - ] - }, - { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimizable" - ] - }, - { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-icon" - ] - }, - { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-grab" - ] - }, - { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-closable" - ] - }, - { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-icon" - ] - }, - { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-maximize" - ] - }, - { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-resizable" - ] - }, - { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-current-monitor" - ] - }, - { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-top" - ] - }, - { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-size" - ] - }, - { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximized" - ] - }, - { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-closable" - ] - }, - { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-position" - ] - }, - { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-show" - ] - }, - { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-toggle-maximize" - ] - }, - { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-hide" - ] - }, - { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-devtools" - ] - }, - { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-create" - ] - }, - { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-show" - ] - }, - { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-decorated" - ] - }, - { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-icon" - ] - }, - { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-progress-bar" - ] - }, - { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-visible" - ] - }, - { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-current-monitor" - ] - }, - { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-close" - ] - }, - { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-title" - ] - }, - { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-theme" - ] - }, - { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-close" - ] - }, - { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-resizable" - ] - }, - { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-fullscreen" - ] - }, - { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-size" - ] - }, - { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-center" - ] - }, - { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-resizable" - ] - }, - { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-request-user-attention" - ] - }, - { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-toggle-maximize" - ] - }, - { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximized" - ] - }, - { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-position" - ] - }, - { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-skip-taskbar" - ] - }, - { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-maximize" - ] - }, - { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-center" - ] - }, - { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-fullscreen" - ] - }, - { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimizable" - ] - }, - { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-position" - ] - }, - { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-decorations" - ] - }, - { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-minimizable" - ] - }, - { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-content-protected" - ] - }, - { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-focus" - ] - }, - { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-request-user-attention" - ] - }, - { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-fullscreen" - ] - }, - { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-minimize" - ] - }, - { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-bottom" - ] - }, - { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-start-dragging" - ] - }, - { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unminimize" - ] - }, - { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-resizable" - ] - }, - { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-visible" - ] - }, - { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-title" - ] - }, - { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-closable" - ] - }, - { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximizable" - ] - }, - { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-position" - ] - }, - { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-title" - ] - }, - { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-title" - ] - }, - { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-position" - ] - }, - { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-visible" - ] - }, - { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-max-size" - ] - }, - { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-decorations" - ] - }, - { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unminimize" - ] - }, - { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-effects" - ] - }, - { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimized" - ] - }, - { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-create" - ] - }, - { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-focus" - ] - }, - { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-fullscreen" - ] - }, - { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-position" - ] - }, - { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-theme" - ] - }, - { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-available-monitors" - ] - }, - { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-minimizable" - ] - }, - { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-visible" - ] - }, - { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-closable" - ] - }, - { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-start-dragging" - ] - }, - { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-content-protected" - ] - }, - { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-position" - ] - }, - { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unmaximize" - ] - }, - { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimized" - ] - }, - { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-devtools" - ] - }, - { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-maximize" - ] - }, - { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-icon" - ] - }, - { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-size" - ] - }, - { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-size" - ] - }, - { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-scale-factor" - ] - }, - { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-scale-factor" - ] - }, - { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-focused" - ] - }, - { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-print" - ] - }, - { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-effects" - ] - }, - { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-shadow" - ] - }, - { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-size" - ] - }, - { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-available-monitors" - ] - }, - { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-maximizable" - ] - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/single-instance/examples/vanilla/src-tauri/.gitignore b/plugins/single-instance/examples/vanilla/src-tauri/.gitignore index c12370459..ea13580b7 100644 --- a/plugins/single-instance/examples/vanilla/src-tauri/.gitignore +++ b/plugins/single-instance/examples/vanilla/src-tauri/.gitignore @@ -2,3 +2,5 @@ # will have compiled files and executables /target/ WixTools + +/capabilities/schemas diff --git a/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json b/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json deleted file mode 100644 index cfa2b499a..000000000 --- a/plugins/single-instance/examples/vanilla/src-tauri/capabilities/.schema.json +++ /dev/null @@ -1,1744 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", - "type": "object", - "required": [ - "identifier", - "permissions", - "windows" - ], - "properties": { - "context": { - "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", - "default": "local", - "allOf": [ - { - "$ref": "#/definitions/CapabilityContext" - } - ] - }, - "description": { - "description": "Description of the capability.", - "default": "", - "type": "string" - }, - "identifier": { - "description": "Identifier of the capability.", - "type": "string" - }, - "permissions": { - "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", - "type": "array", - "items": { - "$ref": "#/definitions/Identifier" - } - }, - "platforms": { - "description": "Target platforms this capability applies. By default all platforms applies.", - "default": [ - "desktop", - "mobile" - ], - "type": "array", - "items": { - "$ref": "#/definitions/CapabilityPlatform" - } - }, - "windows": { - "description": "List of windows that uses this capability. Can be a glob pattern.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CapabilityContext": { - "description": "Context of the capability.", - "oneOf": [ - { - "description": "Capability refers to local URL usage.", - "type": "string", - "enum": [ - "local" - ] - }, - { - "description": "Capability refers to remote usage.", - "type": "object", - "required": [ - "remote" - ], - "properties": { - "remote": { - "type": "object", - "required": [ - "domains" - ], - "properties": { - "domains": { - "description": "Remote domains this capability refers to.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "additionalProperties": false - } - ] - }, - "CapabilityPlatform": { - "description": "Target platform of a capability.", - "oneOf": [ - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "macOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS", - "type": "string", - "enum": [ - "iOS" - ] - }, - { - "description": "Desktop.", - "type": "string", - "enum": [ - "desktop" - ] - }, - { - "description": "Mobile.", - "type": "string", - "enum": [ - "mobile" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "app:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "app:default" - ] - }, - { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-hide" - ] - }, - { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-version" - ] - }, - { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-show" - ] - }, - { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-name" - ] - }, - { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-tauri-version" - ] - }, - { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-name" - ] - }, - { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-version" - ] - }, - { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-tauri-version" - ] - }, - { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-hide" - ] - }, - { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-show" - ] - }, - { - "description": "event:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "event:default" - ] - }, - { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-unlisten" - ] - }, - { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-listen" - ] - }, - { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-listen" - ] - }, - { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-unlisten" - ] - }, - { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-emit" - ] - }, - { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-emit" - ] - }, - { - "description": "menu:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "menu:default" - ] - }, - { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-text" - ] - }, - { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-text" - ] - }, - { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-checked" - ] - }, - { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-insert" - ] - }, - { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-text" - ] - }, - { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-append" - ] - }, - { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-get" - ] - }, - { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-create-default" - ] - }, - { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-prepend" - ] - }, - { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-icon" - ] - }, - { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-accelerator" - ] - }, - { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-create-default" - ] - }, - { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove-at" - ] - }, - { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-new" - ] - }, - { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-text" - ] - }, - { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-new" - ] - }, - { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-popup" - ] - }, - { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-app-menu" - ] - }, - { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-checked" - ] - }, - { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-prepend" - ] - }, - { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove-at" - ] - }, - { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-icon" - ] - }, - { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove" - ] - }, - { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-popup" - ] - }, - { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-append" - ] - }, - { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-insert" - ] - }, - { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove" - ] - }, - { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-enabled" - ] - }, - { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-items" - ] - }, - { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-window-menu" - ] - }, - { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-enabled" - ] - }, - { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-app-menu" - ] - }, - { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-items" - ] - }, - { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-checked" - ] - }, - { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-enabled" - ] - }, - { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-window-menu" - ] - }, - { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-checked" - ] - }, - { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-get" - ] - }, - { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-enabled" - ] - }, - { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-accelerator" - ] - }, - { - "description": "path:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "path:default" - ] - }, - { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-join" - ] - }, - { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-dirname" - ] - }, - { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-basename" - ] - }, - { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve-directory" - ] - }, - { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-normalize" - ] - }, - { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-extname" - ] - }, - { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve-directory" - ] - }, - { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-basename" - ] - }, - { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve" - ] - }, - { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-extname" - ] - }, - { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-normalize" - ] - }, - { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-join" - ] - }, - { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-is-absolute" - ] - }, - { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve" - ] - }, - { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-is-absolute" - ] - }, - { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-dirname" - ] - }, - { - "description": "resources:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "resources:default" - ] - }, - { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:deny-close" - ] - }, - { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:allow-close" - ] - }, - { - "description": "tray:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "tray:default" - ] - }, - { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-title" - ] - }, - { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-visible" - ] - }, - { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-menu" - ] - }, - { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-tooltip" - ] - }, - { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-title" - ] - }, - { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-temp-dir-path" - ] - }, - { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon-as-template" - ] - }, - { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-new" - ] - }, - { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon" - ] - }, - { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon-as-template" - ] - }, - { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-visible" - ] - }, - { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-menu" - ] - }, - { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-tooltip" - ] - }, - { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon" - ] - }, - { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-new" - ] - }, - { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-temp-dir-path" - ] - }, - { - "description": "window:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "window:default" - ] - }, - { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-size" - ] - }, - { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-fullscreen" - ] - }, - { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimized" - ] - }, - { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-visible" - ] - }, - { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-print" - ] - }, - { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-closable" - ] - }, - { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unminimize" - ] - }, - { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-top" - ] - }, - { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unmaximize" - ] - }, - { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximizable" - ] - }, - { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-skip-taskbar" - ] - }, - { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-theme" - ] - }, - { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-position" - ] - }, - { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-effects" - ] - }, - { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-grab" - ] - }, - { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-focused" - ] - }, - { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-max-size" - ] - }, - { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-title" - ] - }, - { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-start-dragging" - ] - }, - { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-hide" - ] - }, - { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-position" - ] - }, - { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-content-protected" - ] - }, - { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-scale-factor" - ] - }, - { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximized" - ] - }, - { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-closable" - ] - }, - { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-grab" - ] - }, - { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-current-monitor" - ] - }, - { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-current-monitor" - ] - }, - { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-icon" - ] - }, - { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-minimizable" - ] - }, - { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-size" - ] - }, - { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-fullscreen" - ] - }, - { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-min-size" - ] - }, - { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-available-monitors" - ] - }, - { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-closable" - ] - }, - { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-maximize" - ] - }, - { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-show" - ] - }, - { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-maximize" - ] - }, - { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-center" - ] - }, - { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-resizable" - ] - }, - { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-position" - ] - }, - { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-size" - ] - }, - { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unminimize" - ] - }, - { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-size" - ] - }, - { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-minimize" - ] - }, - { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-decorated" - ] - }, - { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-closable" - ] - }, - { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-effects" - ] - }, - { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-focus" - ] - }, - { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-icon" - ] - }, - { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-size" - ] - }, - { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-progress-bar" - ] - }, - { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-request-user-attention" - ] - }, - { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-title" - ] - }, - { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-resizable" - ] - }, - { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-min-size" - ] - }, - { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximized" - ] - }, - { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-focused" - ] - }, - { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-visible" - ] - }, - { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-center" - ] - }, - { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-position" - ] - }, - { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-decorations" - ] - }, - { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-size" - ] - }, - { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-hide" - ] - }, - { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-decorated" - ] - }, - { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximizable" - ] - }, - { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-resizable" - ] - }, - { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-position" - ] - }, - { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-create" - ] - }, - { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-primary-monitor" - ] - }, - { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-fullscreen" - ] - }, - { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-icon" - ] - }, - { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-devtools" - ] - }, - { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimizable" - ] - }, - { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-title" - ] - }, - { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-visible" - ] - }, - { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-bottom" - ] - }, - { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-position" - ] - }, - { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-minimize" - ] - }, - { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-maximizable" - ] - }, - { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-scale-factor" - ] - }, - { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimizable" - ] - }, - { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-content-protected" - ] - }, - { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-show" - ] - }, - { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-close" - ] - }, - { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-maximize" - ] - }, - { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimized" - ] - }, - { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-shadow" - ] - }, - { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-title" - ] - }, - { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-toggle-maximize" - ] - }, - { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-toggle-maximize" - ] - }, - { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-primary-monitor" - ] - }, - { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-create" - ] - }, - { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-available-monitors" - ] - }, - { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-close" - ] - }, - { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-position" - ] - }, - { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-maximize" - ] - }, - { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-bottom" - ] - }, - { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-request-user-attention" - ] - }, - { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-max-size" - ] - }, - { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-maximizable" - ] - }, - { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-theme" - ] - }, - { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unmaximize" - ] - }, - { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-start-dragging" - ] - }, - { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-shadow" - ] - }, - { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-focus" - ] - }, - { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-skip-taskbar" - ] - }, - { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-position" - ] - }, - { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-minimizable" - ] - }, - { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-progress-bar" - ] - }, - { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-top" - ] - }, - { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-devtools" - ] - }, - { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-icon" - ] - }, - { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-fullscreen" - ] - }, - { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-print" - ] - }, - { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-decorations" - ] - }, - { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-resizable" - ] - }, - { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-visible" - ] - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/updater/tests/app-updater/.gitignore b/plugins/updater/tests/app-updater/.gitignore index e69de29bb..fd0dd6567 100644 --- a/plugins/updater/tests/app-updater/.gitignore +++ b/plugins/updater/tests/app-updater/.gitignore @@ -0,0 +1 @@ +/capabilities/schemas diff --git a/plugins/updater/tests/app-updater/capabilities/.schema.json b/plugins/updater/tests/app-updater/capabilities/.schema.json deleted file mode 100644 index 89cac3c90..000000000 --- a/plugins/updater/tests/app-updater/capabilities/.schema.json +++ /dev/null @@ -1,1779 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", - "type": "object", - "required": [ - "identifier", - "permissions", - "windows" - ], - "properties": { - "context": { - "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", - "default": "local", - "allOf": [ - { - "$ref": "#/definitions/CapabilityContext" - } - ] - }, - "description": { - "description": "Description of the capability.", - "default": "", - "type": "string" - }, - "identifier": { - "description": "Identifier of the capability.", - "type": "string" - }, - "permissions": { - "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", - "type": "array", - "items": { - "$ref": "#/definitions/Identifier" - } - }, - "platforms": { - "description": "Target platforms this capability applies. By default all platforms applies.", - "default": [ - "desktop", - "mobile" - ], - "type": "array", - "items": { - "$ref": "#/definitions/CapabilityPlatform" - } - }, - "windows": { - "description": "List of windows that uses this capability. Can be a glob pattern.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CapabilityContext": { - "description": "Context of the capability.", - "oneOf": [ - { - "description": "Capability refers to local URL usage.", - "type": "string", - "enum": [ - "local" - ] - }, - { - "description": "Capability refers to remote usage.", - "type": "object", - "required": [ - "remote" - ], - "properties": { - "remote": { - "type": "object", - "required": [ - "domains" - ], - "properties": { - "domains": { - "description": "Remote domains this capability refers to.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "additionalProperties": false - } - ] - }, - "CapabilityPlatform": { - "description": "Target platform of a capability.", - "oneOf": [ - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "macOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS", - "type": "string", - "enum": [ - "iOS" - ] - }, - { - "description": "Desktop.", - "type": "string", - "enum": [ - "desktop" - ] - }, - { - "description": "Mobile.", - "type": "string", - "enum": [ - "mobile" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "app:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "app:default" - ] - }, - { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-name" - ] - }, - { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-tauri-version" - ] - }, - { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-tauri-version" - ] - }, - { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-name" - ] - }, - { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-version" - ] - }, - { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-version" - ] - }, - { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-show" - ] - }, - { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-hide" - ] - }, - { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-show" - ] - }, - { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-hide" - ] - }, - { - "description": "event:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "event:default" - ] - }, - { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-emit" - ] - }, - { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-listen" - ] - }, - { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-unlisten" - ] - }, - { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-unlisten" - ] - }, - { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-listen" - ] - }, - { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-emit" - ] - }, - { - "description": "menu:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "menu:default" - ] - }, - { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-get" - ] - }, - { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-items" - ] - }, - { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-prepend" - ] - }, - { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-app-menu" - ] - }, - { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-checked" - ] - }, - { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-checked" - ] - }, - { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-enabled" - ] - }, - { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-new" - ] - }, - { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-append" - ] - }, - { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-create-default" - ] - }, - { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-popup" - ] - }, - { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove" - ] - }, - { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-insert" - ] - }, - { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-items" - ] - }, - { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-accelerator" - ] - }, - { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-enabled" - ] - }, - { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-enabled" - ] - }, - { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-text" - ] - }, - { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-text" - ] - }, - { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-window-menu" - ] - }, - { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-window-menu" - ] - }, - { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-get" - ] - }, - { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove-at" - ] - }, - { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-checked" - ] - }, - { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-append" - ] - }, - { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-text" - ] - }, - { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-prepend" - ] - }, - { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove" - ] - }, - { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-create-default" - ] - }, - { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-text" - ] - }, - { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-icon" - ] - }, - { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-enabled" - ] - }, - { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-checked" - ] - }, - { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-popup" - ] - }, - { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-insert" - ] - }, - { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove-at" - ] - }, - { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-new" - ] - }, - { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-app-menu" - ] - }, - { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-accelerator" - ] - }, - { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-icon" - ] - }, - { - "description": "path:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "path:default" - ] - }, - { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve-directory" - ] - }, - { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-join" - ] - }, - { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve-directory" - ] - }, - { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-is-absolute" - ] - }, - { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-extname" - ] - }, - { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve" - ] - }, - { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-dirname" - ] - }, - { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve" - ] - }, - { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-normalize" - ] - }, - { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-basename" - ] - }, - { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-is-absolute" - ] - }, - { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-dirname" - ] - }, - { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-basename" - ] - }, - { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-extname" - ] - }, - { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-normalize" - ] - }, - { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-join" - ] - }, - { - "description": "resources:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "resources:default" - ] - }, - { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:deny-close" - ] - }, - { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:allow-close" - ] - }, - { - "description": "tray:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "tray:default" - ] - }, - { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-tooltip" - ] - }, - { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon" - ] - }, - { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-title" - ] - }, - { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-new" - ] - }, - { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-temp-dir-path" - ] - }, - { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon" - ] - }, - { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-tooltip" - ] - }, - { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-visible" - ] - }, - { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-menu" - ] - }, - { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-visible" - ] - }, - { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon-as-template" - ] - }, - { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon-as-template" - ] - }, - { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-menu" - ] - }, - { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-temp-dir-path" - ] - }, - { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-new" - ] - }, - { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-title" - ] - }, - { - "description": "updater:default -> Allows checking for new updates and installing them", - "type": "string", - "enum": [ - "updater:default" - ] - }, - { - "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "enum": [ - "updater:deny-download-and-install" - ] - }, - { - "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "enum": [ - "updater:allow-download-and-install" - ] - }, - { - "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", - "type": "string", - "enum": [ - "updater:allow-check" - ] - }, - { - "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", - "type": "string", - "enum": [ - "updater:deny-check" - ] - }, - { - "description": "window:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "window:default" - ] - }, - { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-toggle-maximize" - ] - }, - { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-current-monitor" - ] - }, - { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimized" - ] - }, - { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-grab" - ] - }, - { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-create" - ] - }, - { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-position" - ] - }, - { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-theme" - ] - }, - { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-resizable" - ] - }, - { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-primary-monitor" - ] - }, - { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-size" - ] - }, - { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-decorated" - ] - }, - { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-print" - ] - }, - { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-fullscreen" - ] - }, - { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unmaximize" - ] - }, - { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-close" - ] - }, - { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-min-size" - ] - }, - { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximizable" - ] - }, - { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-size" - ] - }, - { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unmaximize" - ] - }, - { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-icon" - ] - }, - { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-effects" - ] - }, - { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-position" - ] - }, - { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-size" - ] - }, - { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-effects" - ] - }, - { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-max-size" - ] - }, - { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-position" - ] - }, - { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-maximize" - ] - }, - { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-closable" - ] - }, - { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-position" - ] - }, - { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-close" - ] - }, - { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-skip-taskbar" - ] - }, - { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-center" - ] - }, - { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-bottom" - ] - }, - { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-focused" - ] - }, - { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-decorations" - ] - }, - { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-minimize" - ] - }, - { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-request-user-attention" - ] - }, - { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-decorated" - ] - }, - { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-current-monitor" - ] - }, - { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-center" - ] - }, - { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-available-monitors" - ] - }, - { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-devtools" - ] - }, - { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-fullscreen" - ] - }, - { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-icon" - ] - }, - { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-max-size" - ] - }, - { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-progress-bar" - ] - }, - { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unminimize" - ] - }, - { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-primary-monitor" - ] - }, - { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-resizable" - ] - }, - { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-size" - ] - }, - { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-position" - ] - }, - { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-bottom" - ] - }, - { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-create" - ] - }, - { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-visible" - ] - }, - { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-position" - ] - }, - { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-progress-bar" - ] - }, - { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-maximize" - ] - }, - { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-icon" - ] - }, - { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-fullscreen" - ] - }, - { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-title" - ] - }, - { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-maximize" - ] - }, - { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-focus" - ] - }, - { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-resizable" - ] - }, - { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-request-user-attention" - ] - }, - { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-position" - ] - }, - { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimizable" - ] - }, - { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-min-size" - ] - }, - { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-title" - ] - }, - { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unminimize" - ] - }, - { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-scale-factor" - ] - }, - { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-maximizable" - ] - }, - { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-visible" - ] - }, - { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-minimize" - ] - }, - { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-minimizable" - ] - }, - { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-resizable" - ] - }, - { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-available-monitors" - ] - }, - { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-closable" - ] - }, - { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-maximize" - ] - }, - { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-focus" - ] - }, - { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-visible" - ] - }, - { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximized" - ] - }, - { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-hide" - ] - }, - { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-start-dragging" - ] - }, - { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-maximizable" - ] - }, - { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-show" - ] - }, - { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-start-dragging" - ] - }, - { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-minimizable" - ] - }, - { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-fullscreen" - ] - }, - { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-title" - ] - }, - { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-toggle-maximize" - ] - }, - { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-shadow" - ] - }, - { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-focused" - ] - }, - { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximized" - ] - }, - { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-position" - ] - }, - { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-hide" - ] - }, - { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-skip-taskbar" - ] - }, - { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-title" - ] - }, - { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-scale-factor" - ] - }, - { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-devtools" - ] - }, - { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-content-protected" - ] - }, - { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimizable" - ] - }, - { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-visible" - ] - }, - { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-shadow" - ] - }, - { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-icon" - ] - }, - { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-closable" - ] - }, - { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-grab" - ] - }, - { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-theme" - ] - }, - { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-content-protected" - ] - }, - { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-top" - ] - }, - { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-size" - ] - }, - { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimized" - ] - }, - { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-size" - ] - }, - { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-show" - ] - }, - { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-closable" - ] - }, - { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-top" - ] - }, - { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximizable" - ] - }, - { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-print" - ] - }, - { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-decorations" - ] - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/websocket/examples/svelte-app/src-tauri/.gitignore b/plugins/websocket/examples/svelte-app/src-tauri/.gitignore index c10605e59..b4fd48c68 100644 --- a/plugins/websocket/examples/svelte-app/src-tauri/.gitignore +++ b/plugins/websocket/examples/svelte-app/src-tauri/.gitignore @@ -3,5 +3,7 @@ /target/ WixTools +/capabilities/schemas + # These are backup files generated by rustfmt **/*.rs.bk diff --git a/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json b/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json deleted file mode 100644 index e09b1a5f9..000000000 --- a/plugins/websocket/examples/svelte-app/src-tauri/capabilities/.schema.json +++ /dev/null @@ -1,1779 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "a grouping and boundary mechanism developers can use to separate windows or plugins functionality from each other at runtime.\n\nIf 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 trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.", - "type": "object", - "required": [ - "identifier", - "permissions", - "windows" - ], - "properties": { - "context": { - "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", - "default": "local", - "allOf": [ - { - "$ref": "#/definitions/CapabilityContext" - } - ] - }, - "description": { - "description": "Description of the capability.", - "default": "", - "type": "string" - }, - "identifier": { - "description": "Identifier of the capability.", - "type": "string" - }, - "permissions": { - "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", - "type": "array", - "items": { - "$ref": "#/definitions/Identifier" - } - }, - "platforms": { - "description": "Target platforms this capability applies. By default all platforms applies.", - "default": [ - "desktop", - "mobile" - ], - "type": "array", - "items": { - "$ref": "#/definitions/CapabilityPlatform" - } - }, - "windows": { - "description": "List of windows that uses this capability. Can be a glob pattern.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "CapabilityContext": { - "description": "Context of the capability.", - "oneOf": [ - { - "description": "Capability refers to local URL usage.", - "type": "string", - "enum": [ - "local" - ] - }, - { - "description": "Capability refers to remote usage.", - "type": "object", - "required": [ - "remote" - ], - "properties": { - "remote": { - "type": "object", - "required": [ - "domains" - ], - "properties": { - "domains": { - "description": "Remote domains this capability refers to.", - "type": "array", - "items": { - "type": "string" - } - } - } - } - }, - "additionalProperties": false - } - ] - }, - "CapabilityPlatform": { - "description": "Target platform of a capability.", - "oneOf": [ - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "macOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS", - "type": "string", - "enum": [ - "iOS" - ] - }, - { - "description": "Desktop.", - "type": "string", - "enum": [ - "desktop" - ] - }, - { - "description": "Mobile.", - "type": "string", - "enum": [ - "mobile" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "app:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "app:default" - ] - }, - { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-hide" - ] - }, - { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-hide" - ] - }, - { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-show" - ] - }, - { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-version" - ] - }, - { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-version" - ] - }, - { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-tauri-version" - ] - }, - { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-name" - ] - }, - { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-tauri-version" - ] - }, - { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-name" - ] - }, - { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-show" - ] - }, - { - "description": "event:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "event:default" - ] - }, - { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-emit" - ] - }, - { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-emit" - ] - }, - { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-unlisten" - ] - }, - { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-listen" - ] - }, - { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-unlisten" - ] - }, - { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-listen" - ] - }, - { - "description": "menu:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "menu:default" - ] - }, - { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-accelerator" - ] - }, - { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-items" - ] - }, - { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-prepend" - ] - }, - { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove-at" - ] - }, - { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-new" - ] - }, - { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-get" - ] - }, - { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-popup" - ] - }, - { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-app-menu" - ] - }, - { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-insert" - ] - }, - { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove-at" - ] - }, - { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-popup" - ] - }, - { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-accelerator" - ] - }, - { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-checked" - ] - }, - { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-text" - ] - }, - { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-enabled" - ] - }, - { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-icon" - ] - }, - { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-app-menu" - ] - }, - { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-enabled" - ] - }, - { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-text" - ] - }, - { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-checked" - ] - }, - { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-create-default" - ] - }, - { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-window-menu" - ] - }, - { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-append" - ] - }, - { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-get" - ] - }, - { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-append" - ] - }, - { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-enabled" - ] - }, - { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-enabled" - ] - }, - { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-checked" - ] - }, - { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-create-default" - ] - }, - { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-insert" - ] - }, - { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove" - ] - }, - { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-window-menu" - ] - }, - { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-new" - ] - }, - { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-icon" - ] - }, - { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-prepend" - ] - }, - { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove" - ] - }, - { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-checked" - ] - }, - { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-text" - ] - }, - { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-items" - ] - }, - { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-text" - ] - }, - { - "description": "path:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "path:default" - ] - }, - { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve" - ] - }, - { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-is-absolute" - ] - }, - { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-join" - ] - }, - { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-extname" - ] - }, - { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-basename" - ] - }, - { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-join" - ] - }, - { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve" - ] - }, - { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-is-absolute" - ] - }, - { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-extname" - ] - }, - { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-dirname" - ] - }, - { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve-directory" - ] - }, - { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve-directory" - ] - }, - { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-normalize" - ] - }, - { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-basename" - ] - }, - { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-normalize" - ] - }, - { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-dirname" - ] - }, - { - "description": "resources:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "resources:default" - ] - }, - { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:allow-close" - ] - }, - { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:deny-close" - ] - }, - { - "description": "tray:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "tray:default" - ] - }, - { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-temp-dir-path" - ] - }, - { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-menu" - ] - }, - { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon-as-template" - ] - }, - { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-tooltip" - ] - }, - { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-tooltip" - ] - }, - { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-menu" - ] - }, - { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-visible" - ] - }, - { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-temp-dir-path" - ] - }, - { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-title" - ] - }, - { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-visible" - ] - }, - { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon" - ] - }, - { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-new" - ] - }, - { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon" - ] - }, - { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-new" - ] - }, - { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-title" - ] - }, - { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon-as-template" - ] - }, - { - "description": "websocket:default -> Allows connecting and sending data to a WebSocket server", - "type": "string", - "enum": [ - "websocket:default" - ] - }, - { - "description": "websocket:deny-send -> Denies the send command without any pre-configured scope.", - "type": "string", - "enum": [ - "websocket:deny-send" - ] - }, - { - "description": "websocket:allow-send -> Enables the send command without any pre-configured scope.", - "type": "string", - "enum": [ - "websocket:allow-send" - ] - }, - { - "description": "websocket:allow-connect -> Enables the connect command without any pre-configured scope.", - "type": "string", - "enum": [ - "websocket:allow-connect" - ] - }, - { - "description": "websocket:deny-connect -> Denies the connect command without any pre-configured scope.", - "type": "string", - "enum": [ - "websocket:deny-connect" - ] - }, - { - "description": "window:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "window:default" - ] - }, - { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-visible" - ] - }, - { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-theme" - ] - }, - { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-closable" - ] - }, - { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-skip-taskbar" - ] - }, - { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-center" - ] - }, - { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-progress-bar" - ] - }, - { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-position" - ] - }, - { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-resizable" - ] - }, - { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-visible" - ] - }, - { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-minimize" - ] - }, - { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-title" - ] - }, - { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-theme" - ] - }, - { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-visible" - ] - }, - { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-top" - ] - }, - { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-title" - ] - }, - { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-toggle-maximize" - ] - }, - { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-decorations" - ] - }, - { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-minimize" - ] - }, - { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-effects" - ] - }, - { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-size" - ] - }, - { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-shadow" - ] - }, - { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-title" - ] - }, - { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-focused" - ] - }, - { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-bottom" - ] - }, - { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-print" - ] - }, - { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-icon" - ] - }, - { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-effects" - ] - }, - { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-content-protected" - ] - }, - { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-max-size" - ] - }, - { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-start-dragging" - ] - }, - { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-start-dragging" - ] - }, - { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-maximize" - ] - }, - { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-fullscreen" - ] - }, - { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-maximize" - ] - }, - { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-close" - ] - }, - { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-icon" - ] - }, - { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-create" - ] - }, - { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-show" - ] - }, - { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unminimize" - ] - }, - { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-top" - ] - }, - { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-size" - ] - }, - { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-available-monitors" - ] - }, - { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-position" - ] - }, - { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-icon" - ] - }, - { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-grab" - ] - }, - { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-fullscreen" - ] - }, - { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-bottom" - ] - }, - { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-decorated" - ] - }, - { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-fullscreen" - ] - }, - { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-focused" - ] - }, - { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-icon" - ] - }, - { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-resizable" - ] - }, - { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-content-protected" - ] - }, - { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-progress-bar" - ] - }, - { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximizable" - ] - }, - { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unmaximize" - ] - }, - { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-current-monitor" - ] - }, - { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-current-monitor" - ] - }, - { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-decorated" - ] - }, - { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-create" - ] - }, - { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimized" - ] - }, - { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-maximize" - ] - }, - { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-closable" - ] - }, - { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-devtools" - ] - }, - { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-minimizable" - ] - }, - { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-skip-taskbar" - ] - }, - { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-resizable" - ] - }, - { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-position" - ] - }, - { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-focus" - ] - }, - { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-size" - ] - }, - { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-close" - ] - }, - { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-request-user-attention" - ] - }, - { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimizable" - ] - }, - { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-decorations" - ] - }, - { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimized" - ] - }, - { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-grab" - ] - }, - { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-size" - ] - }, - { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-toggle-maximize" - ] - }, - { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-hide" - ] - }, - { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-position" - ] - }, - { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-max-size" - ] - }, - { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-center" - ] - }, - { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-primary-monitor" - ] - }, - { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-resizable" - ] - }, - { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unmaximize" - ] - }, - { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-print" - ] - }, - { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-size" - ] - }, - { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-hide" - ] - }, - { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-position" - ] - }, - { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-position" - ] - }, - { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximized" - ] - }, - { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimizable" - ] - }, - { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-available-monitors" - ] - }, - { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-title" - ] - }, - { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unminimize" - ] - }, - { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-request-user-attention" - ] - }, - { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-scale-factor" - ] - }, - { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-focus" - ] - }, - { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-min-size" - ] - }, - { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximized" - ] - }, - { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-devtools" - ] - }, - { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-primary-monitor" - ] - }, - { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-position" - ] - }, - { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-size" - ] - }, - { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-show" - ] - }, - { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-maximizable" - ] - }, - { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-closable" - ] - }, - { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-maximize" - ] - }, - { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-position" - ] - }, - { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-shadow" - ] - }, - { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-min-size" - ] - }, - { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximizable" - ] - }, - { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-fullscreen" - ] - }, - { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-maximizable" - ] - }, - { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-closable" - ] - }, - { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-minimizable" - ] - }, - { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-scale-factor" - ] - }, - { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-visible" - ] - } - ] - } - } -} \ No newline at end of file From d4d5ccb98cf6937300e2ffaeb732187d8157671b Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Wed, 24 Jan 2024 17:14:59 -0300 Subject: [PATCH 10/35] update tauri [skip ci] --- Cargo.lock | 273 +- Cargo.toml | 6 +- examples/api/src-tauri/build.rs | 6 +- .../capabilities/schemas/desktop-schema.json | 2425 +++++++++-------- examples/api/src-tauri/src/lib.rs | 23 +- examples/api/src-tauri/src/tray.rs | 8 +- plugins/window-state/src/cmd.rs | 4 +- plugins/window-state/src/lib.rs | 6 +- 8 files changed, 1563 insertions(+), 1188 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f258f6d7d..fcfaaa449 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -285,7 +285,7 @@ dependencies = [ "parking_lot", "thiserror", "winapi", - "x11rb", + "x11rb 0.12.0", ] [[package]] @@ -300,6 +300,12 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + [[package]] name = "ascii" version = "1.1.0" @@ -749,6 +755,20 @@ name = "bytemuck" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] [[package]] name = "byteorder" @@ -912,6 +932,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f" + [[package]] name = "chacha20" version = "0.8.2" @@ -1542,12 +1568,66 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading 0.7.4", +] + [[package]] name = "dotenvy" version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "drm" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" +dependencies = [ + "bitflags 2.4.1", + "bytemuck", + "drm-ffi", + "drm-fourcc", + "rustix 0.38.25", +] + +[[package]] +name = "drm-ffi" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" +dependencies = [ + "drm-sys", + "rustix 0.38.25", +] + +[[package]] +name = "drm-fourcc" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" + +[[package]] +name = "drm-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176" +dependencies = [ + "libc", + "linux-raw-sys 0.6.4", +] + [[package]] name = "dtoa" version = "1.0.9" @@ -3155,7 +3235,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" dependencies = [ "gtk-sys", - "libloading", + "libloading 0.7.4", "once_cell", ] @@ -3175,6 +3255,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "libloading" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "libm" version = "0.2.8" @@ -3262,6 +3352,12 @@ version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +[[package]] +name = "linux-raw-sys" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4" + [[package]] name = "lock_api" version = "0.4.11" @@ -3384,6 +3480,15 @@ version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +[[package]] +name = "memmap2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92" +dependencies = [ + "libc", +] + [[package]] name = "memoffset" version = "0.6.5" @@ -3525,7 +3630,7 @@ dependencies = [ "jni-sys", "ndk-sys", "num_enum", - "raw-window-handle", + "raw-window-handle 0.5.2", "thiserror", ] @@ -4546,6 +4651,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +[[package]] +name = "raw-window-handle" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" + [[package]] name = "read-progress-stream" version = "1.0.0" @@ -4712,7 +4823,7 @@ dependencies = [ "objc", "objc-foundation", "objc_id", - "raw-window-handle", + "raw-window-handle 0.5.2", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -5296,6 +5407,37 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "softbuffer" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071916a85d1db274b4ed57af3a14afb66bd836ae7f82ebb6f1fd3455107830d9" +dependencies = [ + "as-raw-xcb-connection", + "bytemuck", + "cfg_aliases 0.2.0", + "cocoa 0.25.0", + "core-graphics 0.23.1", + "drm", + "fastrand 2.0.1", + "foreign-types 0.5.0", + "js-sys", + "log", + "memmap2", + "objc", + "raw-window-handle 0.6.0", + "redox_syscall 0.4.1", + "rustix 0.38.25", + "tiny-xlib", + "wasm-bindgen", + "wayland-backend", + "wayland-client", + "wayland-sys", + "web-sys", + "windows-sys 0.52.0", + "x11rb 0.13.0", +] + [[package]] name = "soup3" version = "0.5.0" @@ -5801,7 +5943,8 @@ dependencies = [ "once_cell", "parking_lot", "png", - "raw-window-handle", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.0", "scopeguard", "tao-macros", "unicode-segmentation", @@ -5844,7 +5987,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" dependencies = [ "anyhow", "bytes 1.5.0", @@ -5868,7 +6011,7 @@ dependencies = [ "objc", "percent-encoding", "png", - "raw-window-handle", + "raw-window-handle 0.5.2", "reqwest", "serde", "serde_json", @@ -5896,7 +6039,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" dependencies = [ "anyhow", "cargo_toml", @@ -5921,7 +6064,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" dependencies = [ "base64 0.21.5", "brotli", @@ -5946,7 +6089,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" dependencies = [ "heck", "proc-macro2", @@ -5958,15 +6101,14 @@ dependencies = [ [[package]] name = "tauri-plugin" -version = "0.1.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" +version = "1.0.0" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" dependencies = [ "cargo_metadata", "glob", "serde", "serde_json", "tauri", - "tauri-utils", "toml 0.8.8", ] @@ -6077,7 +6219,7 @@ version = "2.0.0-alpha.6" dependencies = [ "glib 0.16.9", "log", - "raw-window-handle", + "raw-window-handle 0.5.2", "rfd", "serde", "serde_json", @@ -6409,12 +6551,12 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" dependencies = [ "gtk", "http", "jni", - "raw-window-handle", + "raw-window-handle 0.5.2", "serde", "serde_json", "tauri-utils", @@ -6426,14 +6568,15 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" dependencies = [ "cocoa 0.25.0", "gtk", "http", "jni", "percent-encoding", - "raw-window-handle", + "raw-window-handle 0.5.2", + "softbuffer", "tao", "tauri-runtime", "tauri-utils", @@ -6446,7 +6589,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/allowlist-v2#8dd6ec180b2071b27e1a2d56318e3f24d11951d9" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" dependencies = [ "aes-gcm 0.10.3", "brotli", @@ -6610,6 +6753,18 @@ dependencies = [ "time-core", ] +[[package]] +name = "tiny-xlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d" +dependencies = [ + "as-raw-xcb-connection", + "ctor", + "libloading 0.8.1", + "tracing", +] + [[package]] name = "tiny_http" version = "0.11.0" @@ -7313,6 +7468,55 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wayland-backend" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4" +dependencies = [ + "cc", + "downcast-rs", + "nix 0.26.4", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3" +dependencies = [ + "bitflags 2.4.1", + "nix 0.26.4", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c" +dependencies = [ + "proc-macro2", + "quick-xml 0.30.0", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + [[package]] name = "web-sys" version = "0.3.65" @@ -7499,7 +7703,7 @@ checksum = "67ff424735b1ac21293b0492b069394b0a189c8a463fb015a16dea7c2e221c08" dependencies = [ "cocoa 0.25.0", "objc", - "raw-window-handle", + "raw-window-handle 0.5.2", "windows-sys 0.48.0", ] @@ -7511,7 +7715,7 @@ checksum = "af6abc2b9c56bd95887825a1ce56cde49a2a97c07e28db465d541f5098a2656c" dependencies = [ "cocoa 0.25.0", "objc", - "raw-window-handle", + "raw-window-handle 0.5.2", "windows-sys 0.52.0", "windows-version", ] @@ -7896,7 +8100,7 @@ checksum = "d3016c47c9b6f7029a9da7cd48af8352327226bba0e955f3c92e2966651365a9" dependencies = [ "base64 0.21.5", "block", - "cfg_aliases", + "cfg_aliases 0.1.1", "cocoa 0.25.0", "core-graphics 0.23.1", "crossbeam-channel", @@ -7916,7 +8120,7 @@ dependencies = [ "objc", "objc_id", "once_cell", - "raw-window-handle", + "raw-window-handle 0.5.2", "serde", "serde_json", "sha2 0.10.8", @@ -7964,7 +8168,22 @@ dependencies = [ "nix 0.26.4", "winapi", "winapi-wsapoll", - "x11rb-protocol", + "x11rb-protocol 0.12.0", +] + +[[package]] +name = "x11rb" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" +dependencies = [ + "as-raw-xcb-connection", + "gethostname 0.4.3", + "libc", + "libloading 0.8.1", + "once_cell", + "rustix 0.38.25", + "x11rb-protocol 0.13.0", ] [[package]] @@ -7976,6 +8195,12 @@ dependencies = [ "nix 0.26.4", ] +[[package]] +name = "x11rb-protocol" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" + [[package]] name = "x25519-dalek" version = "1.1.1" diff --git a/Cargo.toml b/Cargo.toml index 15f2f9f2a..b189d602a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,9 +10,9 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "feat/allowlist-v2" } -tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "feat/allowlist-v2" } -tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "feat/allowlist-v2" } +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } serde_json = "1" thiserror = "1" url = "2" diff --git a/examples/api/src-tauri/build.rs b/examples/api/src-tauri/build.rs index 21901574c..322bc7bf3 100644 --- a/examples/api/src-tauri/build.rs +++ b/examples/api/src-tauri/build.rs @@ -3,11 +3,11 @@ // SPDX-License-Identifier: MIT fn main() { - tauri_build::build(); - let mut codegen = tauri_build::CodegenContext::new(); if !cfg!(feature = "custom-protocol") { codegen = codegen.dev(); } - codegen.build(); + + tauri_build::try_build(tauri_build::Attributes::new().codegen(codegen)) + .expect("failed to run tauri_build::try_build"); } diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index 0ccbaed41..9d42d11a5 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -110,7 +110,7 @@ ], "properties": { "domains": { - "description": "Remote domains this capability refers to.", + "description": "Remote domains this capability refers to. Can use glob patterns.", "type": "array", "items": { "type": "string" @@ -134,17 +134,24 @@ ] }, { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-tauri-version" + "app:allow-version" ] }, { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-show" + "app:deny-name" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" ] }, { @@ -155,10 +162,10 @@ ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-version" + "app:allow-tauri-version" ] }, { @@ -169,17 +176,17 @@ ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-name" + "app:allow-app-show" ] }, { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-show" + "app:allow-name" ] }, { @@ -190,17 +197,10 @@ ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-name" - ] - }, - { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-tauri-version" + "app:deny-app-show" ] }, { @@ -225,24 +225,24 @@ ] }, { - "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", + "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:allow-write" + "clipboard-manager:allow-read" ] }, { - "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:allow-read" + "clipboard-manager:deny-write" ] }, { - "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", + "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:deny-write" + "clipboard-manager:allow-write" ] }, { @@ -253,73 +253,73 @@ ] }, { - "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-ask" + "dialog:allow-save" ] }, { - "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-open" + "dialog:deny-message" ] }, { - "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-open" + "dialog:allow-confirm" ] }, { - "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-ask" + "dialog:deny-confirm" ] }, { - "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-message" + "dialog:deny-save" ] }, { - "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-confirm" + "dialog:deny-open" ] }, { - "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-message" + "dialog:deny-ask" ] }, { - "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-save" + "dialog:allow-ask" ] }, { - "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-save" + "dialog:allow-message" ] }, { - "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-confirm" + "dialog:allow-open" ] }, { @@ -330,10 +330,17 @@ ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "event:deny-unlisten" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" ] }, { @@ -344,101 +351,101 @@ ] }, { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-listen" + "event:allow-listen" ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-emit" + "event:deny-listen" ] }, { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-unlisten" + "event:allow-emit" ] }, { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", "type": "string", "enum": [ - "event:allow-unlisten" + "fs:allow-document-write-recursive" ] }, { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-read" + "fs:allow-audio-meta" ] }, { - "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-cache-meta-recursive" + "fs:allow-desktop-write-recursive" ] }, { - "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta-recursive" + "fs:allow-download-read" ] }, { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-public-write" + "fs:allow-localdata-meta" ] }, { - "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-write-recursive" + "fs:allow-template-meta" ] }, { - "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-resource-meta" + "fs:allow-video-read" ] }, { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-template-write" + "fs:allow-video-write-recursive" ] }, { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", + "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appconfig-write" + "fs:allow-picture-write-recursive" ] }, { - "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-config-meta-recursive" + "fs:allow-applocaldata-write" ] }, { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-desktop-read" + "fs:allow-cache-read" ] }, { @@ -449,262 +456,276 @@ ] }, { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", + "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-exe-write" + "fs:allow-document-read-recursive" ] }, { - "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-write-recursive" + "fs:allow-appcache-meta" ] }, { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-write-recursive" + "fs:allow-appcache-write" ] }, { - "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "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-log-meta" + "fs:allow-app-read-recursive" ] }, { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appcache-write" + "fs:allow-applocaldata-write-recursive" ] }, { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-read" + "fs:allow-exe-meta-recursive" ] }, { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-download-read-recursive" + "fs:allow-log-read" ] }, { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-picture-read" + "fs:allow-app-read" ] }, { - "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-audio-write-recursive" + "fs:allow-desktop-read" ] }, { - "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "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-resource-meta-recursive" + "fs:allow-download-read-recursive" ] }, { - "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-config-meta" + "fs:allow-download-write-recursive" ] }, { - "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-appdata-meta" + "fs:allow-download-write" ] }, { - "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-document-meta-recursive" + "fs:allow-audio-read" ] }, { - "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-write-recursive" + "fs:allow-audio-meta-recursive" ] }, { - "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-public-write-recursive" + "fs:allow-public-meta" ] }, { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-runtime-write" + "fs:allow-font-read" ] }, { - "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-write-recursive" + "fs:allow-download-meta" ] }, { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-read-recursive" + "fs:allow-runtime-meta-recursive" ] }, { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "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" + "fs:allow-resource-read-recursive" ] }, { - "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "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-template-meta" + "fs:allow-localdata-read-recursive" ] }, { - "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-video-meta" + "fs:allow-public-write-recursive" ] }, { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-document-read-recursive" + "fs:allow-temp-read" ] }, { - "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-desktop-write-recursive" + "fs:allow-cache-write" ] }, { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-read" + "fs:allow-cache-meta-recursive" ] }, { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", + "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-download-write" + "fs:allow-font-read-recursive" ] }, { - "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-write-recursive" + "fs:allow-font-meta" ] }, { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "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-runtime-read-recursive" + "fs:allow-applocaldata-read-recursive" ] }, { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-app-read-recursive" + "fs:allow-public-write" ] }, { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "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-picture-read-recursive" + "fs:allow-cache-read-recursive" ] }, { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-read" + "fs:allow-cache-meta" ] }, { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-audio-read-recursive" + "fs:allow-localdata-read" ] }, { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-document-write" + "fs:allow-appconfig-write" ] }, { - "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-exe-meta" + "fs:allow-applog-write-recursive" ] }, { - "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-write-recursive" + "fs:allow-template-meta-recursive" ] }, { - "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-localdata-meta-recursive" + "fs:allow-document-read" ] }, { - "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", "type": "string", "enum": [ - "fs:allow-document-meta" + "fs:deny-default" ] }, { - "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-meta" + "fs:allow-document-meta-recursive" + ] + }, + { + "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-font-meta-recursive" + ] + }, + { + "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-config-write-recursive" ] }, { @@ -715,143 +736,178 @@ ] }, { - "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-meta-recursive" + "fs:allow-appdata-meta-recursive" ] }, { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-exe-read" + "fs:allow-app-write-recursive" ] }, { - "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-temp-write-recursive" + "fs:allow-data-read" ] }, { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-appdata-read" + "fs:allow-exe-write" ] }, { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-write" + "fs:allow-home-meta-recursive" ] }, { - "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-meta" + "fs:allow-resource-meta" ] }, { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-read-recursive" + "fs:allow-config-meta-recursive" ] }, { - "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-meta" + "fs:allow-picture-meta" ] }, { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "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-picture-write" + "fs:allow-temp-read-recursive" ] }, { - "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-write-recursive" + "fs:allow-applocaldata-meta-recursive" ] }, { - "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-appdata-meta-recursive" + "fs:allow-config-write" ] }, { - "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "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-font-meta-recursive" + "fs:allow-picture-read-recursive" ] }, { - "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-exe-meta-recursive" + "fs:allow-log-write" ] }, { - "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-runtime-meta" + "fs:allow-applocaldata-read" ] }, { - "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "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-runtime-meta-recursive" + "fs:allow-data-read-recursive" ] }, { - "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-app-write-recursive" + "fs:allow-audio-write" ] }, { - "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-runtime-write-recursive" + "fs:allow-appconfig-meta" ] }, { - "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-public-meta" + "fs:allow-picture-read" ] }, { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-applocaldata-read" + "fs:allow-log-write-recursive" ] }, { - "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "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-applog-meta-recursive" + "fs:allow-appconfig-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-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appconfig-meta-recursive" + ] + }, + { + "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-font-write-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-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-resource-meta-recursive" ] }, { @@ -862,339 +918,430 @@ ] }, { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-video-read" + "fs:allow-applog-write" ] }, { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-read" + "fs:allow-appcache-write-recursive" ] }, { - "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", + "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-read" + "fs:allow-applocaldata-meta" ] }, { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-read" + "fs:allow-config-meta" ] }, { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-read-recursive" + "fs:allow-video-meta" ] }, { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-cache-read" + "fs:allow-audio-write-recursive" ] }, { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-applog-write" + "fs:allow-data-write" ] }, { - "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "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-audio-meta-recursive" + "fs:allow-template-read-recursive" ] }, { - "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "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-template-meta-recursive" + "fs:allow-applog-read-recursive" ] }, { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-cache-write" + "fs:allow-appcache-read" ] }, { - "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-meta-recursive" + "fs:allow-runtime-meta" ] }, { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-public-read-recursive" + "fs:allow-home-write" + ] + }, + { + "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-picture-meta-recursive" + ] + }, + { + "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-runtime-write-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-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-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-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-appcache-meta-recursive" + ] + }, + { + "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-localdata-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-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "fs:allow-data-meta" + ] + }, + { + "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-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "type": "string", + "enum": [ + "fs:allow-public-read" + ] + }, + { + "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-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-appdata-write-recursive" ] }, { - "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "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-log-meta-recursive" + "fs:allow-appdata-read-recursive" ] }, { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-localdata-read" + "fs:allow-data-write-recursive" ] }, { - "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-temp-meta" + "fs:allow-template-write-recursive" ] }, { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "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-resource-read-recursive" + "fs:allow-public-read-recursive" ] }, { - "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-localdata-meta" + "fs:allow-resource-write-recursive" ] }, { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-font-write" + "fs:allow-data-meta-recursive" ] }, { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-read-recursive" + "fs:allow-appdata-write" ] }, { - "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-meta" + "fs:allow-app-meta-recursive" ] }, { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-read-recursive" + "fs:allow-document-meta" ] }, { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "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-home-write" + "fs:allow-exe-read-recursive" ] }, { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-temp-write" + "fs:allow-video-write" ] }, { - "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-data-meta" + "fs:allow-cache-write-recursive" ] }, { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-read" + "fs:allow-download-meta-recursive" ] }, { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-log-write" + "fs:allow-exe-read" ] }, { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-config-write" + "fs:allow-font-write" ] }, { - "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-meta-recursive" + "fs:allow-log-meta" ] }, { - "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-write-recursive" + "fs:allow-temp-meta" ] }, { - "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-applog-write-recursive" + "fs:allow-template-write" ] }, { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "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-runtime-read" + "fs:allow-video-read-recursive" ] }, { - "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "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-appcache-write-recursive" + "fs:allow-log-read-recursive" ] }, { - "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-write-recursive" + "fs:allow-exe-meta" ] }, { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-read-recursive" + "fs:allow-appdata-meta" ] }, { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-video-write" + "fs:allow-document-write" ] }, { - "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-appdata-write-recursive" + "fs:allow-localdata-write" ] }, { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-write" + "fs:allow-temp-meta-recursive" ] }, { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-home-read-recursive" + "fs:allow-applog-read" ] }, { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-data-read-recursive" + "fs:allow-localdata-write-recursive" ] }, { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-desktop-read-recursive" + "fs:allow-config-read" ] }, { - "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "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-temp-meta-recursive" + "fs:allow-appcache-read-recursive" ] }, { - "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-font-meta" + "fs:allow-picture-write" ] }, { - "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta" + "fs:allow-app-write" ] }, { - "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-write-recursive" + "fs:allow-app-meta" ] }, { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "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-log-read" + "fs:allow-audio-read-recursive" ] }, { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-video-read-recursive" + "fs:allow-runtime-read" ] }, { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:deny-default" + "fs:allow-log-meta-recursive" ] }, { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-localdata-write" + "fs:allow-appdata-read" ] }, { @@ -1205,38 +1352,45 @@ ] }, { - "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-meta-recursive" + "fs:allow-home-meta" ] }, { - "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-picture-meta" + "fs:allow-desktop-write" ] }, { - "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "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-picture-meta-recursive" + "fs:allow-home-read-recursive" ] }, { - "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-write" + "fs:allow-applog-meta-recursive" ] }, { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-font-read" + "fs:allow-temp-write" + ] + }, + { + "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-exe-write-recursive" ] }, { @@ -1247,220 +1401,220 @@ ] }, { - "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "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-download-meta" + "fs:allow-runtime-read-recursive" ] }, { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-desktop-write" + "fs:allow-temp-write-recursive" ] }, { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-temp-read-recursive" + "fs:allow-home-write-recursive" ] }, { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", + "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-read" + "fs:allow-video-meta-recursive" ] }, { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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:allow-document-read" + "fs:default" ] }, { - "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "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:allow-video-meta-recursive" + "fs:scope-config" ] }, { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-applog-read" + "fs:allow-fstat" ] }, { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-font-read-recursive" + "fs:allow-read" ] }, { - "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", "type": "string", "enum": [ - "fs:allow-home-meta" + "fs:scope-document-index" ] }, { - "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-appcache-meta" + "fs:allow-read-dir" ] }, { - "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-download-write-recursive" + "fs:allow-mkdir" ] }, { - "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "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:allow-picture-write-recursive" + "fs:scope-desktop" ] }, { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", "type": "string", "enum": [ - "fs:allow-appdata-write" + "fs:scope-font-index" ] }, { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:allow-appcache-read-recursive" + "fs:read-meta" ] }, { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-audio-write" + "fs:scope-appcache-recursive" ] }, { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "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:allow-cache-read-recursive" + "fs:scope-applocaldata" ] }, { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "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:allow-temp-read" + "fs:scope-audio" ] }, { - "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", "type": "string", "enum": [ - "fs:allow-video-write-recursive" + "fs:scope-appconfig-index" ] }, { - "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", "type": "string", "enum": [ - "fs:allow-font-write-recursive" + "fs:scope-video-index" ] }, { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "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:allow-resource-write" + "fs:scope-appdata" ] }, { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-template-read" + "fs:scope-video-recursive" ] }, { - "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-download-meta-recursive" + "fs:deny-open" ] }, { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-appdata-read-recursive" + "fs:allow-open" ] }, { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-localdata-read-recursive" + "fs:allow-copy-file" ] }, { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-applog-read-recursive" + "fs:allow-rename" ] }, { - "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-appconfig-meta-recursive" + "fs:allow-truncate" ] }, { - "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:default" + "fs:allow-read-text-file-lines" ] }, { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-audio" + "fs:deny-write" ] }, { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-audio-index" + "fs:allow-write-text-file" ] }, { - "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture-recursive" + "fs:deny-create" ] }, { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp" + "fs:allow-create" ] }, { @@ -1471,80 +1625,80 @@ ] }, { - "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-log-recursive" + "fs:allow-write-file" ] }, { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", + "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", "type": "string", "enum": [ - "fs:write-all" + "fs:scope-app-index" ] }, { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-exists" + "fs:scope-config-recursive" ] }, { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", "type": "string", "enum": [ - "fs:deny-read-dir" + "fs:scope-exe-index" ] }, { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-appcache" + "fs:scope-data-recursive" ] }, { - "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "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-app-recursive" + "fs:scope-localdata" ] }, { - "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-download-recursive" + "fs:scope-temp-recursive" ] }, { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", + "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-seek" + "fs:allow-unwatch" ] }, { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", + "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-watch" + "fs:scope-public-recursive" ] }, { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-lstat" + "fs:allow-remove" ] }, { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", + "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-stat" + "fs:scope-log-recursive" ] }, { @@ -1554,13 +1708,6 @@ "fs:scope-public" ] }, - { - "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-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", "type": "string", @@ -1569,38 +1716,38 @@ ] }, { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", + "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-video" + "fs:allow-exists" ] }, { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font" + "fs:allow-lstat" ] }, { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-copy-file" + "fs:scope-appdata-recursive" ] }, { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appconfig" + "fs:deny-lstat" ] }, { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applocaldata" + "fs:deny-read-text-file" ] }, { @@ -1611,374 +1758,374 @@ ] }, { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "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-data" + "fs:scope-picture" ] }, { - "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-localdata-recursive" + "fs:scope-template-recursive" ] }, { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-text-file" + "fs:deny-fstat" ] }, { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-write-text-file" + "fs:deny-unwatch" ] }, { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-temp-index" + "fs:scope-applog-recursive" ] }, { - "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-document-recursive" + "fs:write-all" ] }, { - "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-audio-recursive" + "fs:scope-download-recursive" ] }, { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-document" + "fs:scope-appconfig-recursive" ] }, { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", "type": "string", "enum": [ - "fs:scope-exe-index" + "fs:scope-applog-index" ] }, { - "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": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-webview-data-windows" + "fs:deny-remove" ] }, { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-remove" + "fs:allow-watch" ] }, { - "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "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-template-recursive" + "fs:scope-runtime" ] }, { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", + "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-watch" + "fs:scope-app-recursive" ] }, { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", + "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:read-all" + "fs:deny-read-dir" ] }, { - "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-exe-recursive" + "fs:allow-read-file" ] }, { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", + "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-create" + "fs:deny-ftruncate" ] }, { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", "type": "string", "enum": [ - "fs:deny-write" + "fs:scope-template-index" ] }, { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-home-index" + "fs:write-files" ] }, { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "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-log" + "fs:scope-applog" ] }, { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-file" + "fs:deny-truncate" ] }, { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font-index" + "fs:deny-read-text-file-lines" ] }, { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", "type": "string", "enum": [ - "fs:scope-runtime" + "fs:scope-config-index" ] }, { - "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-applocaldata-recursive" + "fs:scope-font-recursive" ] }, { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-config-index" + "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": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines-next" + "fs:scope-home-index" ] }, { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-unwatch" + "fs:scope-exe-recursive" ] }, { - "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", + "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-picture" + "fs:scope-applocaldata-recursive" ] }, { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-dir" + "fs:deny-stat" ] }, { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "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:deny-write-text-file" + "fs:scope-document" ] }, { - "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", "type": "string", "enum": [ - "fs:scope-font-recursive" + "fs:scope-appdata-index" ] }, { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "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-data-index" + "fs:scope-font" ] }, { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "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:deny-unwatch" + "fs:scope-log" ] }, { - "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "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-video-recursive" + "fs:scope-temp" ] }, { - "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", "type": "string", "enum": [ - "fs:scope-appconfig-recursive" + "fs:scope-public-index" ] }, { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture-index" + "fs:allow-write" ] }, { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:deny-remove" + "fs:read-all" ] }, { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-cache" + "fs:scope-cache-recursive" ] }, { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", + "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-truncate" + "fs:deny-copy-file" ] }, { - "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", "type": "string", "enum": [ - "fs:scope-resource-recursive" + "fs:scope-localdata-index" ] }, { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines" + "fs:deny-watch" ] }, { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "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-video-index" + "fs:scope-exe" ] }, { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", "type": "string", "enum": [ - "fs:allow-copy-file" + "fs:scope-log-index" ] }, { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "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-template-index" + "fs:scope-cache" ] }, { - "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "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-temp-recursive" + "fs:scope-appconfig" ] }, { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", "type": "string", "enum": [ - "fs:deny-ftruncate" + "fs:scope-appcache-index" ] }, { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", + "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", "type": "string", "enum": [ - "fs:deny-create" + "fs:scope-audio-index" ] }, { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", + "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read" + "fs:deny-mkdir" ] }, { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:write-files" + "fs:scope-desktop-recursive" ] }, { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", "type": "string", "enum": [ - "fs:scope-log-index" + "fs:scope-cache-index" ] }, { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "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:allow-ftruncate" + "fs:scope-download" ] }, { - "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "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-appdata-recursive" + "fs:scope-template" ] }, { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "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-applog-index" + "fs:scope-app" ] }, { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "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:allow-rename" + "fs:scope-data" ] }, { @@ -1989,1389 +2136,1389 @@ ] }, { - "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "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:scope-cache-recursive" + "fs:deny-webview-data-linux" ] }, { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", + "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-write-file" + "fs:deny-rename" ] }, { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-cache-index" + "fs:scope-localdata-recursive" ] }, { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-template" + "fs:scope-picture-recursive" ] }, { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-read-file" + "fs:scope-home-recursive" ] }, { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", "type": "string", "enum": [ - "fs:scope-appcache-index" + "fs:scope-temp-index" ] }, { - "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-home-recursive" + "fs:allow-ftruncate" ] }, { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "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:deny-exists" + "fs:scope-appcache" ] }, { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-public-index" + "fs:deny-exists" ] }, { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appdata-index" + "fs:allow-seek" ] }, { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-desktop-index" + "fs:allow-read-text-file" ] }, { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appconfig-index" + "fs:deny-write-file" ] }, { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", + "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:deny-open" + "fs:scope-home" ] }, { - "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", "type": "string", "enum": [ - "fs:scope-desktop-recursive" + "fs:scope-resource-index" ] }, { - "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "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-config-recursive" + "fs:scope-resource" ] }, { - "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", "type": "string", "enum": [ - "fs:scope-data-recursive" + "fs:scope-desktop-index" ] }, { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "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:scope-home" + "fs:allow-read-text-file-lines-next" ] }, { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-download" + "fs:read-files" ] }, { - "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", "type": "string", "enum": [ - "fs:scope-applog-recursive" + "fs:scope-data-index" ] }, { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", + "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-app" + "fs:allow-stat" ] }, { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", + "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-stat" + "fs:scope-document-recursive" ] }, { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-fstat" + "fs:deny-read-file" ] }, { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-write-file" + "fs:scope-resource-recursive" ] }, { - "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": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-webview-data-linux" + "fs:scope-audio-recursive" ] }, { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "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-applog" + "fs:scope-video" ] }, { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "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-rename" + "fs:deny-webview-data-windows" ] }, { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", + "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", "type": "string", "enum": [ - "fs:read-files" + "fs:scope-picture-index" ] }, { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-lstat" + "fs:deny-seek" ] }, { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-app-index" + "fs:scope-runtime-recursive" ] }, { - "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appcache-recursive" + "fs:deny-write-text-file" ] }, { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", + "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:allow-read-text-file-lines-next" + "fs:deny-read-text-file-lines-next" ] }, { - "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-public-recursive" + "global-shortcut:allow-register" ] }, { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", + "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-write" + "global-shortcut:deny-register-all" ] }, { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-document-index" + "global-shortcut:deny-register" ] }, { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-fstat" + "global-shortcut:deny-unregister" ] }, { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-seek" + "global-shortcut:deny-unregister-all" ] }, { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appdata" + "global-shortcut:allow-is-registered" ] }, { - "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-runtime-recursive" + "global-shortcut:allow-register-all" ] }, { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-mkdir" + "global-shortcut:deny-is-registered" ] }, { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-text-file" + "global-shortcut:allow-unregister" ] }, { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-mkdir" + "global-shortcut:allow-unregister-all" ] }, { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", + "description": "http:default -> Allows all fetch operations", "type": "string", "enum": [ - "fs:read-meta" + "http:default" ] }, { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read" + "http:deny-fetch" ] }, { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-localdata-index" + "http:allow-fetch-read-body" ] }, { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-localdata" + "http:allow-fetch-cancel" ] }, { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines" + "http:deny-fetch-send" ] }, { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-config" + "http:deny-fetch-cancel" ] }, { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource" + "http:allow-fetch" ] }, { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-desktop" + "http:allow-fetch-send" ] }, { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-exe" + "http:deny-fetch-read-body" ] }, { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "description": "log:default -> Allows the log command", "type": "string", "enum": [ - "fs:allow-open" + "log:default" ] }, { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "description": "log:allow-log -> Enables the log command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-truncate" + "log:allow-log" ] }, { - "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "description": "log:deny-log -> Denies the log command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-is-registered" + "log:deny-log" ] }, { - "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "description": "menu:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "global-shortcut:deny-unregister-all" + "menu:default" ] }, { - "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-register" + "menu:deny-append" ] }, { - "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-register" + "menu:allow-insert" ] }, { - "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-register-all" + "menu:deny-get" ] }, { - "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-register-all" + "menu:deny-is-checked" ] }, { - "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-unregister" + "menu:deny-set-enabled" ] }, { - "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-unregister-all" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-unregister" + "menu:allow-append" ] }, { - "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-is-registered" + "menu:deny-is-enabled" ] }, { - "description": "http:default -> Allows all fetch operations", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "http:default" + "menu:allow-set-as-app-menu" ] }, { - "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-send" + "menu:deny-set-checked" ] }, { - "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch" + "menu:allow-create-default" ] }, { - "description": "http:deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-cancel" + "menu:allow-set-as-window-menu" ] }, { - "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch" + "menu:deny-set-accelerator" ] }, { - "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-read-body" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-send" + "menu:deny-set-text" ] }, { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-cancel" + "menu:deny-text" ] }, { - "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-read-body" + "menu:deny-prepend" ] }, { - "description": "log:default -> Allows the log command", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "log:default" + "menu:allow-is-checked" ] }, { - "description": "log:deny-log -> Denies the log command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "log:deny-log" + "menu:allow-remove" ] }, { - "description": "log:allow-log -> Enables the log command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "log:allow-log" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:default -> Default permissions for the plugin.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:default" + "menu:deny-set-icon" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:allow-prepend" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "menu:deny-remove" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:deny-remove-at" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:deny-create-default" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:deny-set-as-app-menu" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:allow-popup" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "menu:deny-insert" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:allow-is-enabled" ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:deny-popup" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "menu:allow-get" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:allow-set-enabled" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:allow-set-text" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:deny-new" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:allow-text" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:allow-items" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:deny-items" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "menu:allow-remove-at" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:allow-set-checked" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "menu:allow-set-icon" ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:allow-set-accelerator" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:allow-new" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "notification:default -> Allows requesting permission, checking permission state and sending notifications", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "notification:default" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "notification:allow-request-permission" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "notification:deny-notify" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "notification:allow-is-permission-granted" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "notification:deny-is-permission-granted" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "notification:deny-request-permission" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "notification:allow-notify" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "os:allow-platform" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "os:deny-arch" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "os:deny-os-type" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "os:allow-hostname" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "os:allow-locale" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "os:deny-locale" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "os:deny-platform" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "os:allow-arch" ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "os:deny-family" ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "os:allow-version" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "os:allow-family" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-append" + "os:allow-exe-extension" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "os:deny-exe-extension" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "os:deny-version" ] }, { - "description": "notification:default -> Allows requesting permission, checking permission state and sending notifications", + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "notification:default" + "os:deny-hostname" ] }, { - "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-request-permission" + "os:allow-os-type" ] }, { - "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "description": "path:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "notification:deny-notify" + "path:default" ] }, { - "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-is-permission-granted" + "path:deny-is-absolute" ] }, { - "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-notify" + "path:allow-extname" ] }, { - "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-is-permission-granted" + "path:allow-join" ] }, { - "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-request-permission" + "path:deny-basename" ] }, { - "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-arch" + "path:allow-normalize" ] }, { - "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-family" + "path:allow-resolve" ] }, { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-platform" + "path:allow-dirname" ] }, { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-os-type" + "path:deny-extname" ] }, { - "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-locale" + "path:deny-join" ] }, { - "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-locale" + "path:allow-is-absolute" ] }, { - "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-platform" + "path:deny-resolve-directory" ] }, { - "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-exe-extension" + "path:deny-resolve" ] }, { - "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-hostname" + "path:allow-basename" ] }, { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-exe-extension" + "path:deny-normalize" ] }, { - "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-version" + "path:deny-dirname" ] }, { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-os-type" + "path:allow-resolve-directory" ] }, { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-hostname" + "process:deny-exit" ] }, { - "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-version" + "process:deny-restart" ] }, { - "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-arch" + "process:allow-restart" ] }, { - "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-family" + "process:allow-exit" ] }, { - "description": "path:default -> Default permissions for the plugin.", + "description": "resources:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "path:default" + "resources:default" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "resources:deny-close" ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "resources:allow-close" ] }, { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-extname" + "shell:allow-open" ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "shell:deny-execute" ] }, { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve" + "shell:allow-execute" ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "shell:deny-stdin-write" ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "shell:deny-kill" ] }, { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-is-absolute" + "shell:allow-stdin-write" ] }, { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-basename" + "shell:deny-open" ] }, { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-extname" + "shell:allow-kill" ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "tray:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "path:allow-normalize" + "tray:default" ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "tray:allow-set-tooltip" ] }, { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-dirname" + "tray:allow-new" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "tray:allow-set-show-menu-on-left-click" ] }, { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-join" + "tray:allow-set-title" ] }, { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve" + "tray:deny-set-icon" ] }, { - "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-restart" + "tray:allow-set-icon" ] }, { - "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-restart" + "tray:deny-set-temp-dir-path" ] }, { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-exit" + "tray:deny-set-menu" ] }, { - "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-exit" + "tray:deny-set-show-menu-on-left-click" ] }, { - "description": "resources:default -> Default permissions for the plugin.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "resources:default" + "tray:allow-set-temp-dir-path" ] }, { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "resources:allow-close" + "tray:allow-set-visible" ] }, { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "resources:deny-close" + "tray:deny-set-title" ] }, { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-stdin-write" + "tray:deny-set-visible" ] }, { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-open" + "tray:deny-new" ] }, { - "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-execute" + "tray:deny-set-icon-as-template" ] }, { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-execute" + "tray:allow-set-menu" ] }, { - "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-kill" + "tray:deny-set-tooltip" ] }, { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-open" + "tray:allow-set-icon-as-template" ] }, { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "description": "updater:default -> Allows checking for new updates and installing them", "type": "string", "enum": [ - "shell:deny-stdin-write" + "updater:default" ] }, { - "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", + "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-kill" + "updater:deny-download-and-install" ] }, { - "description": "tray:default -> Default permissions for the plugin.", + "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", "type": "string", "enum": [ - "tray:default" + "updater:deny-check" ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "updater:allow-download-and-install" ] }, { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon-as-template" + "updater:allow-check" ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "webview:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "webview:default" ] }, { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "webview:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon" + "webview:allow-print" ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-new" + "webview:deny-webview-position" ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "webview:allow-internal-toggle-devtools" ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "webview:deny-internal-toggle-devtools" ] }, { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon-as-template" + "webview:deny-create-webview" ] }, { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-menu" + "webview:allow-create-webview" ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-menu" + "webview:deny-create-webview-window" ] }, { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "webview:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "webview:deny-print" ] }, { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-new" + "webview:deny-webview-close" ] }, { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-tooltip" + "webview:deny-set-webview-size" ] }, { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-show-menu-on-left-click" + "webview:allow-set-webview-focus" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "webview:allow-set-webview-position" ] }, { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-tooltip" + "webview:deny-webview-size" ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-title" + "webview:allow-webview-close" ] }, { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon" + "webview:deny-set-webview-focus" ] }, { - "description": "updater:default -> Allows checking for new updates and installing them", + "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", "type": "string", "enum": [ - "updater:default" + "webview:allow-create-webview-window" ] }, { - "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "updater:allow-download-and-install" + "webview:allow-webview-size" ] }, { - "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "updater:allow-check" + "webview:deny-set-webview-position" ] }, { - "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "updater:deny-check" + "webview:allow-set-webview-size" ] }, { - "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "updater:deny-download-and-install" + "webview:allow-webview-position" ] }, { @@ -3382,843 +3529,843 @@ ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:allow-is-visible" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:deny-is-maximizable" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:deny-set-position" ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:allow-set-fullscreen" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:deny-set-effects" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:deny-available-monitors" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:allow-set-cursor-icon" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-set-icon" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:deny-set-closable" ] }, { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-position" + "window:deny-unmaximize" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:deny-toggle-maximize" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:deny-title" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:deny-is-minimizable" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:allow-create" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:allow-set-min-size" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:deny-is-focused" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:allow-set-progress-bar" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:deny-set-resizable" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:allow-theme" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:deny-set-fullscreen" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:allow-minimize" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:allow-set-size" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:deny-close" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:allow-set-icon" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:deny-start-dragging" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:allow-set-minimizable" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "window:deny-center" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:deny-is-decorated" ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "window:deny-set-min-size" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:deny-set-shadow" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:allow-show" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:allow-set-focus" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:allow-inner-size" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:allow-toggle-maximize" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:deny-inner-size" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "window:deny-current-monitor" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:deny-outer-position" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:deny-set-cursor-visible" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:deny-set-progress-bar" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:deny-set-title" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:allow-outer-size" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:deny-set-focus" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:deny-set-max-size" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "window:deny-is-closable" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:deny-is-resizable" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:allow-current-monitor" ] }, { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-devtools" + "window:allow-set-effects" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:allow-is-resizable" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:deny-maximize" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:deny-inner-position" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:allow-available-monitors" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:deny-is-visible" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:deny-internal-on-mousemove -> Denies the internal_on_mousemove command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:deny-internal-on-mousemove" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:allow-set-position" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "window:allow-scale-factor" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:allow-is-fullscreen" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:allow-set-closable" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:deny-set-cursor-icon" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:allow-set-cursor-position" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:deny-hide" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:deny-is-fullscreen" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:allow-close" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:allow-internal-on-mousemove -> Enables the internal_on_mousemove command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:allow-internal-on-mousemove" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:allow-primary-monitor" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:allow-set-cursor-grab" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:allow-unminimize" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:deny-set-always-on-top" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "window:allow-is-minimizable" ] }, { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "description": "window:deny-internal-on-mousedown -> Denies the internal_on_mousedown command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-size" + "window:deny-internal-on-mousedown" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:deny-unminimize" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "window:allow-set-always-on-top" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:allow-set-maximizable" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:allow-request-user-attention" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:deny-set-minimizable" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:allow-inner-position" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:allow-is-decorated" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "window:allow-outer-position" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:deny-primary-monitor" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "window:allow-unmaximize" ] }, { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unmaximize" + "window:allow-hide" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:allow-title" ] }, { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-skip-taskbar" + "window:allow-center" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:allow-is-maximizable" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:deny-outer-size" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:allow-is-closable" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:allow-set-resizable" ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:deny-show" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:allow-maximize" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:allow-set-title" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:deny-is-minimized" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:deny-request-user-attention" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:allow-set-content-protected" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:allow-set-cursor-visible" ] }, { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-max-size" + "window:deny-scale-factor" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:deny-set-decorations" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:deny-set-cursor-grab" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:allow-internal-on-mousedown -> Enables the internal_on_mousedown command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:allow-internal-on-mousedown" ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:deny-set-ignore-cursor-events" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:deny-set-size" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:deny-set-cursor-position" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:deny-theme" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:deny-set-maximizable" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:allow-start-dragging" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:allow-is-maximized" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:allow-set-shadow" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-minimize" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:deny-create" ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:allow-is-focused" ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-print" + "window:allow-set-max-size" ] }, { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-icon" + "window:allow-is-minimized" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:deny-is-maximized" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:allow-set-decorations" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:deny-set-content-protected" ] } ] diff --git a/examples/api/src-tauri/src/lib.rs b/examples/api/src-tauri/src/lib.rs index 099552f90..7489a765a 100644 --- a/examples/api/src-tauri/src/lib.rs +++ b/examples/api/src-tauri/src/lib.rs @@ -7,7 +7,7 @@ mod cmd; mod tray; use serde::Serialize; -use tauri::{window::WindowBuilder, App, AppHandle, Manager, RunEvent, WindowUrl}; +use tauri::{webview::WebviewWindowBuilder, App, AppHandle, Manager, RunEvent, WebviewUrl}; #[derive(Clone, Serialize)] struct Reply { @@ -51,10 +51,11 @@ pub fn run() { app.handle().plugin(tauri_plugin_biometric::init())?; } - let mut window_builder = WindowBuilder::new(app, "main", WindowUrl::default()); + let mut webview_window_builder = + WebviewWindowBuilder::new(app, "main", WebviewUrl::default()); #[cfg(desktop)] { - window_builder = window_builder + webview_window_builder = webview_window_builder .user_agent(&format!("Tauri API - {}", std::env::consts::OS)) .title("Tauri API Validation") .inner_size(1000., 800.) @@ -64,7 +65,7 @@ pub fn run() { #[cfg(target_os = "windows")] { - window_builder = window_builder + webview_window_builder = webview_window_builder .transparent(true) .shadow(true) .decorations(false); @@ -72,13 +73,13 @@ pub fn run() { #[cfg(target_os = "macos")] { - window_builder = window_builder.transparent(true); + webview_window_builder = webview_window_builder.transparent(true); } - let window = window_builder.build().unwrap(); + let webview = webview_window_builder.build().unwrap(); #[cfg(debug_assertions)] - window.open_devtools(); + webview.open_devtools(); #[cfg(desktop)] std::thread::spawn(|| { @@ -107,15 +108,15 @@ pub fn run() { Ok(()) }) - .on_page_load(|window, _| { - let window_ = window.clone(); - window.listen("js-event", move |event| { + .on_page_load(|webview, _| { + let webview_ = webview.clone(); + webview.listen("js-event", move |event| { println!("got js-event with message '{:?}'", event.payload()); let reply = Reply { data: "something else".to_string(), }; - window_ + webview_ .emit("rust-event", Some(reply)) .expect("failed to emit"); }); diff --git a/examples/api/src-tauri/src/tray.rs b/examples/api/src-tauri/src/tray.rs index 9028057dc..f045cfcf1 100644 --- a/examples/api/src-tauri/src/tray.rs +++ b/examples/api/src-tauri/src/tray.rs @@ -6,7 +6,7 @@ use std::sync::atomic::{AtomicBool, Ordering}; use tauri::{ menu::{Menu, MenuItem}, tray::{ClickType, TrayIconBuilder}, - Manager, Runtime, WindowBuilder, WindowUrl, + Manager, Runtime, WebviewUrl, WebviewWindowBuilder, }; pub fn create_tray(app: &tauri::AppHandle) -> tauri::Result<()> { @@ -53,7 +53,7 @@ pub fn create_tray(app: &tauri::AppHandle) -> tauri::Result<()> { app.remove_tray_by_id("tray-1"); } "toggle" => { - if let Some(window) = app.get_window("main") { + if let Some(window) = app.get_webview_window("main") { let new_title = if window.is_visible().unwrap_or_default() { let _ = window.hide(); "Show" @@ -66,7 +66,7 @@ pub fn create_tray(app: &tauri::AppHandle) -> tauri::Result<()> { } } "new-window" => { - let _ = WindowBuilder::new(app, "new", WindowUrl::App("index.html".into())) + let _ = WebviewWindowBuilder::new(app, "new", WebviewUrl::App("index.html".into())) .title("Tauri") .build(); } @@ -104,7 +104,7 @@ pub fn create_tray(app: &tauri::AppHandle) -> tauri::Result<()> { .on_tray_icon_event(|tray, event| { if event.click_type == ClickType::Left { let app = tray.app_handle(); - if let Some(window) = app.get_window("main") { + if let Some(window) = app.get_webview_window("main") { let _ = window.show(); let _ = window.set_focus(); } diff --git a/plugins/window-state/src/cmd.rs b/plugins/window-state/src/cmd.rs index 17486505a..75a390b7a 100644 --- a/plugins/window-state/src/cmd.rs +++ b/plugins/window-state/src/cmd.rs @@ -24,8 +24,10 @@ pub async fn restore_state( ) -> std::result::Result<(), String> { let flags = StateFlags::from_bits(flags) .ok_or_else(|| format!("Invalid state flags bits: {}", flags))?; - app.get_window(&label) + app.get_webview_window(&label) .ok_or_else(|| format!("Couldn't find window with label: {}", label))? + .as_ref() + .window() .restore_state(flags) .map_err(|e| e.to_string())?; Ok(()) diff --git a/plugins/window-state/src/lib.rs b/plugins/window-state/src/lib.rs index bf2bcd571..2171e2a37 100644 --- a/plugins/window-state/src/lib.rs +++ b/plugins/window-state/src/lib.rs @@ -101,8 +101,8 @@ impl AppHandleExt for tauri::AppHandle { let cache = self.state::(); let mut state = cache.0.lock().unwrap(); for (label, s) in state.iter_mut() { - if let Some(window) = self.get_window(label) { - window.update_state(s, flags)?; + if let Some(window) = self.get_webview_window(label) { + window.as_ref().window().update_state(s, flags)?; } } @@ -329,7 +329,7 @@ impl Builder { app.manage(WindowStateCache(cache)); Ok(()) }) - .on_webview_ready(move |window| { + .on_window_ready(move |window| { if self.denylist.contains(window.label()) { return; } From 49c65c9a778cd0afdaf8de2166b9acf02ae20955 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Wed, 24 Jan 2024 22:43:38 -0300 Subject: [PATCH 11/35] update fs scope impl [skip ci] --- Cargo.lock | 16 +- Cargo.toml | 6 +- examples/api/src-tauri/capabilities/base.json | 18 +- .../capabilities/schemas/desktop-schema.json | 2390 +++++++++-------- examples/api/src-tauri/tauri.conf.json | 31 +- plugins/fs/src/config.rs | 11 - plugins/fs/src/lib.rs | 26 +- 7 files changed, 1308 insertions(+), 1190 deletions(-) delete mode 100644 plugins/fs/src/config.rs diff --git a/Cargo.lock b/Cargo.lock index fcfaaa449..8e0b317a1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5987,7 +5987,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6039,7 +6039,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" dependencies = [ "anyhow", "cargo_toml", @@ -6064,7 +6064,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" dependencies = [ "base64 0.21.5", "brotli", @@ -6089,7 +6089,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" dependencies = [ "heck", "proc-macro2", @@ -6102,7 +6102,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" dependencies = [ "cargo_metadata", "glob", @@ -6551,7 +6551,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" dependencies = [ "gtk", "http", @@ -6568,7 +6568,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6589,7 +6589,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#1878766f7f81a03b0f0b87ec33ee113d7aa7a902" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/Cargo.toml b/Cargo.toml index b189d602a..94e80d7f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,9 +10,9 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } -tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } -tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/capability-extend-scope" } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/capability-extend-scope" } +tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/capability-extend-scope" } serde_json = "1" thiserror = "1" url = "2" diff --git a/examples/api/src-tauri/capabilities/base.json b/examples/api/src-tauri/capabilities/base.json index a1f327e93..6ca1475c5 100644 --- a/examples/api/src-tauri/capabilities/base.json +++ b/examples/api/src-tauri/capabilities/base.json @@ -16,7 +16,6 @@ "tray:default", "event:default", "window:default", - "resources:default", "notification:default", "os:allow-platform", "dialog:allow-open", @@ -30,6 +29,21 @@ "fs:allow-rename", "fs:allow-mkdir", "fs:allow-remove", - "fs:allow-write-text-file" + "fs:allow-write-text-file", + "fs:scope-download-recursive", + "fs:scope-resource-recursive", + { + "identifier": "fs:scope-appdata-recursive", + "allow": [ + { + "path": "$APPDATA/db/**" + } + ], + "deny": [ + { + "path": "$APPDATA/db/*.stronghold" + } + ] + } ] } \ No newline at end of file diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index 9d42d11a5..ae5463e70 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -60,7 +60,7 @@ "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", "type": "array", "items": { - "$ref": "#/definitions/Identifier" + "$ref": "#/definitions/PermissionEntry" } }, "platforms": { @@ -134,38 +134,38 @@ ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-version" + "app:allow-app-hide" ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-name" + "app:allow-app-show" ] }, { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-tauri-version" + "app:allow-name" ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-hide" + "app:allow-tauri-version" ] }, { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-tauri-version" + "app:allow-version" ] }, { @@ -176,31 +176,31 @@ ] }, { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-show" + "app:deny-app-show" ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-name" + "app:deny-name" ] }, { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-version" + "app:deny-tauri-version" ] }, { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-app-show" + "app:deny-version" ] }, { @@ -231,13 +231,6 @@ "clipboard-manager:allow-read" ] }, - { - "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-write" - ] - }, { "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", @@ -253,17 +246,17 @@ ] }, { - "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-save" + "clipboard-manager:deny-write" ] }, { - "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-message" + "dialog:allow-ask" ] }, { @@ -274,24 +267,24 @@ ] }, { - "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-confirm" + "dialog:allow-message" ] }, { - "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-save" + "dialog:allow-open" ] }, { - "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-open" + "dialog:allow-save" ] }, { @@ -302,24 +295,31 @@ ] }, { - "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-ask" + "dialog:deny-confirm" ] }, { - "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-message" + "dialog:deny-message" ] }, { - "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-open" + "dialog:deny-open" + ] + }, + { + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-save" ] }, { @@ -330,31 +330,31 @@ ] }, { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-unlisten" + "event:allow-emit" ] }, { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-unlisten" + "event:allow-listen" ] }, { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-emit" + "event:allow-unlisten" ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "event:deny-emit" ] }, { @@ -365,297 +365,304 @@ ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-emit" + "event:deny-unlisten" ] }, { - "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-write-recursive" + "fs:allow-app-meta" ] }, { - "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-meta" + "fs:allow-app-meta-recursive" ] }, { - "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-desktop-write-recursive" + "fs:allow-app-read" ] }, { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "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-download-read" + "fs:allow-app-read-recursive" ] }, { - "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-localdata-meta" + "fs:allow-app-write" ] }, { - "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-template-meta" + "fs:allow-app-write-recursive" ] }, { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-read" + "fs:allow-appcache-meta" ] }, { - "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-write-recursive" + "fs:allow-appcache-meta-recursive" ] }, { - "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-picture-write-recursive" + "fs:allow-appcache-read" ] }, { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "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-applocaldata-write" + "fs:allow-appcache-read-recursive" ] }, { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-cache-read" + "fs:allow-appcache-write" ] }, { - "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-desktop-meta" + "fs:allow-appcache-write-recursive" ] }, { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-read-recursive" + "fs:allow-appconfig-meta" ] }, { - "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-meta" + "fs:allow-appconfig-meta-recursive" ] }, { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-appcache-write" + "fs:allow-appconfig-read" ] }, { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "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-app-read-recursive" + "fs:allow-appconfig-read-recursive" ] }, { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-write-recursive" + "fs:allow-appconfig-write" ] }, { - "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-exe-meta-recursive" + "fs:allow-appconfig-write-recursive" ] }, { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-read" + "fs:allow-appdata-meta" ] }, { - "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", + "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-read" + "fs:allow-appdata-meta-recursive" ] }, { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-desktop-read" + "fs:allow-appdata-read" ] }, { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "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-download-read-recursive" + "fs:allow-appdata-read-recursive" ] }, { - "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-download-write-recursive" + "fs:allow-appdata-write" ] }, { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", + "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-download-write" + "fs:allow-appdata-write-recursive" ] }, { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-read" + "fs:allow-applocaldata-meta" ] }, { - "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-meta-recursive" + "fs:allow-applocaldata-meta-recursive" ] }, { - "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-public-meta" + "fs:allow-applocaldata-read" ] }, { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "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-font-read" + "fs:allow-applocaldata-read-recursive" ] }, { - "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-download-meta" + "fs:allow-applocaldata-write" ] }, { - "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-runtime-meta-recursive" + "fs:allow-applocaldata-write-recursive" ] }, { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-read-recursive" + "fs:allow-applog-meta" ] }, { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-read-recursive" + "fs:allow-applog-meta-recursive" ] }, { - "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-public-write-recursive" + "fs:allow-applog-read" ] }, { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "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-temp-read" + "fs:allow-applog-read-recursive" ] }, { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-cache-write" + "fs:allow-applog-write" ] }, { - "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-cache-meta-recursive" + "fs:allow-applog-write-recursive" ] }, { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-font-read-recursive" + "fs:allow-audio-meta" ] }, { - "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-font-meta" + "fs:allow-audio-meta-recursive" ] }, { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-read-recursive" + "fs:allow-audio-read" ] }, { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "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-public-write" + "fs:allow-audio-read-recursive" ] }, { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-cache-read-recursive" + "fs:allow-audio-write" + ] + }, + { + "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "fs:allow-audio-write-recursive" ] }, { @@ -666,381 +673,381 @@ ] }, { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-read" + "fs:allow-cache-meta-recursive" ] }, { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", + "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-write" + "fs:allow-cache-read" ] }, { - "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "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-applog-write-recursive" + "fs:allow-cache-read-recursive" ] }, { - "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-template-meta-recursive" + "fs:allow-cache-write" ] }, { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-document-read" + "fs:allow-cache-write-recursive" ] }, { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:deny-default" + "fs:allow-config-meta" ] }, { - "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-meta-recursive" + "fs:allow-config-meta-recursive" ] }, { - "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-font-meta-recursive" + "fs:allow-config-read" ] }, { - "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "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-write-recursive" + "fs:allow-config-read-recursive" ] }, { - "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-public-meta-recursive" + "fs:allow-config-write" ] }, { - "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appdata-meta-recursive" + "fs:allow-config-write-recursive" ] }, { - "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-write-recursive" + "fs:allow-data-meta" ] }, { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-read" + "fs:allow-data-meta-recursive" ] }, { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", + "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-exe-write" + "fs:allow-data-read" ] }, { - "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "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-home-meta-recursive" + "fs:allow-data-read-recursive" ] }, { - "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-resource-meta" + "fs:allow-data-write" ] }, { - "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-config-meta-recursive" + "fs:allow-data-write-recursive" ] }, { - "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-picture-meta" + "fs:allow-desktop-meta" ] }, { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-read-recursive" + "fs:allow-desktop-meta-recursive" ] }, { - "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta-recursive" + "fs:allow-desktop-read" ] }, { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "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-config-write" + "fs:allow-desktop-read-recursive" ] }, { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-picture-read-recursive" + "fs:allow-desktop-write" ] }, { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-log-write" + "fs:allow-desktop-write-recursive" ] }, { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-read" + "fs:allow-document-meta" ] }, { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-read-recursive" + "fs:allow-document-meta-recursive" ] }, { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-audio-write" + "fs:allow-document-read" ] }, { - "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "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-appconfig-meta" + "fs:allow-document-read-recursive" ] }, { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-picture-read" + "fs:allow-document-write" ] }, { - "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-log-write-recursive" + "fs:allow-document-write-recursive" ] }, { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-read-recursive" + "fs:allow-download-meta" ] }, { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-write" + "fs:allow-download-meta-recursive" ] }, { - "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-meta-recursive" + "fs:allow-download-read" ] }, { - "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "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-font-write-recursive" + "fs:allow-download-read-recursive" ] }, { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-read" + "fs:allow-download-write" ] }, { - "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-resource-meta-recursive" + "fs:allow-download-write-recursive" ] }, { - "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-meta" + "fs:allow-exe-meta" ] }, { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-write" + "fs:allow-exe-meta-recursive" ] }, { - "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-appcache-write-recursive" + "fs:allow-exe-read" ] }, { - "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "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-applocaldata-meta" + "fs:allow-exe-read-recursive" ] }, { - "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-config-meta" + "fs:allow-exe-write" ] }, { - "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-video-meta" + "fs:allow-exe-write-recursive" ] }, { - "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-write-recursive" + "fs:allow-font-meta" ] }, { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-write" + "fs:allow-font-meta-recursive" ] }, { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-template-read-recursive" + "fs:allow-font-read" ] }, { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "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-applog-read-recursive" + "fs:allow-font-read-recursive" ] }, { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-appcache-read" + "fs:allow-font-write" ] }, { - "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-runtime-meta" + "fs:allow-font-write-recursive" ] }, { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-write" + "fs:allow-home-meta" ] }, { - "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-picture-meta-recursive" + "fs:allow-home-meta-recursive" ] }, { - "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-runtime-write-recursive" + "fs:allow-home-read" ] }, { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "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-runtime-write" + "fs:allow-home-read-recursive" ] }, { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-desktop-read-recursive" + "fs:allow-home-write" ] }, { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-config-read-recursive" + "fs:allow-home-write-recursive" ] }, { - "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-meta-recursive" + "fs:allow-localdata-meta" ] }, { @@ -1051,423 +1058,423 @@ ] }, { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-home-read" + "fs:allow-localdata-read" ] }, { - "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "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-data-meta" + "fs:allow-localdata-read-recursive" ] }, { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-resource-read" + "fs:allow-localdata-write" ] }, { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-read" + "fs:allow-localdata-write-recursive" ] }, { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-read" + "fs:allow-log-meta" ] }, { - "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-write-recursive" + "fs:allow-log-meta-recursive" ] }, { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-appdata-read-recursive" + "fs:allow-log-read" ] }, { - "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "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-data-write-recursive" + "fs:allow-log-read-recursive" ] }, { - "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-template-write-recursive" + "fs:allow-log-write" ] }, { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-read-recursive" + "fs:allow-log-write-recursive" ] }, { - "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-write-recursive" + "fs:allow-picture-meta" ] }, { - "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-meta-recursive" + "fs:allow-picture-meta-recursive" ] }, { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-appdata-write" + "fs:allow-picture-read" ] }, { - "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "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-app-meta-recursive" + "fs:allow-picture-read-recursive" ] }, { - "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-document-meta" + "fs:allow-picture-write" ] }, { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-exe-read-recursive" + "fs:allow-picture-write-recursive" ] }, { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-write" + "fs:allow-public-meta" ] }, { - "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-write-recursive" + "fs:allow-public-meta-recursive" ] }, { - "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-download-meta-recursive" + "fs:allow-public-read" ] }, { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "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-exe-read" + "fs:allow-public-read-recursive" ] }, { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-font-write" + "fs:allow-public-write" ] }, { - "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-log-meta" + "fs:allow-public-write-recursive" ] }, { - "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-meta" + "fs:allow-resource-meta" ] }, { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-write" + "fs:allow-resource-meta-recursive" ] }, { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-video-read-recursive" + "fs:allow-resource-read" ] }, { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "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-log-read-recursive" + "fs:allow-resource-read-recursive" ] }, { - "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-exe-meta" + "fs:allow-resource-write" ] }, { - "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appdata-meta" + "fs:allow-resource-write-recursive" ] }, { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-write" + "fs:allow-runtime-meta" ] }, { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-write" + "fs:allow-runtime-meta-recursive" ] }, { - "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-temp-meta-recursive" + "fs:allow-runtime-read" ] }, { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "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-applog-read" + "fs:allow-runtime-read-recursive" ] }, { - "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-localdata-write-recursive" + "fs:allow-runtime-write" ] }, { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", + "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-config-read" + "fs:allow-runtime-write-recursive" ] }, { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-read-recursive" + "fs:allow-temp-meta" ] }, { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-picture-write" + "fs:allow-temp-meta-recursive" ] }, { - "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-app-write" + "fs:allow-temp-read" ] }, { - "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "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-app-meta" + "fs:allow-temp-read-recursive" ] }, { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-audio-read-recursive" + "fs:allow-temp-write" ] }, { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-runtime-read" + "fs:allow-temp-write-recursive" ] }, { - "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-meta-recursive" + "fs:allow-template-meta" ] }, { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-read" + "fs:allow-template-meta-recursive" ] }, { - "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-desktop-meta-recursive" + "fs:allow-template-read" ] }, { - "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "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-home-meta" + "fs:allow-template-read-recursive" ] }, { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-desktop-write" + "fs:allow-template-write" ] }, { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-home-read-recursive" + "fs:allow-template-write-recursive" ] }, { - "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-meta-recursive" + "fs:allow-video-meta" ] }, { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-write" + "fs:allow-video-meta-recursive" ] }, { - "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-exe-write-recursive" + "fs:allow-video-read" ] }, { - "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "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-appconfig-write-recursive" + "fs:allow-video-read-recursive" ] }, { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-runtime-read-recursive" + "fs:allow-video-write" ] }, { - "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-temp-write-recursive" + "fs:allow-video-write-recursive" ] }, { - "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", "type": "string", "enum": [ - "fs:allow-home-write-recursive" + "fs:deny-default" ] }, { - "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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:allow-video-meta-recursive" + "fs:default" ] }, { - "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:default" + "fs:allow-copy-file" ] }, { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-config" + "fs:allow-create" ] }, { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-fstat" + "fs:allow-exists" ] }, { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", + "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read" + "fs:allow-fstat" ] }, { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-document-index" + "fs:allow-ftruncate" ] }, { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-dir" + "fs:allow-lstat" ] }, { @@ -1478,129 +1485,129 @@ ] }, { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-desktop" + "fs:allow-open" ] }, { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font-index" + "fs:allow-read" ] }, { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", + "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:read-meta" + "fs:allow-read-dir" ] }, { - "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appcache-recursive" + "fs:allow-read-file" ] }, { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applocaldata" + "fs:allow-read-text-file" ] }, { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-audio" + "fs:allow-read-text-file-lines" ] }, { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "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:scope-appconfig-index" + "fs:allow-read-text-file-lines-next" ] }, { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-video-index" + "fs:allow-remove" ] }, { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appdata" + "fs:allow-rename" ] }, { - "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-video-recursive" + "fs:allow-seek" ] }, { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", + "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-open" + "fs:allow-stat" ] }, { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-open" + "fs:allow-truncate" ] }, { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-copy-file" + "fs:allow-unwatch" ] }, { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-rename" + "fs:allow-watch" ] }, { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", + "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-truncate" + "fs:allow-write" ] }, { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines" + "fs:allow-write-file" ] }, { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-write" + "fs:allow-write-text-file" ] }, { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-write-text-file" + "fs:deny-copy-file" ] }, { @@ -1611,542 +1618,549 @@ ] }, { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", + "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-create" + "fs:deny-exists" ] }, { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:read-dirs" + "fs:deny-fstat" ] }, { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-write-file" + "fs:deny-ftruncate" ] }, { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-app-index" + "fs:deny-lstat" ] }, { - "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-config-recursive" + "fs:deny-mkdir" ] }, { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-exe-index" + "fs:deny-open" ] }, { - "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-data-recursive" + "fs:deny-read" ] }, { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-localdata" + "fs:deny-read-dir" ] }, { - "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp-recursive" + "fs:deny-read-file" ] }, { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-unwatch" + "fs:deny-read-text-file" ] }, { - "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-public-recursive" + "fs:deny-read-text-file-lines" ] }, { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", + "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:allow-remove" + "fs:deny-read-text-file-lines-next" ] }, { - "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-log-recursive" + "fs:deny-remove" ] }, { - "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", + "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-public" + "fs:deny-rename" ] }, { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-runtime-index" + "fs:deny-seek" ] }, { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-exists" + "fs:deny-stat" ] }, { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-lstat" + "fs:deny-truncate" ] }, { - "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appdata-recursive" + "fs:deny-unwatch" ] }, { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-lstat" + "fs:deny-watch" ] }, { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "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-read-text-file" + "fs:deny-webview-data-linux" ] }, { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "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:scope-applocaldata-index" + "fs:deny-webview-data-windows" ] }, { - "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", + "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture" + "fs:deny-write" ] }, { - "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-template-recursive" + "fs:deny-write-file" ] }, { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-fstat" + "fs:deny-write-text-file" ] }, { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:deny-unwatch" + "fs:read-all" ] }, { - "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-applog-recursive" + "fs:read-dirs" ] }, { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", + "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:write-all" + "fs:read-files" ] }, { - "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-download-recursive" + "fs:read-meta" ] }, { - "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "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-appconfig-recursive" + "fs:scope-app" ] }, { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", "type": "string", "enum": [ - "fs:scope-applog-index" + "fs:scope-app-index" ] }, { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-remove" + "fs:scope-app-recursive" ] }, { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", + "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:allow-watch" + "fs:scope-appcache" ] }, { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", "type": "string", "enum": [ - "fs:scope-runtime" + "fs:scope-appcache-index" ] }, { - "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-app-recursive" + "fs:scope-appcache-recursive" ] }, { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "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:deny-read-dir" + "fs:scope-appconfig" ] }, { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", "type": "string", "enum": [ - "fs:allow-read-file" + "fs:scope-appconfig-index" ] }, { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-ftruncate" + "fs:scope-appconfig-recursive" ] }, { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "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-template-index" + "fs:scope-appdata" ] }, { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", "type": "string", "enum": [ - "fs:write-files" + "fs:scope-appdata-index" ] }, { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-applog" + "fs:scope-appdata-recursive" ] }, { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "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:deny-truncate" + "fs:scope-applocaldata" ] }, { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines" + "fs:scope-applocaldata-index" ] }, { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-config-index" + "fs:scope-applocaldata-recursive" ] }, { - "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "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-font-recursive" + "fs:scope-applog" ] }, { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", "type": "string", "enum": [ - "fs:deny-read" + "fs:scope-applog-index" ] }, { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-home-index" + "fs:scope-applog-recursive" ] }, { - "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "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-exe-recursive" + "fs:scope-audio" ] }, { - "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", "type": "string", "enum": [ - "fs:scope-applocaldata-recursive" + "fs:scope-audio-index" ] }, { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", + "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-stat" + "fs:scope-audio-recursive" ] }, { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "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-document" + "fs:scope-cache" ] }, { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", "type": "string", "enum": [ - "fs:scope-appdata-index" + "fs:scope-cache-index" ] }, { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-font" + "fs:scope-cache-recursive" ] }, { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "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-log" + "fs:scope-config" ] }, { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", "type": "string", "enum": [ - "fs:scope-temp" + "fs:scope-config-index" ] }, { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-public-index" + "fs:scope-config-recursive" ] }, { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", + "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:allow-write" + "fs:scope-data" ] }, { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", + "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", "type": "string", "enum": [ - "fs:read-all" + "fs:scope-data-index" ] }, { - "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-cache-recursive" + "fs:scope-data-recursive" ] }, { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "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:deny-copy-file" + "fs:scope-desktop" ] }, { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", "type": "string", "enum": [ - "fs:scope-localdata-index" + "fs:scope-desktop-index" ] }, { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", + "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-watch" + "fs:scope-desktop-recursive" ] }, { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "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-exe" + "fs:scope-document" ] }, { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", "type": "string", "enum": [ - "fs:scope-log-index" + "fs:scope-document-index" ] }, { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-cache" + "fs:scope-document-recursive" ] }, { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "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-appconfig" + "fs:scope-download" ] }, { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", "type": "string", "enum": [ - "fs:scope-appcache-index" + "fs:scope-download-index" ] }, { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-audio-index" + "fs:scope-download-recursive" ] }, { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "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:deny-mkdir" + "fs:scope-exe" ] }, { - "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", "type": "string", "enum": [ - "fs:scope-desktop-recursive" + "fs:scope-exe-index" ] }, { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-cache-index" + "fs:scope-exe-recursive" ] }, { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "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-download" + "fs:scope-font" ] }, { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", "type": "string", "enum": [ - "fs:scope-template" + "fs:scope-font-index" ] }, { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", + "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-app" + "fs:scope-font-recursive" ] }, { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "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-data" + "fs:scope-home" ] }, { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", "type": "string", "enum": [ - "fs:scope-download-index" + "fs:scope-home-index" ] }, { - "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": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-webview-data-linux" + "fs:scope-home-recursive" ] }, { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "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:deny-rename" + "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" ] }, { @@ -2157,73 +2171,73 @@ ] }, { - "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "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-picture-recursive" + "fs:scope-log" ] }, { - "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", "type": "string", "enum": [ - "fs:scope-home-recursive" + "fs:scope-log-index" ] }, { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-temp-index" + "fs:scope-log-recursive" ] }, { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "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:allow-ftruncate" + "fs:scope-picture" ] }, { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", "type": "string", "enum": [ - "fs:scope-appcache" + "fs:scope-picture-index" ] }, { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-exists" + "fs:scope-picture-recursive" ] }, { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "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:allow-seek" + "fs:scope-public" ] }, { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", "type": "string", "enum": [ - "fs:allow-read-text-file" + "fs:scope-public-index" ] }, { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", + "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-write-file" + "fs:scope-public-recursive" ] }, { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "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-home" + "fs:scope-resource" ] }, { @@ -2234,73 +2248,73 @@ ] }, { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-resource" + "fs:scope-resource-recursive" ] }, { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "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-desktop-index" + "fs:scope-runtime" ] }, { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", + "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines-next" + "fs:scope-runtime-index" ] }, { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", + "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:read-files" + "fs:scope-runtime-recursive" ] }, { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "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-data-index" + "fs:scope-temp" ] }, { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", + "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", "type": "string", "enum": [ - "fs:allow-stat" + "fs:scope-temp-index" ] }, { - "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-document-recursive" + "fs:scope-temp-recursive" ] }, { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "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:deny-read-file" + "fs:scope-template" ] }, { - "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", "type": "string", "enum": [ - "fs:scope-resource-recursive" + "fs:scope-template-index" ] }, { - "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-audio-recursive" + "fs:scope-template-recursive" ] }, { @@ -2311,45 +2325,38 @@ ] }, { - "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:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", "type": "string", "enum": [ - "fs:scope-picture-index" + "fs:scope-video-index" ] }, { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", + "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-seek" + "fs:scope-video-recursive" ] }, { - "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-runtime-recursive" + "fs:write-all" ] }, { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:deny-write-text-file" + "fs:write-files" ] }, { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", + "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines-next" + "global-shortcut:allow-is-registered" ] }, { @@ -2360,80 +2367,80 @@ ] }, { - "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", + "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-register-all" + "global-shortcut:allow-register-all" ] }, { - "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", + "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-register" + "global-shortcut:allow-unregister" ] }, { - "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", + "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-unregister" + "global-shortcut:allow-unregister-all" ] }, { - "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-unregister-all" + "global-shortcut:deny-is-registered" ] }, { - "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-is-registered" + "global-shortcut:deny-register" ] }, { - "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", + "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-register-all" + "global-shortcut:deny-register-all" ] }, { - "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:deny-is-registered" + "global-shortcut:deny-unregister" ] }, { - "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", + "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", "type": "string", "enum": [ - "global-shortcut:allow-unregister" + "global-shortcut:deny-unregister-all" ] }, { - "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "description": "http:default -> Allows all fetch operations", "type": "string", "enum": [ - "global-shortcut:allow-unregister-all" + "http:default" ] }, { - "description": "http:default -> Allows all fetch operations", + "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "http:default" + "http:allow-fetch" ] }, { - "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", + "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch" + "http:allow-fetch-cancel" ] }, { @@ -2444,17 +2451,17 @@ ] }, { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-cancel" + "http:allow-fetch-send" ] }, { - "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-send" + "http:deny-fetch" ] }, { @@ -2465,24 +2472,17 @@ ] }, { - "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", + "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch" + "http:deny-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": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", + "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch-read-body" + "http:deny-fetch-send" ] }, { @@ -2514,311 +2514,311 @@ ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:allow-append" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:allow-create-default" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:allow-get" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "menu:allow-insert" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:allow-is-checked" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:allow-is-enabled" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-append" + "menu:allow-items" ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "menu:allow-new" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:allow-popup" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:allow-prepend" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:allow-remove" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "menu:allow-remove-at" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:allow-set-accelerator" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "menu:allow-set-as-app-menu" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:allow-set-as-window-menu" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:allow-set-checked" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:allow-set-enabled" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "menu:allow-set-icon" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "menu:allow-set-text" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "menu:allow-text" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "menu:deny-append" ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:deny-create-default" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:deny-get" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:deny-insert" ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:deny-is-checked" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "menu:deny-is-enabled" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:deny-items" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:deny-new" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "menu:deny-popup" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "menu:deny-prepend" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:deny-remove" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:deny-remove-at" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "menu:deny-set-accelerator" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:deny-set-as-app-menu" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "menu:deny-set-checked" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "menu:deny-set-enabled" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "menu:deny-set-icon" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:deny-set-text" ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "menu:deny-text" ] }, { @@ -2829,24 +2829,24 @@ ] }, { - "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-request-permission" + "notification:allow-is-permission-granted" ] }, { - "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-notify" + "notification:allow-notify" ] }, { - "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-is-permission-granted" + "notification:allow-request-permission" ] }, { @@ -2857,38 +2857,38 @@ ] }, { - "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-request-permission" + "notification:deny-notify" ] }, { - "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "notification:allow-notify" + "notification:deny-request-permission" ] }, { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-platform" + "os:allow-arch" ] }, { - "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-arch" + "os:allow-exe-extension" ] }, { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-os-type" + "os:allow-family" ] }, { @@ -2906,80 +2906,80 @@ ] }, { - "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-locale" + "os:allow-os-type" ] }, { - "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-platform" + "os:allow-platform" ] }, { - "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-arch" + "os:allow-version" ] }, { - "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-family" + "os:deny-arch" ] }, { - "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-version" + "os:deny-exe-extension" ] }, { - "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-family" + "os:deny-family" ] }, { - "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-exe-extension" + "os:deny-hostname" ] }, { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-exe-extension" + "os:deny-locale" ] }, { - "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-version" + "os:deny-os-type" ] }, { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-hostname" + "os:deny-platform" ] }, { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-os-type" + "os:deny-version" ] }, { @@ -2990,10 +2990,17 @@ ] }, { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-is-absolute" + "path:allow-basename" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" ] }, { @@ -3004,17 +3011,17 @@ ] }, { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-join" + "path:allow-is-absolute" ] }, { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-basename" + "path:allow-join" ] }, { @@ -3032,52 +3039,45 @@ ] }, { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-dirname" - ] - }, - { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-extname" + "path:allow-resolve-directory" ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "path:deny-basename" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "path:deny-dirname" ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "path:deny-extname" ] }, { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve" + "path:deny-is-absolute" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "path:deny-join" ] }, { @@ -3088,45 +3088,45 @@ ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "path:deny-resolve" ] }, { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-resolve-directory" + "path:deny-resolve-directory" ] }, { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-exit" + "process:allow-exit" ] }, { - "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-restart" + "process:allow-restart" ] }, { - "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-restart" + "process:deny-exit" ] }, { - "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-exit" + "process:deny-restart" ] }, { @@ -3137,59 +3137,59 @@ ] }, { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "resources:deny-close" + "resources:allow-close" ] }, { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "resources:allow-close" + "resources:deny-close" ] }, { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-open" + "shell:allow-execute" ] }, { - "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", + "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-execute" + "shell:allow-kill" ] }, { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-execute" + "shell:allow-open" ] }, { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-stdin-write" + "shell:allow-stdin-write" ] }, { - "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", + "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-kill" + "shell:deny-execute" ] }, { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-stdin-write" + "shell:deny-kill" ] }, { @@ -3200,10 +3200,10 @@ ] }, { - "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-kill" + "shell:deny-stdin-write" ] }, { @@ -3214,115 +3214,115 @@ ] }, { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-tooltip" + "tray:allow-new" ] }, { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-new" + "tray:allow-set-icon" ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "tray:allow-set-icon-as-template" ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "tray:allow-set-menu" ] }, { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon" + "tray:allow-set-show-menu-on-left-click" ] }, { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon" + "tray:allow-set-temp-dir-path" ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "tray:allow-set-title" ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-menu" + "tray:allow-set-tooltip" ] }, { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-show-menu-on-left-click" + "tray:allow-set-visible" ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "tray:deny-new" ] }, { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "tray:deny-set-icon" ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-title" + "tray:deny-set-icon-as-template" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "tray:deny-set-menu" ] }, { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-new" + "tray:deny-set-show-menu-on-left-click" ] }, { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon-as-template" + "tray:deny-set-temp-dir-path" ] }, { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-menu" + "tray:deny-set-title" ] }, { @@ -3333,10 +3333,10 @@ ] }, { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon-as-template" + "tray:deny-set-visible" ] }, { @@ -3347,31 +3347,31 @@ ] }, { - "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", "type": "string", "enum": [ - "updater:deny-download-and-install" + "updater:allow-check" ] }, { - "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", "type": "string", "enum": [ - "updater:deny-check" + "updater:allow-download-and-install" ] }, { - "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", "type": "string", "enum": [ - "updater:allow-download-and-install" + "updater:deny-check" ] }, { - "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", "type": "string", "enum": [ - "updater:allow-check" + "updater:deny-download-and-install" ] }, { @@ -3382,17 +3382,17 @@ ] }, { - "description": "webview:allow-print -> Enables the print command without any pre-configured scope.", + "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-print" + "webview:allow-create-webview" ] }, { - "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", + "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-webview-position" + "webview:allow-create-webview-window" ] }, { @@ -3403,80 +3403,80 @@ ] }, { - "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "webview:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-internal-toggle-devtools" + "webview:allow-print" ] }, { - "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", + "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-create-webview" + "webview:allow-set-webview-focus" ] }, { - "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", + "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-create-webview" + "webview:allow-set-webview-position" ] }, { - "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", + "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-create-webview-window" + "webview:allow-set-webview-size" ] }, { - "description": "webview:deny-print -> Denies the print command without any pre-configured scope.", + "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-print" + "webview:allow-webview-close" ] }, { - "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", + "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-webview-close" + "webview:allow-webview-position" ] }, { - "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", + "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-set-webview-size" + "webview:allow-webview-size" ] }, { - "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", + "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-set-webview-focus" + "webview:deny-create-webview" ] }, { - "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", + "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-set-webview-position" + "webview:deny-create-webview-window" ] }, { - "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", + "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-webview-size" + "webview:deny-internal-toggle-devtools" ] }, { - "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", + "description": "webview:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-webview-close" + "webview:deny-print" ] }, { @@ -3487,38 +3487,38 @@ ] }, { - "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", + "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-create-webview-window" + "webview:deny-set-webview-position" ] }, { - "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", + "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-webview-size" + "webview:deny-set-webview-size" ] }, { - "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", + "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", "type": "string", "enum": [ - "webview:deny-set-webview-position" + "webview:deny-webview-close" ] }, { - "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", + "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-set-webview-size" + "webview:deny-webview-position" ] }, { - "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", + "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "webview:allow-webview-position" + "webview:deny-webview-size" ] }, { @@ -3529,844 +3529,909 @@ ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:allow-available-monitors" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:allow-center" ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:allow-close" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:allow-create" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:allow-current-monitor" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "window:allow-hide" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:allow-inner-position" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:allow-inner-size" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-internal-on-mousedown -> Enables the internal_on_mousedown command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-internal-on-mousedown" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:allow-internal-on-mousemove -> Enables the internal_on_mousemove command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:allow-internal-on-mousemove" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:allow-is-closable" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:allow-is-decorated" ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "window:allow-is-focused" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "window:allow-is-fullscreen" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:allow-is-maximizable" ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:allow-is-maximized" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "window:allow-is-minimizable" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "window:allow-is-minimized" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:allow-is-resizable" ] }, { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-minimize" + "window:allow-is-visible" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:allow-maximize" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:allow-minimize" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:allow-outer-position" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:allow-outer-size" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "window:allow-primary-monitor" ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:allow-request-user-attention" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:allow-scale-factor" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:allow-set-always-on-top" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:allow-set-closable" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:allow-set-content-protected" ] }, { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-size" + "window:allow-set-cursor-grab" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "window:allow-set-cursor-icon" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:allow-set-cursor-position" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:allow-set-cursor-visible" ] }, { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-position" + "window:allow-set-decorations" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:allow-set-effects" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:allow-set-focus" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:allow-set-fullscreen" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:allow-set-icon" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:allow-set-max-size" ] }, { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-max-size" + "window:allow-set-maximizable" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "window:allow-set-min-size" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:allow-set-minimizable" ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:allow-set-position" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "window:allow-set-progress-bar" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:allow-set-resizable" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:allow-set-shadow" ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:allow-set-size" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-visible" + "window:allow-set-title" ] }, { - "description": "window:deny-internal-on-mousemove -> Denies the internal_on_mousemove command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-on-mousemove" + "window:allow-show" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "window:allow-start-dragging" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:allow-theme" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:allow-title" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:allow-toggle-maximize" ] }, { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-skip-taskbar" + "window:allow-unmaximize" ] }, { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-icon" + "window:allow-unminimize" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:deny-available-monitors" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-center" ] }, { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-fullscreen" + "window:deny-close" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "window:deny-create" ] }, { - "description": "window:allow-internal-on-mousemove -> Enables the internal_on_mousemove command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-on-mousemove" + "window:deny-current-monitor" ] }, { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-primary-monitor" + "window:deny-hide" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "window:deny-inner-position" ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "window:deny-inner-size" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-internal-on-mousedown -> Denies the internal_on_mousedown command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:deny-internal-on-mousedown" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:deny-internal-on-mousemove -> Denies the internal_on_mousemove command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:deny-internal-on-mousemove" ] }, { - "description": "window:deny-internal-on-mousedown -> Denies the internal_on_mousedown command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-on-mousedown" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:deny-is-closable" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:deny-is-decorated" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:deny-is-focused" ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:deny-is-fullscreen" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "window:deny-is-maximizable" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:deny-is-maximized" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:deny-is-minimizable" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:deny-is-minimized" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:deny-is-resizable" ] }, { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unmaximize" + "window:deny-is-visible" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:deny-maximize" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:deny-minimize" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "window:deny-outer-position" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:deny-outer-size" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-primary-monitor" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-request-user-attention" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:deny-scale-factor" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "window:deny-set-always-on-bottom" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:deny-set-always-on-top" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:deny-set-closable" ] }, { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-show" + "window:deny-set-content-protected" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "window:deny-set-cursor-grab" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:deny-set-cursor-icon" ] }, { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimized" + "window:deny-set-cursor-position" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:deny-set-cursor-visible" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "window:deny-set-decorations" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:deny-set-effects" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "window:deny-set-focus" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:deny-set-fullscreen" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "window:deny-set-icon" ] }, { - "description": "window:allow-internal-on-mousedown -> Enables the internal_on_mousedown command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-on-mousedown" + "window:deny-set-ignore-cursor-events" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:deny-set-max-size" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:deny-set-maximizable" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:deny-set-min-size" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:deny-set-minimizable" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:deny-set-position" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:deny-set-progress-bar" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:deny-set-resizable" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:deny-set-shadow" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:deny-set-size" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:deny-set-skip-taskbar" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "window:deny-set-title" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:deny-show" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:deny-start-dragging" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:deny-theme" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:deny-title" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:deny-toggle-maximize" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:deny-unmaximize" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:deny-unminimize" + ] + } + ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ + { + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } ] + }, + { + "description": "Reference a permission or permission set by identifier and extends its scope.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "identifier": { + "description": "Identifier of the permission or permission set.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + } + } } ] }, @@ -4409,6 +4474,41 @@ ] } ] + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] } } } \ No newline at end of file diff --git a/examples/api/src-tauri/tauri.conf.json b/examples/api/src-tauri/tauri.conf.json index 02fd5c3b0..a7a51ad1b 100644 --- a/examples/api/src-tauri/tauri.conf.json +++ b/examples/api/src-tauri/tauri.conf.json @@ -26,7 +26,11 @@ "name": "theme", "takesValue": true, "description": "App theme", - "possibleValues": ["light", "dark", "system"] + "possibleValues": [ + "light", + "dark", + "system" + ] }, { "short": "v", @@ -47,12 +51,6 @@ } } }, - "fs": { - "scope": { - "allow": ["$APPDATA/db/**", "$DOWNLOAD/**", "$RESOURCE/**"], - "deny": ["$APPDATA/db/*.stronghold"] - } - }, "shell": { "open": true, "scope": [ @@ -79,7 +77,9 @@ ] }, "http": { - "scope": ["http://localhost:3003"] + "scope": [ + "http://localhost:3003" + ] }, "updater": { "endpoints": [ @@ -125,7 +125,9 @@ "csp": { "default-src": "'self' customprotocol: asset:", "connect-src": "ipc: http://ipc.localhost", - "font-src": ["https://fonts.gstatic.com"], + "font-src": [ + "https://fonts.gstatic.com" + ], "img-src": "'self' asset: http://asset.localhost blob: data:", "style-src": "'unsafe-inline' 'self' http://fonts.googleapis.com" }, @@ -133,10 +135,15 @@ "assetProtocol": { "enable": true, "scope": { - "allow": ["$APPDATA/db/**", "$RESOURCE/**"], - "deny": ["$APPDATA/db/*.stronghold"] + "allow": [ + "$APPDATA/db/**", + "$RESOURCE/**" + ], + "deny": [ + "$APPDATA/db/*.stronghold" + ] } } } } -} +} \ No newline at end of file diff --git a/plugins/fs/src/config.rs b/plugins/fs/src/config.rs deleted file mode 100644 index b05321f31..000000000 --- a/plugins/fs/src/config.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2019-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -use serde::Deserialize; -use tauri::utils::config::FsScope; - -#[derive(Debug, Deserialize)] -pub struct Config { - pub scope: FsScope, -} diff --git a/plugins/fs/src/lib.rs b/plugins/fs/src/lib.rs index 6b8d5994b..fc35c4d8c 100644 --- a/plugins/fs/src/lib.rs +++ b/plugins/fs/src/lib.rs @@ -11,6 +11,9 @@ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png" )] +use std::path::PathBuf; + +use serde::Deserialize; use tauri::{ plugin::{Builder as PluginBuilder, TauriPlugin}, scope::fs::Scope, @@ -19,12 +22,10 @@ use tauri::{ }; mod commands; -mod config; mod error; #[cfg(feature = "watch")] mod watcher; -pub use config::Config; pub use error::Error; type Result = std::result::Result; @@ -44,8 +45,8 @@ impl> FsExt for T { } } -pub fn init() -> TauriPlugin> { - PluginBuilder::>::new("fs") +pub fn init() -> TauriPlugin { + PluginBuilder::::new("fs") .js_init_script(include_str!("api-iife.js").to_string()) .invoke_handler(tauri::generate_handler![ commands::create, @@ -77,13 +78,15 @@ pub fn init() -> TauriPlugin> { watcher::unwatch ]) .setup(|app: &tauri::AppHandle, api| { - let default_scope = FsScope::default(); + let acl_scope = api.scope::()?; + app.manage(Scope::new( app, - api.config() - .as_ref() - .map(|c| &c.scope) - .unwrap_or(&default_scope), + &FsScope::Scope { + allow: acl_scope.allows().iter().map(|s| s.path.clone()).collect(), + deny: acl_scope.denies().iter().map(|s| s.path.clone()).collect(), + require_literal_leading_dot: None, + }, )?); Ok(()) @@ -107,3 +110,8 @@ pub fn init() -> TauriPlugin> { }) .build() } + +#[derive(Debug, Deserialize)] +struct ScopeVal { + path: PathBuf, +} From 1f307c788b6c20824064494ccb75ca177122ba12 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Wed, 24 Jan 2024 23:37:19 -0300 Subject: [PATCH 12/35] http scope [skip ci] --- Cargo.lock | 16 +++--- Cargo.toml | 6 +-- examples/api/src-tauri/capabilities/base.json | 9 +++- examples/api/src-tauri/tauri.conf.json | 5 -- plugins/fs/src/lib.rs | 4 +- plugins/http/src/commands.rs | 32 ++++++++--- plugins/http/src/config.rs | 22 -------- plugins/http/src/lib.rs | 54 ++++++++++++++----- plugins/http/src/scope.rs | 47 ++++++++-------- 9 files changed, 111 insertions(+), 84 deletions(-) delete mode 100644 plugins/http/src/config.rs diff --git a/Cargo.lock b/Cargo.lock index 8e0b317a1..0c5fa8462 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5987,7 +5987,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" +source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6039,7 +6039,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" +source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" dependencies = [ "anyhow", "cargo_toml", @@ -6064,7 +6064,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" +source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" dependencies = [ "base64 0.21.5", "brotli", @@ -6089,7 +6089,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" +source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" dependencies = [ "heck", "proc-macro2", @@ -6102,7 +6102,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" +source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" dependencies = [ "cargo_metadata", "glob", @@ -6551,7 +6551,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" +source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" dependencies = [ "gtk", "http", @@ -6568,7 +6568,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" +source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6589,7 +6589,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/capability-extend-scope#36da1d864e523875c1f26e7082ab572df061a6d0" +source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/Cargo.toml b/Cargo.toml index 94e80d7f0..b9347c862 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,9 +10,9 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/capability-extend-scope" } -tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/capability-extend-scope" } -tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/capability-extend-scope" } +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "fix/command-scope-infallible" } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "fix/command-scope-infallible" } +tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "fix/command-scope-infallible" } serde_json = "1" thiserror = "1" url = "2" diff --git a/examples/api/src-tauri/capabilities/base.json b/examples/api/src-tauri/capabilities/base.json index 6ca1475c5..803964c43 100644 --- a/examples/api/src-tauri/capabilities/base.json +++ b/examples/api/src-tauri/capabilities/base.json @@ -7,7 +7,14 @@ ], "permissions": [ "log:default", - "http:default", + { + "identifier": "http:default", + "allow": [ + { + "url": "http://localhost:3003" + } + ] + }, "app:default", "resources:default", "fs:default", diff --git a/examples/api/src-tauri/tauri.conf.json b/examples/api/src-tauri/tauri.conf.json index a7a51ad1b..492be807e 100644 --- a/examples/api/src-tauri/tauri.conf.json +++ b/examples/api/src-tauri/tauri.conf.json @@ -76,11 +76,6 @@ } ] }, - "http": { - "scope": [ - "http://localhost:3003" - ] - }, "updater": { "endpoints": [ "https://tauri-update-server.vercel.app/update/{{target}}/{{current_version}}" diff --git a/plugins/fs/src/lib.rs b/plugins/fs/src/lib.rs index fc35c4d8c..1c097c0ac 100644 --- a/plugins/fs/src/lib.rs +++ b/plugins/fs/src/lib.rs @@ -78,7 +78,7 @@ pub fn init() -> TauriPlugin { watcher::unwatch ]) .setup(|app: &tauri::AppHandle, api| { - let acl_scope = api.scope::()?; + let acl_scope = api.scope::()?; app.manage(Scope::new( app, @@ -112,6 +112,6 @@ pub fn init() -> TauriPlugin { } #[derive(Debug, Deserialize)] -struct ScopeVal { +struct ScopeEntry { path: PathBuf, } diff --git a/plugins/http/src/commands.rs b/plugins/http/src/commands.rs index 898b180ec..45187c057 100644 --- a/plugins/http/src/commands.rs +++ b/plugins/http/src/commands.rs @@ -7,9 +7,12 @@ use std::{collections::HashMap, time::Duration}; use http::{header, HeaderName, HeaderValue, Method, StatusCode}; use reqwest::redirect::Policy; use serde::Serialize; -use tauri::{command, AppHandle, Runtime}; +use tauri::{ + command::{CommandScope, GlobalScope}, + AppHandle, Runtime, +}; -use crate::{Error, FetchRequest, HttpExt, RequestId}; +use crate::{scope::Scope, Error, FetchRequest, HttpExt, RequestId, ScopeEntry}; #[derive(Serialize)] #[serde(rename_all = "camelCase")] @@ -20,7 +23,7 @@ pub struct FetchResponse { url: String, } -#[command] +#[tauri::command] pub async fn fetch( app: AppHandle, method: String, @@ -29,6 +32,8 @@ pub async fn fetch( data: Option>, connect_timeout: Option, max_redirections: Option, + command_scope: CommandScope<'_, ScopeEntry>, + global_scope: GlobalScope<'_, ScopeEntry>, ) -> crate::Result { let scheme = url.scheme(); let method = Method::from_bytes(method.as_bytes())?; @@ -36,7 +41,20 @@ pub async fn fetch( match scheme { "http" | "https" => { - if app.http().scope.is_allowed(&url) { + if Scope::new( + command_scope + .allows() + .into_iter() + .chain(global_scope.allows()) + .collect(), + command_scope + .denies() + .into_iter() + .chain(global_scope.denies()) + .collect(), + ) + .is_allowed(&url) + { let mut builder = reqwest::ClientBuilder::new(); if let Some(timeout) = connect_timeout { @@ -118,7 +136,7 @@ pub async fn fetch( } } -#[command] +#[tauri::command] pub async fn fetch_cancel(app: AppHandle, rid: RequestId) -> crate::Result<()> { let mut request_table = app.http().requests.lock().await; let req = request_table @@ -128,7 +146,7 @@ pub async fn fetch_cancel(app: AppHandle, rid: RequestId) -> crat Ok(()) } -#[command] +#[tauri::command] pub async fn fetch_send( app: AppHandle, rid: RequestId, @@ -163,7 +181,7 @@ pub async fn fetch_send( }) } -#[command] +#[tauri::command] pub(crate) async fn fetch_read_body( app: AppHandle, rid: RequestId, diff --git a/plugins/http/src/config.rs b/plugins/http/src/config.rs deleted file mode 100644 index e4ac882b3..000000000 --- a/plugins/http/src/config.rs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2019-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -use serde::Deserialize; - -#[derive(Deserialize)] -pub struct Config { - pub scope: HttpAllowlistScope, -} - -/// HTTP API scope definition. -/// It is a list of URLs that can be accessed by the webview when using the HTTP APIs. -/// The scoped URL is matched against the request URL using a glob pattern. -/// -/// Examples: -/// - "https://*" or "https://**" : allows all HTTPS urls -/// - "https://*.github.com/tauri-apps/tauri": allows any subdomain of "github.com" with the "tauri-apps/api" path -/// - "https://myapi.service.com/users/*": allows access to any URLs that begins with "https://myapi.service.com/users/" -#[allow(rustdoc::bare_urls)] -#[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize)] -pub struct HttpAllowlistScope(pub Vec); diff --git a/plugins/http/src/lib.rs b/plugins/http/src/lib.rs index 7bf9217b3..a47d144f5 100644 --- a/plugins/http/src/lib.rs +++ b/plugins/http/src/lib.rs @@ -11,17 +11,16 @@ use std::{collections::HashMap, future::Future, pin::Pin}; pub use reqwest; use reqwest::Response; +use serde::{Deserialize, Deserializer}; use tauri::async_runtime::Mutex; use tauri::{ plugin::{Builder, TauriPlugin}, AppHandle, Manager, Runtime, }; -use crate::config::{Config, HttpAllowlistScope}; pub use error::{Error, Result}; mod commands; -mod config; mod error; mod scope; @@ -39,10 +38,46 @@ impl FetchRequest { } } +/// HTTP scope entry object definition. +/// It is a URL that can be accessed by the webview when using the HTTP APIs. +/// The scoped URL is matched against the request URL using a glob pattern. +/// +/// Examples: +/// - "https://*" or "https://**" : allows all HTTPS urls +/// - "https://*.github.com/tauri-apps/tauri": allows any subdomain of "github.com" with the "tauri-apps/api" path +/// - "https://myapi.service.com/users/*": allows access to any URLs that begins with "https://myapi.service.com/users/" +#[allow(rustdoc::bare_urls)] +#[derive(Debug)] +pub struct ScopeEntry { + pub url: glob::Pattern, +} + +impl<'de> Deserialize<'de> for ScopeEntry { + fn deserialize(deserializer: D) -> std::result::Result + where + D: Deserializer<'de>, + { + #[derive(Deserialize)] + struct ScopeEntryRaw { + url: String, + } + + ScopeEntryRaw::deserialize(deserializer).and_then(|raw| { + Ok(ScopeEntry { + url: glob::Pattern::new(&raw.url).map_err(|e| { + serde::de::Error::custom(format!( + "URL `{}` is not a valid glob pattern: {e}", + raw.url + )) + })?, + }) + }) + } +} + struct Http { #[allow(dead_code)] app: AppHandle, - scope: scope::Scope, current_id: AtomicU32, requests: Mutex, responses: Mutex, @@ -65,8 +100,8 @@ impl> HttpExt for T { } } -pub fn init() -> TauriPlugin> { - Builder::>::new("http") +pub fn init() -> TauriPlugin { + Builder::::new("http") .js_init_script(include_str!("api-iife.js").to_string()) .invoke_handler(tauri::generate_handler![ commands::fetch, @@ -74,19 +109,12 @@ pub fn init() -> TauriPlugin> { commands::fetch_send, commands::fetch_read_body, ]) - .setup(|app, api| { - let default_scope = HttpAllowlistScope::default(); + .setup(|app, _api| { app.manage(Http { app: app.clone(), current_id: 0.into(), requests: Default::default(), responses: Default::default(), - scope: scope::Scope::new( - api.config() - .as_ref() - .map(|c| &c.scope) - .unwrap_or(&default_scope), - ), }); Ok(()) }) diff --git a/plugins/http/src/scope.rs b/plugins/http/src/scope.rs index 00ef7e083..2f81de840 100644 --- a/plugins/http/src/scope.rs +++ b/plugins/http/src/scope.rs @@ -2,39 +2,40 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT -use glob::Pattern; +use crate::ScopeEntry; use reqwest::Url; -use crate::config::HttpAllowlistScope; - /// Scope for filesystem access. -#[derive(Debug, Clone)] -pub struct Scope { - allowed_urls: Vec, +#[derive(Debug)] +pub struct Scope<'a> { + allowed: Vec<&'a ScopeEntry>, + denied: Vec<&'a ScopeEntry>, } -impl Scope { +impl<'a> Scope<'a> { /// Creates a new scope from the scope configuration. - pub(crate) fn new(scope: &HttpAllowlistScope) -> Self { - Self { - allowed_urls: scope - .0 - .iter() - .map(|url| { - glob::Pattern::new(url).unwrap_or_else(|_| { - panic!("scoped URL is not a valid glob pattern: `{url}`") - }) - }) - .collect(), - } + pub(crate) fn new(allowed: Vec<&'a ScopeEntry>, denied: Vec<&'a ScopeEntry>) -> Self { + Self { allowed, denied } } /// Determines if the given URL is allowed on this scope. pub fn is_allowed(&self, url: &Url) -> bool { - self.allowed_urls.iter().any(|allowed| { - allowed.matches(url.as_str()) - || allowed.matches(url.as_str().strip_suffix('/').unwrap_or_default()) - }) + let denied = self.denied.iter().any(|entry| { + entry.url.matches(url.as_str()) + || entry + .url + .matches(url.as_str().strip_suffix('/').unwrap_or_default()) + }); + if denied { + false + } else { + self.allowed.iter().any(|entry| { + entry.url.matches(url.as_str()) + || entry + .url + .matches(url.as_str().strip_suffix('/').unwrap_or_default()) + }) + } } } From c803bc216618c761b0e8e4ea639469e61cb55bca Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sun, 28 Jan 2024 19:36:03 -0300 Subject: [PATCH 13/35] define global scope for fs and http --- Cargo.lock | 19 +- Cargo.toml | 7 +- .../src-tauri/capabilities/schemas/.gitignore | 2 +- .../capabilities/schemas/desktop-schema.json | 2155 +++++++++++++++- .../autogenerated/commands/init_auth.toml | 2 +- .../autogenerated/commands/register.toml | 2 +- .../autogenerated/commands/sign.toml | 2 +- .../commands/verify_registration.toml | 2 +- .../commands/verify_signature.toml | 2 +- .../permissions/schemas/schema.json | 332 +++ .../autogenerated/commands/disable.toml | 2 +- .../autogenerated/commands/enable.toml | 2 +- .../autogenerated/commands/is_enabled.toml | 2 +- .../autostart/permissions/schemas/schema.json | 304 +++ .../autogenerated/commands/cancel.toml | 2 +- .../commands/check_permissions.toml | 2 +- .../commands/open_app_settings.toml | 2 +- .../commands/request_permissions.toml | 2 +- .../autogenerated/commands/scan.toml | 2 +- .../autogenerated/commands/vibrate.toml | 2 +- .../permissions/schemas/schema.json | 346 +++ .../autogenerated/commands/authenticate.toml | 2 +- .../autogenerated/commands/status.toml | 2 +- .../biometric/permissions/schemas/schema.json | 290 +++ .../autogenerated/commands/cli_matches.toml | 2 +- plugins/cli/permissions/schemas/schema.json | 283 +++ .../autogenerated/commands/read.toml | 2 +- .../autogenerated/commands/write.toml | 2 +- .../permissions/schemas/schema.json | 290 +++ .../autogenerated/commands/get_current.toml | 2 +- .../deep-link/permissions/schemas/schema.json | 283 +++ .../autogenerated/commands/ask.toml | 2 +- .../autogenerated/commands/confirm.toml | 2 +- .../autogenerated/commands/message.toml | 2 +- .../autogenerated/commands/open.toml | 2 +- .../autogenerated/commands/save.toml | 2 +- .../dialog/permissions/schemas/schema.json | 332 +++ plugins/fs/Cargo.toml | 3 + plugins/fs/build.rs | 7 +- .../autogenerated/commands/copy_file.toml | 2 +- .../autogenerated/commands/create.toml | 2 +- .../autogenerated/commands/exists.toml | 2 +- .../autogenerated/commands/fstat.toml | 2 +- .../autogenerated/commands/ftruncate.toml | 2 +- .../autogenerated/commands/lstat.toml | 2 +- .../autogenerated/commands/mkdir.toml | 2 +- .../autogenerated/commands/open.toml | 2 +- .../autogenerated/commands/read.toml | 2 +- .../autogenerated/commands/read_dir.toml | 2 +- .../autogenerated/commands/read_file.toml | 2 +- .../commands/read_text_file.toml | 2 +- .../commands/read_text_file_lines.toml | 2 +- .../commands/read_text_file_lines_next.toml | 2 +- .../autogenerated/commands/remove.toml | 2 +- .../autogenerated/commands/rename.toml | 2 +- .../autogenerated/commands/seek.toml | 2 +- .../autogenerated/commands/stat.toml | 2 +- .../autogenerated/commands/truncate.toml | 2 +- .../autogenerated/commands/unwatch.toml | 2 +- .../autogenerated/commands/watch.toml | 2 +- .../autogenerated/commands/write.toml | 2 +- .../autogenerated/commands/write_file.toml | 2 +- .../commands/write_text_file.toml | 2 +- plugins/fs/permissions/schemas/schema.json | 2243 +++++++++++++++++ plugins/fs/src/lib.rs | 11 +- plugins/fs/src/scope.rs | 8 + .../autogenerated/commands/is_registered.toml | 2 +- .../autogenerated/commands/register.toml | 2 +- .../autogenerated/commands/register_all.toml | 2 +- .../autogenerated/commands/unregister.toml | 2 +- .../commands/unregister_all.toml | 2 +- .../permissions/schemas/schema.json | 332 +++ plugins/http/Cargo.toml | 4 + plugins/http/build.rs | 32 +- .../autogenerated/commands/fetch.toml | 2 +- .../autogenerated/commands/fetch_cancel.toml | 2 +- .../commands/fetch_read_body.toml | 2 +- .../autogenerated/commands/fetch_send.toml | 2 +- plugins/http/permissions/schemas/schema.json | 325 +++ plugins/http/src/commands.rs | 9 +- plugins/http/src/lib.rs | 38 - plugins/http/src/scope.rs | 39 +- .../autogenerated/commands/log.toml | 2 +- plugins/log/permissions/schemas/schema.json | 283 +++ .../autogenerated/commands/is_available.toml | 2 +- .../autogenerated/commands/scan.toml | 2 +- .../autogenerated/commands/write.toml | 2 +- plugins/nfc/permissions/schemas/schema.json | 304 +++ .../commands/is_permission_granted.toml | 2 +- .../autogenerated/commands/notify.toml | 2 +- .../commands/request_permission.toml | 2 +- .../permissions/schemas/schema.json | 311 +++ .../autogenerated/commands/arch.toml | 2 +- .../autogenerated/commands/exe_extension.toml | 2 +- .../autogenerated/commands/family.toml | 2 +- .../autogenerated/commands/hostname.toml | 2 +- .../autogenerated/commands/locale.toml | 2 +- .../autogenerated/commands/os_type.toml | 2 +- .../autogenerated/commands/platform.toml | 2 +- .../autogenerated/commands/version.toml | 2 +- plugins/os/permissions/schemas/schema.json | 374 +++ .../autogenerated/commands/move_window.toml | 2 +- .../permissions/schemas/schema.json | 283 +++ .../autogenerated/commands/exit.toml | 2 +- .../autogenerated/commands/restart.toml | 2 +- .../process/permissions/schemas/schema.json | 290 +++ .../autogenerated/commands/execute.toml | 2 +- .../autogenerated/commands/kill.toml | 2 +- .../autogenerated/commands/open.toml | 2 +- .../autogenerated/commands/stdin_write.toml | 2 +- plugins/shell/permissions/schemas/schema.json | 318 +++ .../autogenerated/commands/close.toml | 2 +- .../autogenerated/commands/execute.toml | 2 +- .../autogenerated/commands/load.toml | 2 +- .../autogenerated/commands/select.toml | 2 +- plugins/sql/permissions/schemas/schema.json | 318 +++ .../autogenerated/commands/clear.toml | 2 +- .../autogenerated/commands/delete.toml | 2 +- .../autogenerated/commands/entries.toml | 2 +- .../autogenerated/commands/get.toml | 2 +- .../autogenerated/commands/has.toml | 2 +- .../autogenerated/commands/keys.toml | 2 +- .../autogenerated/commands/length.toml | 2 +- .../autogenerated/commands/load.toml | 2 +- .../autogenerated/commands/reset.toml | 2 +- .../autogenerated/commands/save.toml | 2 +- .../autogenerated/commands/set.toml | 2 +- .../autogenerated/commands/values.toml | 2 +- plugins/store/permissions/schemas/schema.json | 430 ++++ .../autogenerated/commands/create_client.toml | 2 +- .../autogenerated/commands/destroy.toml | 2 +- .../commands/execute_procedure.toml | 2 +- .../commands/get_store_record.toml | 2 +- .../autogenerated/commands/initialize.toml | 2 +- .../autogenerated/commands/load_client.toml | 2 +- .../autogenerated/commands/remove_secret.toml | 2 +- .../commands/remove_store_record.toml | 2 +- .../autogenerated/commands/save.toml | 2 +- .../autogenerated/commands/save_secret.toml | 2 +- .../commands/save_store_record.toml | 2 +- .../permissions/schemas/schema.json | 416 +++ .../autogenerated/commands/check.toml | 2 +- .../commands/download_and_install.toml | 2 +- .../updater/permissions/schemas/schema.json | 297 +++ .../autogenerated/commands/download.toml | 2 +- .../autogenerated/commands/upload.toml | 2 +- .../upload/permissions/schemas/schema.json | 290 +++ .../autogenerated/commands/connect.toml | 2 +- .../autogenerated/commands/send.toml | 2 +- .../websocket/permissions/schemas/schema.json | 297 +++ .../commands/restore_window_state.toml | 2 +- .../commands/save_window_state.toml | 2 +- .../permissions/schemas/schema.json | 290 +++ 153 files changed, 12214 insertions(+), 211 deletions(-) create mode 100644 plugins/authenticator/permissions/schemas/schema.json create mode 100644 plugins/autostart/permissions/schemas/schema.json create mode 100644 plugins/barcode-scanner/permissions/schemas/schema.json create mode 100644 plugins/biometric/permissions/schemas/schema.json create mode 100644 plugins/cli/permissions/schemas/schema.json create mode 100644 plugins/clipboard-manager/permissions/schemas/schema.json create mode 100644 plugins/deep-link/permissions/schemas/schema.json create mode 100644 plugins/dialog/permissions/schemas/schema.json create mode 100644 plugins/fs/permissions/schemas/schema.json create mode 100644 plugins/fs/src/scope.rs create mode 100644 plugins/global-shortcut/permissions/schemas/schema.json create mode 100644 plugins/http/permissions/schemas/schema.json create mode 100644 plugins/log/permissions/schemas/schema.json create mode 100644 plugins/nfc/permissions/schemas/schema.json create mode 100644 plugins/notification/permissions/schemas/schema.json create mode 100644 plugins/os/permissions/schemas/schema.json create mode 100644 plugins/positioner/permissions/schemas/schema.json create mode 100644 plugins/process/permissions/schemas/schema.json create mode 100644 plugins/shell/permissions/schemas/schema.json create mode 100644 plugins/sql/permissions/schemas/schema.json create mode 100644 plugins/store/permissions/schemas/schema.json create mode 100644 plugins/stronghold/permissions/schemas/schema.json create mode 100644 plugins/updater/permissions/schemas/schema.json create mode 100644 plugins/upload/permissions/schemas/schema.json create mode 100644 plugins/websocket/permissions/schemas/schema.json create mode 100644 plugins/window-state/permissions/schemas/schema.json diff --git a/Cargo.lock b/Cargo.lock index 0c5fa8462..638f97f78 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5987,7 +5987,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6039,7 +6039,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" dependencies = [ "anyhow", "cargo_toml", @@ -6064,7 +6064,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" dependencies = [ "base64 0.21.5", "brotli", @@ -6089,7 +6089,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" dependencies = [ "heck", "proc-macro2", @@ -6102,10 +6102,11 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" dependencies = [ "cargo_metadata", "glob", + "schemars", "serde", "serde_json", "tauri", @@ -6238,6 +6239,7 @@ dependencies = [ "glob", "notify", "notify-debouncer-mini", + "schemars", "serde", "serde_repr", "tauri", @@ -6268,6 +6270,7 @@ dependencies = [ "glob", "http", "reqwest", + "schemars", "serde", "serde_json", "tauri", @@ -6551,7 +6554,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" dependencies = [ "gtk", "http", @@ -6568,7 +6571,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6589,7 +6592,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=fix/command-scope-infallible#56d464aad3573adbddc9f235fe957e05269db2f8" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/Cargo.toml b/Cargo.toml index b9347c862..24e97c8b9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,12 +10,13 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "fix/command-scope-infallible" } -tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "fix/command-scope-infallible" } -tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "fix/command-scope-infallible" } +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "feat/permission-scope-schema" } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "feat/permission-scope-schema" } +tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "feat/permission-scope-schema" } serde_json = "1" thiserror = "1" url = "2" +schemars = "0.8" [workspace.package] edition = "2021" diff --git a/examples/api/src-tauri/capabilities/schemas/.gitignore b/examples/api/src-tauri/capabilities/schemas/.gitignore index 29e549b16..5a0d26385 100644 --- a/examples/api/src-tauri/capabilities/schemas/.gitignore +++ b/examples/api/src-tauri/capabilities/schemas/.gitignore @@ -1,3 +1,3 @@ -*-schema.json +*.json !desktop-schema.json !mobile-schema.json diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index ae5463e70..a23b38da6 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -4399,39 +4399,2140 @@ { "description": "Reference a permission or permission set by identifier and extends its scope.", "type": "object", - "required": [ - "identifier" - ], - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" + "oneOf": [ + { + "type": "object", + "required": [ + "identifier" ], - "items": { - "$ref": "#/definitions/Value" + "properties": { + "allow": { + "items": { + "title": "Entry", + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "deny": { + "items": { + "title": "Entry", + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "identifier": { + "oneOf": [ + { + "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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: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-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-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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" + ] + } + ] + } } }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" + { + "type": "object", + "required": [ + "identifier" ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" + "properties": { + "allow": { + "items": { + "title": "ScopeEntry", + "description": "HTTP scope entry object definition.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "deny": { + "items": { + "title": "ScopeEntry", + "description": "HTTP scope entry object definition.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "identifier": { + "oneOf": [ + { + "description": "http:default -> Allows all fetch operations", + "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": "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" + ] + } + ] } - ] + } } - } + ] } ] }, diff --git a/plugins/authenticator/permissions/autogenerated/commands/init_auth.toml b/plugins/authenticator/permissions/autogenerated/commands/init_auth.toml index ed2640dd8..4781773e3 100644 --- a/plugins/authenticator/permissions/autogenerated/commands/init_auth.toml +++ b/plugins/authenticator/permissions/autogenerated/commands/init_auth.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-init-auth" diff --git a/plugins/authenticator/permissions/autogenerated/commands/register.toml b/plugins/authenticator/permissions/autogenerated/commands/register.toml index d07242c70..4eec17dc7 100644 --- a/plugins/authenticator/permissions/autogenerated/commands/register.toml +++ b/plugins/authenticator/permissions/autogenerated/commands/register.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-register" diff --git a/plugins/authenticator/permissions/autogenerated/commands/sign.toml b/plugins/authenticator/permissions/autogenerated/commands/sign.toml index 728fed63a..f8b6a778d 100644 --- a/plugins/authenticator/permissions/autogenerated/commands/sign.toml +++ b/plugins/authenticator/permissions/autogenerated/commands/sign.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-sign" diff --git a/plugins/authenticator/permissions/autogenerated/commands/verify_registration.toml b/plugins/authenticator/permissions/autogenerated/commands/verify_registration.toml index 8fd00b3a5..f6b15d58b 100644 --- a/plugins/authenticator/permissions/autogenerated/commands/verify_registration.toml +++ b/plugins/authenticator/permissions/autogenerated/commands/verify_registration.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-verify-registration" diff --git a/plugins/authenticator/permissions/autogenerated/commands/verify_signature.toml b/plugins/authenticator/permissions/autogenerated/commands/verify_signature.toml index 43d2d1660..90b24095a 100644 --- a/plugins/authenticator/permissions/autogenerated/commands/verify_signature.toml +++ b/plugins/authenticator/permissions/autogenerated/commands/verify_signature.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-verify-signature" diff --git a/plugins/authenticator/permissions/schemas/schema.json b/plugins/authenticator/permissions/schemas/schema.json new file mode 100644 index 000000000..34b42c425 --- /dev/null +++ b/plugins/authenticator/permissions/schemas/schema.json @@ -0,0 +1,332 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-init-auth -> Enables the init_auth command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-init-auth" + ] + }, + { + "description": "deny-init-auth -> Denies the init_auth command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-init-auth" + ] + }, + { + "description": "allow-register -> Enables the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-register" + ] + }, + { + "description": "deny-register -> Denies the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-register" + ] + }, + { + "description": "allow-sign -> Enables the sign command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-sign" + ] + }, + { + "description": "deny-sign -> Denies the sign command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-sign" + ] + }, + { + "description": "allow-verify-registration -> Enables the verify_registration command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-verify-registration" + ] + }, + { + "description": "deny-verify-registration -> Denies the verify_registration command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-verify-registration" + ] + }, + { + "description": "allow-verify-signature -> Enables the verify_signature command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-verify-signature" + ] + }, + { + "description": "deny-verify-signature -> Denies the verify_signature command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-verify-signature" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/autostart/permissions/autogenerated/commands/disable.toml b/plugins/autostart/permissions/autogenerated/commands/disable.toml index be37da722..849c50a2d 100644 --- a/plugins/autostart/permissions/autogenerated/commands/disable.toml +++ b/plugins/autostart/permissions/autogenerated/commands/disable.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-disable" diff --git a/plugins/autostart/permissions/autogenerated/commands/enable.toml b/plugins/autostart/permissions/autogenerated/commands/enable.toml index 663fe0cf9..f931a9e54 100644 --- a/plugins/autostart/permissions/autogenerated/commands/enable.toml +++ b/plugins/autostart/permissions/autogenerated/commands/enable.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-enable" diff --git a/plugins/autostart/permissions/autogenerated/commands/is_enabled.toml b/plugins/autostart/permissions/autogenerated/commands/is_enabled.toml index c1488b9f9..88a6a2823 100644 --- a/plugins/autostart/permissions/autogenerated/commands/is_enabled.toml +++ b/plugins/autostart/permissions/autogenerated/commands/is_enabled.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-is-enabled" diff --git a/plugins/autostart/permissions/schemas/schema.json b/plugins/autostart/permissions/schemas/schema.json new file mode 100644 index 000000000..5252fc1b9 --- /dev/null +++ b/plugins/autostart/permissions/schemas/schema.json @@ -0,0 +1,304 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-disable -> Enables the disable command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-disable" + ] + }, + { + "description": "deny-disable -> Denies the disable command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-disable" + ] + }, + { + "description": "allow-enable -> Enables the enable command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-enable" + ] + }, + { + "description": "deny-enable -> Denies the enable command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-enable" + ] + }, + { + "description": "allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-is-enabled" + ] + }, + { + "description": "deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-is-enabled" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/cancel.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/cancel.toml index ce1fd02a8..91efeaa00 100644 --- a/plugins/barcode-scanner/permissions/autogenerated/commands/cancel.toml +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/cancel.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-cancel" diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/check_permissions.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/check_permissions.toml index 931881fc4..f5af08b13 100644 --- a/plugins/barcode-scanner/permissions/autogenerated/commands/check_permissions.toml +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/check_permissions.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-check-permissions" diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/open_app_settings.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/open_app_settings.toml index e1b5690e3..9da98d852 100644 --- a/plugins/barcode-scanner/permissions/autogenerated/commands/open_app_settings.toml +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/open_app_settings.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-open-app-settings" diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/request_permissions.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/request_permissions.toml index 62d38b767..02dcd6271 100644 --- a/plugins/barcode-scanner/permissions/autogenerated/commands/request_permissions.toml +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/request_permissions.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-request-permissions" diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/scan.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/scan.toml index cbb8e03bf..efa621dd5 100644 --- a/plugins/barcode-scanner/permissions/autogenerated/commands/scan.toml +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/scan.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-scan" diff --git a/plugins/barcode-scanner/permissions/autogenerated/commands/vibrate.toml b/plugins/barcode-scanner/permissions/autogenerated/commands/vibrate.toml index 4df8d2f92..4c2fe94e2 100644 --- a/plugins/barcode-scanner/permissions/autogenerated/commands/vibrate.toml +++ b/plugins/barcode-scanner/permissions/autogenerated/commands/vibrate.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-vibrate" diff --git a/plugins/barcode-scanner/permissions/schemas/schema.json b/plugins/barcode-scanner/permissions/schemas/schema.json new file mode 100644 index 000000000..55c8f4491 --- /dev/null +++ b/plugins/barcode-scanner/permissions/schemas/schema.json @@ -0,0 +1,346 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-cancel -> Enables the cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-cancel" + ] + }, + { + "description": "deny-cancel -> Denies the cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-cancel" + ] + }, + { + "description": "allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-check-permissions" + ] + }, + { + "description": "deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-check-permissions" + ] + }, + { + "description": "allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-open-app-settings" + ] + }, + { + "description": "deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-open-app-settings" + ] + }, + { + "description": "allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-request-permissions" + ] + }, + { + "description": "deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-request-permissions" + ] + }, + { + "description": "allow-scan -> Enables the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-scan" + ] + }, + { + "description": "deny-scan -> Denies the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-scan" + ] + }, + { + "description": "allow-vibrate -> Enables the vibrate command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-vibrate" + ] + }, + { + "description": "deny-vibrate -> Denies the vibrate command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-vibrate" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/biometric/permissions/autogenerated/commands/authenticate.toml b/plugins/biometric/permissions/autogenerated/commands/authenticate.toml index 48e7bd159..be4c9f9b4 100644 --- a/plugins/biometric/permissions/autogenerated/commands/authenticate.toml +++ b/plugins/biometric/permissions/autogenerated/commands/authenticate.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-authenticate" diff --git a/plugins/biometric/permissions/autogenerated/commands/status.toml b/plugins/biometric/permissions/autogenerated/commands/status.toml index c6efc5d37..c8ed433c3 100644 --- a/plugins/biometric/permissions/autogenerated/commands/status.toml +++ b/plugins/biometric/permissions/autogenerated/commands/status.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-status" diff --git a/plugins/biometric/permissions/schemas/schema.json b/plugins/biometric/permissions/schemas/schema.json new file mode 100644 index 000000000..56416a868 --- /dev/null +++ b/plugins/biometric/permissions/schemas/schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-authenticate -> Enables the authenticate command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-authenticate" + ] + }, + { + "description": "deny-authenticate -> Denies the authenticate command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-authenticate" + ] + }, + { + "description": "allow-status -> Enables the status command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-status" + ] + }, + { + "description": "deny-status -> Denies the status command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-status" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/cli/permissions/autogenerated/commands/cli_matches.toml b/plugins/cli/permissions/autogenerated/commands/cli_matches.toml index 803195239..b0a2e8f3f 100644 --- a/plugins/cli/permissions/autogenerated/commands/cli_matches.toml +++ b/plugins/cli/permissions/autogenerated/commands/cli_matches.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-cli-matches" diff --git a/plugins/cli/permissions/schemas/schema.json b/plugins/cli/permissions/schemas/schema.json new file mode 100644 index 000000000..29a8ae9d9 --- /dev/null +++ b/plugins/cli/permissions/schemas/schema.json @@ -0,0 +1,283 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-cli-matches" + ] + }, + { + "description": "deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-cli-matches" + ] + }, + { + "description": "default -> Allows reading the CLI matches", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/clipboard-manager/permissions/autogenerated/commands/read.toml b/plugins/clipboard-manager/permissions/autogenerated/commands/read.toml index c961d8f35..20fa10c6b 100644 --- a/plugins/clipboard-manager/permissions/autogenerated/commands/read.toml +++ b/plugins/clipboard-manager/permissions/autogenerated/commands/read.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-read" diff --git a/plugins/clipboard-manager/permissions/autogenerated/commands/write.toml b/plugins/clipboard-manager/permissions/autogenerated/commands/write.toml index adc43c7aa..73d1d3878 100644 --- a/plugins/clipboard-manager/permissions/autogenerated/commands/write.toml +++ b/plugins/clipboard-manager/permissions/autogenerated/commands/write.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-write" diff --git a/plugins/clipboard-manager/permissions/schemas/schema.json b/plugins/clipboard-manager/permissions/schemas/schema.json new file mode 100644 index 000000000..35d04601b --- /dev/null +++ b/plugins/clipboard-manager/permissions/schemas/schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read" + ] + }, + { + "description": "deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read" + ] + }, + { + "description": "allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write" + ] + }, + { + "description": "deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/deep-link/permissions/autogenerated/commands/get_current.toml b/plugins/deep-link/permissions/autogenerated/commands/get_current.toml index b48e3e42d..e729de116 100644 --- a/plugins/deep-link/permissions/autogenerated/commands/get_current.toml +++ b/plugins/deep-link/permissions/autogenerated/commands/get_current.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-get-current" diff --git a/plugins/deep-link/permissions/schemas/schema.json b/plugins/deep-link/permissions/schemas/schema.json new file mode 100644 index 000000000..7d435502e --- /dev/null +++ b/plugins/deep-link/permissions/schemas/schema.json @@ -0,0 +1,283 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-get-current -> Enables the get_current command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-get-current" + ] + }, + { + "description": "deny-get-current -> Denies the get_current command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-get-current" + ] + }, + { + "description": "default -> Allows reading the opened deep link via the get_current command", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/dialog/permissions/autogenerated/commands/ask.toml b/plugins/dialog/permissions/autogenerated/commands/ask.toml index f83b42ef3..4142c59ff 100644 --- a/plugins/dialog/permissions/autogenerated/commands/ask.toml +++ b/plugins/dialog/permissions/autogenerated/commands/ask.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-ask" diff --git a/plugins/dialog/permissions/autogenerated/commands/confirm.toml b/plugins/dialog/permissions/autogenerated/commands/confirm.toml index 8a8260d8d..a297d0757 100644 --- a/plugins/dialog/permissions/autogenerated/commands/confirm.toml +++ b/plugins/dialog/permissions/autogenerated/commands/confirm.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-confirm" diff --git a/plugins/dialog/permissions/autogenerated/commands/message.toml b/plugins/dialog/permissions/autogenerated/commands/message.toml index 8ab1c3ae2..d386d91e8 100644 --- a/plugins/dialog/permissions/autogenerated/commands/message.toml +++ b/plugins/dialog/permissions/autogenerated/commands/message.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-message" diff --git a/plugins/dialog/permissions/autogenerated/commands/open.toml b/plugins/dialog/permissions/autogenerated/commands/open.toml index 8d1ef53c5..4ea6dff16 100644 --- a/plugins/dialog/permissions/autogenerated/commands/open.toml +++ b/plugins/dialog/permissions/autogenerated/commands/open.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-open" diff --git a/plugins/dialog/permissions/autogenerated/commands/save.toml b/plugins/dialog/permissions/autogenerated/commands/save.toml index fb9bfbc36..d3e842201 100644 --- a/plugins/dialog/permissions/autogenerated/commands/save.toml +++ b/plugins/dialog/permissions/autogenerated/commands/save.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-save" diff --git a/plugins/dialog/permissions/schemas/schema.json b/plugins/dialog/permissions/schemas/schema.json new file mode 100644 index 000000000..0d1938f63 --- /dev/null +++ b/plugins/dialog/permissions/schemas/schema.json @@ -0,0 +1,332 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-ask -> Enables the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-ask" + ] + }, + { + "description": "deny-ask -> Denies the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-ask" + ] + }, + { + "description": "allow-confirm -> Enables the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-confirm" + ] + }, + { + "description": "deny-confirm -> Denies the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-confirm" + ] + }, + { + "description": "allow-message -> Enables the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-message" + ] + }, + { + "description": "deny-message -> Denies the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-message" + ] + }, + { + "description": "allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-open" + ] + }, + { + "description": "deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-open" + ] + }, + { + "description": "allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save" + ] + }, + { + "description": "deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/fs/Cargo.toml b/plugins/fs/Cargo.toml index 92b3d8b33..0e6b62b74 100644 --- a/plugins/fs/Cargo.toml +++ b/plugins/fs/Cargo.toml @@ -14,9 +14,12 @@ rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] tauri-plugin = { workspace = true, features = ["build"] } +schemars = { workspace = true } +serde = { workspace = true } [dependencies] serde = { workspace = true } +schemars = { workspace = true } serde_repr = "0.1" tauri = { workspace = true } thiserror = { workspace = true } diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index ee58891a3..307c1417b 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -1,5 +1,8 @@ use std::{fs::create_dir_all, path::Path}; +#[path = "src/scope.rs"] +mod scope; + const BASE_DIR_VARS: &[&str] = &[ "AUDIO", "CACHE", @@ -150,5 +153,7 @@ permissions = [ .unwrap_or_else(|e| panic!("unable to autogenerate ${upper}: {e}")); } - tauri_plugin::Builder::new(COMMANDS).build(); + tauri_plugin::Builder::new(COMMANDS) + .global_scope_schema(schemars::schema_for!(scope::Entry)) + .build(); } diff --git a/plugins/fs/permissions/autogenerated/commands/copy_file.toml b/plugins/fs/permissions/autogenerated/commands/copy_file.toml index 8bbd394f4..61bedf9e2 100644 --- a/plugins/fs/permissions/autogenerated/commands/copy_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/copy_file.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-copy-file" diff --git a/plugins/fs/permissions/autogenerated/commands/create.toml b/plugins/fs/permissions/autogenerated/commands/create.toml index 9c79a172a..6646cc6ca 100644 --- a/plugins/fs/permissions/autogenerated/commands/create.toml +++ b/plugins/fs/permissions/autogenerated/commands/create.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-create" diff --git a/plugins/fs/permissions/autogenerated/commands/exists.toml b/plugins/fs/permissions/autogenerated/commands/exists.toml index 4dbb81439..0eed148f3 100644 --- a/plugins/fs/permissions/autogenerated/commands/exists.toml +++ b/plugins/fs/permissions/autogenerated/commands/exists.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-exists" diff --git a/plugins/fs/permissions/autogenerated/commands/fstat.toml b/plugins/fs/permissions/autogenerated/commands/fstat.toml index 1efc83556..30d281128 100644 --- a/plugins/fs/permissions/autogenerated/commands/fstat.toml +++ b/plugins/fs/permissions/autogenerated/commands/fstat.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-fstat" diff --git a/plugins/fs/permissions/autogenerated/commands/ftruncate.toml b/plugins/fs/permissions/autogenerated/commands/ftruncate.toml index c6444837e..6b54ffe08 100644 --- a/plugins/fs/permissions/autogenerated/commands/ftruncate.toml +++ b/plugins/fs/permissions/autogenerated/commands/ftruncate.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-ftruncate" diff --git a/plugins/fs/permissions/autogenerated/commands/lstat.toml b/plugins/fs/permissions/autogenerated/commands/lstat.toml index 92c218f4e..b224635b4 100644 --- a/plugins/fs/permissions/autogenerated/commands/lstat.toml +++ b/plugins/fs/permissions/autogenerated/commands/lstat.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-lstat" diff --git a/plugins/fs/permissions/autogenerated/commands/mkdir.toml b/plugins/fs/permissions/autogenerated/commands/mkdir.toml index 719fb88ce..58cdbbc7d 100644 --- a/plugins/fs/permissions/autogenerated/commands/mkdir.toml +++ b/plugins/fs/permissions/autogenerated/commands/mkdir.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-mkdir" diff --git a/plugins/fs/permissions/autogenerated/commands/open.toml b/plugins/fs/permissions/autogenerated/commands/open.toml index 8d1ef53c5..4ea6dff16 100644 --- a/plugins/fs/permissions/autogenerated/commands/open.toml +++ b/plugins/fs/permissions/autogenerated/commands/open.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-open" diff --git a/plugins/fs/permissions/autogenerated/commands/read.toml b/plugins/fs/permissions/autogenerated/commands/read.toml index c961d8f35..20fa10c6b 100644 --- a/plugins/fs/permissions/autogenerated/commands/read.toml +++ b/plugins/fs/permissions/autogenerated/commands/read.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-read" diff --git a/plugins/fs/permissions/autogenerated/commands/read_dir.toml b/plugins/fs/permissions/autogenerated/commands/read_dir.toml index a2774d359..eef68eba2 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_dir.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_dir.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-read-dir" diff --git a/plugins/fs/permissions/autogenerated/commands/read_file.toml b/plugins/fs/permissions/autogenerated/commands/read_file.toml index 1f349f4d2..b932b71ac 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_file.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-read-file" diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file.toml index d05e4b45b..7a25115db 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-read-text-file" diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml index 19ad4bd75..1ba629cbf 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-read-text-file-lines" diff --git a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml index 801ff4688..021ea37cc 100644 --- a/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml +++ b/plugins/fs/permissions/autogenerated/commands/read_text_file_lines_next.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-read-text-file-lines-next" diff --git a/plugins/fs/permissions/autogenerated/commands/remove.toml b/plugins/fs/permissions/autogenerated/commands/remove.toml index cd4925fc6..9c9791ebc 100644 --- a/plugins/fs/permissions/autogenerated/commands/remove.toml +++ b/plugins/fs/permissions/autogenerated/commands/remove.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-remove" diff --git a/plugins/fs/permissions/autogenerated/commands/rename.toml b/plugins/fs/permissions/autogenerated/commands/rename.toml index fc6bc9fe3..91def18f2 100644 --- a/plugins/fs/permissions/autogenerated/commands/rename.toml +++ b/plugins/fs/permissions/autogenerated/commands/rename.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-rename" diff --git a/plugins/fs/permissions/autogenerated/commands/seek.toml b/plugins/fs/permissions/autogenerated/commands/seek.toml index 6f75d610e..cb21bdc31 100644 --- a/plugins/fs/permissions/autogenerated/commands/seek.toml +++ b/plugins/fs/permissions/autogenerated/commands/seek.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-seek" diff --git a/plugins/fs/permissions/autogenerated/commands/stat.toml b/plugins/fs/permissions/autogenerated/commands/stat.toml index 5b1f7724e..56f751bc6 100644 --- a/plugins/fs/permissions/autogenerated/commands/stat.toml +++ b/plugins/fs/permissions/autogenerated/commands/stat.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-stat" diff --git a/plugins/fs/permissions/autogenerated/commands/truncate.toml b/plugins/fs/permissions/autogenerated/commands/truncate.toml index 3960fdcc2..62fbb1447 100644 --- a/plugins/fs/permissions/autogenerated/commands/truncate.toml +++ b/plugins/fs/permissions/autogenerated/commands/truncate.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-truncate" diff --git a/plugins/fs/permissions/autogenerated/commands/unwatch.toml b/plugins/fs/permissions/autogenerated/commands/unwatch.toml index 35328cf55..3259e9a67 100644 --- a/plugins/fs/permissions/autogenerated/commands/unwatch.toml +++ b/plugins/fs/permissions/autogenerated/commands/unwatch.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-unwatch" diff --git a/plugins/fs/permissions/autogenerated/commands/watch.toml b/plugins/fs/permissions/autogenerated/commands/watch.toml index 09615fed1..8dd1b5772 100644 --- a/plugins/fs/permissions/autogenerated/commands/watch.toml +++ b/plugins/fs/permissions/autogenerated/commands/watch.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-watch" diff --git a/plugins/fs/permissions/autogenerated/commands/write.toml b/plugins/fs/permissions/autogenerated/commands/write.toml index adc43c7aa..73d1d3878 100644 --- a/plugins/fs/permissions/autogenerated/commands/write.toml +++ b/plugins/fs/permissions/autogenerated/commands/write.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-write" diff --git a/plugins/fs/permissions/autogenerated/commands/write_file.toml b/plugins/fs/permissions/autogenerated/commands/write_file.toml index 460745054..cb0450fc5 100644 --- a/plugins/fs/permissions/autogenerated/commands/write_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/write_file.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-write-file" diff --git a/plugins/fs/permissions/autogenerated/commands/write_text_file.toml b/plugins/fs/permissions/autogenerated/commands/write_text_file.toml index 0ac4c64a8..6b497a70a 100644 --- a/plugins/fs/permissions/autogenerated/commands/write_text_file.toml +++ b/plugins/fs/permissions/autogenerated/commands/write_text_file.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-write-text-file" diff --git a/plugins/fs/permissions/schemas/schema.json b/plugins/fs/permissions/schemas/schema.json new file mode 100644 index 000000000..17839e06f --- /dev/null +++ b/plugins/fs/permissions/schemas/schema.json @@ -0,0 +1,2243 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-app-read-recursive" + ] + }, + { + "description": "allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-app-write-recursive" + ] + }, + { + "description": "allow-app-read -> This allows non-recursive read access to the `$APP` folder.", + "type": "string", + "enum": [ + "allow-app-read" + ] + }, + { + "description": "allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "type": "string", + "enum": [ + "allow-app-write" + ] + }, + { + "description": "allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-app-meta-recursive" + ] + }, + { + "description": "allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-app-meta" + ] + }, + { + "description": "scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-app-recursive" + ] + }, + { + "description": "scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", + "type": "string", + "enum": [ + "scope-app" + ] + }, + { + "description": "scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "type": "string", + "enum": [ + "scope-app-index" + ] + }, + { + "description": "allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appcache-read-recursive" + ] + }, + { + "description": "allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appcache-write-recursive" + ] + }, + { + "description": "allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "type": "string", + "enum": [ + "allow-appcache-read" + ] + }, + { + "description": "allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "type": "string", + "enum": [ + "allow-appcache-write" + ] + }, + { + "description": "allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appcache-meta-recursive" + ] + }, + { + "description": "allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appcache-meta" + ] + }, + { + "description": "scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-appcache-recursive" + ] + }, + { + "description": "scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "type": "string", + "enum": [ + "scope-appcache" + ] + }, + { + "description": "scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "type": "string", + "enum": [ + "scope-appcache-index" + ] + }, + { + "description": "allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appconfig-read-recursive" + ] + }, + { + "description": "allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appconfig-write-recursive" + ] + }, + { + "description": "allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "type": "string", + "enum": [ + "allow-appconfig-read" + ] + }, + { + "description": "allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", + "type": "string", + "enum": [ + "allow-appconfig-write" + ] + }, + { + "description": "allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appconfig-meta-recursive" + ] + }, + { + "description": "allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appconfig-meta" + ] + }, + { + "description": "scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-appconfig-recursive" + ] + }, + { + "description": "scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "type": "string", + "enum": [ + "scope-appconfig" + ] + }, + { + "description": "scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "type": "string", + "enum": [ + "scope-appconfig-index" + ] + }, + { + "description": "allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appdata-read-recursive" + ] + }, + { + "description": "allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-appdata-write-recursive" + ] + }, + { + "description": "allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "type": "string", + "enum": [ + "allow-appdata-read" + ] + }, + { + "description": "allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "type": "string", + "enum": [ + "allow-appdata-write" + ] + }, + { + "description": "allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appdata-meta-recursive" + ] + }, + { + "description": "allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-appdata-meta" + ] + }, + { + "description": "scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-appdata-recursive" + ] + }, + { + "description": "scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "type": "string", + "enum": [ + "scope-appdata" + ] + }, + { + "description": "scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "type": "string", + "enum": [ + "scope-appdata-index" + ] + }, + { + "description": "allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-applocaldata-read-recursive" + ] + }, + { + "description": "allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-applocaldata-write-recursive" + ] + }, + { + "description": "allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "type": "string", + "enum": [ + "allow-applocaldata-read" + ] + }, + { + "description": "allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "type": "string", + "enum": [ + "allow-applocaldata-write" + ] + }, + { + "description": "allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-applocaldata-meta-recursive" + ] + }, + { + "description": "allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-applocaldata-meta" + ] + }, + { + "description": "scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-applocaldata-recursive" + ] + }, + { + "description": "scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "type": "string", + "enum": [ + "scope-applocaldata" + ] + }, + { + "description": "scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "type": "string", + "enum": [ + "scope-applocaldata-index" + ] + }, + { + "description": "allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-applog-read-recursive" + ] + }, + { + "description": "allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-applog-write-recursive" + ] + }, + { + "description": "allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "type": "string", + "enum": [ + "allow-applog-read" + ] + }, + { + "description": "allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "type": "string", + "enum": [ + "allow-applog-write" + ] + }, + { + "description": "allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-applog-meta-recursive" + ] + }, + { + "description": "allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-applog-meta" + ] + }, + { + "description": "scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-applog-recursive" + ] + }, + { + "description": "scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "type": "string", + "enum": [ + "scope-applog" + ] + }, + { + "description": "scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "type": "string", + "enum": [ + "scope-applog-index" + ] + }, + { + "description": "allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-audio-read-recursive" + ] + }, + { + "description": "allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-audio-write-recursive" + ] + }, + { + "description": "allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "type": "string", + "enum": [ + "allow-audio-read" + ] + }, + { + "description": "allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "type": "string", + "enum": [ + "allow-audio-write" + ] + }, + { + "description": "allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-audio-meta-recursive" + ] + }, + { + "description": "allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-audio-meta" + ] + }, + { + "description": "scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-audio-recursive" + ] + }, + { + "description": "scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "type": "string", + "enum": [ + "scope-audio" + ] + }, + { + "description": "scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "type": "string", + "enum": [ + "scope-audio-index" + ] + }, + { + "description": "allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-cache-read-recursive" + ] + }, + { + "description": "allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-cache-write-recursive" + ] + }, + { + "description": "allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "type": "string", + "enum": [ + "allow-cache-read" + ] + }, + { + "description": "allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "type": "string", + "enum": [ + "allow-cache-write" + ] + }, + { + "description": "allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-cache-meta-recursive" + ] + }, + { + "description": "allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-cache-meta" + ] + }, + { + "description": "scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-cache-recursive" + ] + }, + { + "description": "scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "type": "string", + "enum": [ + "scope-cache" + ] + }, + { + "description": "scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "type": "string", + "enum": [ + "scope-cache-index" + ] + }, + { + "description": "allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-config-read-recursive" + ] + }, + { + "description": "allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-config-write-recursive" + ] + }, + { + "description": "allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", + "type": "string", + "enum": [ + "allow-config-read" + ] + }, + { + "description": "allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "type": "string", + "enum": [ + "allow-config-write" + ] + }, + { + "description": "allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-config-meta-recursive" + ] + }, + { + "description": "allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-config-meta" + ] + }, + { + "description": "scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-config-recursive" + ] + }, + { + "description": "scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "type": "string", + "enum": [ + "scope-config" + ] + }, + { + "description": "scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "type": "string", + "enum": [ + "scope-config-index" + ] + }, + { + "description": "allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-data-read-recursive" + ] + }, + { + "description": "allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-data-write-recursive" + ] + }, + { + "description": "allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "type": "string", + "enum": [ + "allow-data-read" + ] + }, + { + "description": "allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "type": "string", + "enum": [ + "allow-data-write" + ] + }, + { + "description": "allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-data-meta-recursive" + ] + }, + { + "description": "allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-data-meta" + ] + }, + { + "description": "scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-data-recursive" + ] + }, + { + "description": "scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "type": "string", + "enum": [ + "scope-data" + ] + }, + { + "description": "scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "type": "string", + "enum": [ + "scope-data-index" + ] + }, + { + "description": "allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-desktop-read-recursive" + ] + }, + { + "description": "allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-desktop-write-recursive" + ] + }, + { + "description": "allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "type": "string", + "enum": [ + "allow-desktop-read" + ] + }, + { + "description": "allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "type": "string", + "enum": [ + "allow-desktop-write" + ] + }, + { + "description": "allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-desktop-meta-recursive" + ] + }, + { + "description": "allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-desktop-meta" + ] + }, + { + "description": "scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-desktop-recursive" + ] + }, + { + "description": "scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "type": "string", + "enum": [ + "scope-desktop" + ] + }, + { + "description": "scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "type": "string", + "enum": [ + "scope-desktop-index" + ] + }, + { + "description": "allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-document-read-recursive" + ] + }, + { + "description": "allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-document-write-recursive" + ] + }, + { + "description": "allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "type": "string", + "enum": [ + "allow-document-read" + ] + }, + { + "description": "allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "type": "string", + "enum": [ + "allow-document-write" + ] + }, + { + "description": "allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-document-meta-recursive" + ] + }, + { + "description": "allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-document-meta" + ] + }, + { + "description": "scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-document-recursive" + ] + }, + { + "description": "scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "type": "string", + "enum": [ + "scope-document" + ] + }, + { + "description": "scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "type": "string", + "enum": [ + "scope-document-index" + ] + }, + { + "description": "allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-download-read-recursive" + ] + }, + { + "description": "allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-download-write-recursive" + ] + }, + { + "description": "allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "type": "string", + "enum": [ + "allow-download-read" + ] + }, + { + "description": "allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", + "type": "string", + "enum": [ + "allow-download-write" + ] + }, + { + "description": "allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-download-meta-recursive" + ] + }, + { + "description": "allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-download-meta" + ] + }, + { + "description": "scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-download-recursive" + ] + }, + { + "description": "scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "type": "string", + "enum": [ + "scope-download" + ] + }, + { + "description": "scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "type": "string", + "enum": [ + "scope-download-index" + ] + }, + { + "description": "allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-exe-read-recursive" + ] + }, + { + "description": "allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-exe-write-recursive" + ] + }, + { + "description": "allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "type": "string", + "enum": [ + "allow-exe-read" + ] + }, + { + "description": "allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", + "type": "string", + "enum": [ + "allow-exe-write" + ] + }, + { + "description": "allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-exe-meta-recursive" + ] + }, + { + "description": "allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-exe-meta" + ] + }, + { + "description": "scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-exe-recursive" + ] + }, + { + "description": "scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "type": "string", + "enum": [ + "scope-exe" + ] + }, + { + "description": "scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "type": "string", + "enum": [ + "scope-exe-index" + ] + }, + { + "description": "allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-font-read-recursive" + ] + }, + { + "description": "allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-font-write-recursive" + ] + }, + { + "description": "allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "type": "string", + "enum": [ + "allow-font-read" + ] + }, + { + "description": "allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "type": "string", + "enum": [ + "allow-font-write" + ] + }, + { + "description": "allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-font-meta-recursive" + ] + }, + { + "description": "allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-font-meta" + ] + }, + { + "description": "scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-font-recursive" + ] + }, + { + "description": "scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "type": "string", + "enum": [ + "scope-font" + ] + }, + { + "description": "scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "type": "string", + "enum": [ + "scope-font-index" + ] + }, + { + "description": "allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-home-read-recursive" + ] + }, + { + "description": "allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-home-write-recursive" + ] + }, + { + "description": "allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "type": "string", + "enum": [ + "allow-home-read" + ] + }, + { + "description": "allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "type": "string", + "enum": [ + "allow-home-write" + ] + }, + { + "description": "allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-home-meta-recursive" + ] + }, + { + "description": "allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-home-meta" + ] + }, + { + "description": "scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-home-recursive" + ] + }, + { + "description": "scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "type": "string", + "enum": [ + "scope-home" + ] + }, + { + "description": "scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "type": "string", + "enum": [ + "scope-home-index" + ] + }, + { + "description": "allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-localdata-read-recursive" + ] + }, + { + "description": "allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-localdata-write-recursive" + ] + }, + { + "description": "allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "type": "string", + "enum": [ + "allow-localdata-read" + ] + }, + { + "description": "allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "type": "string", + "enum": [ + "allow-localdata-write" + ] + }, + { + "description": "allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-localdata-meta-recursive" + ] + }, + { + "description": "allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-localdata-meta" + ] + }, + { + "description": "scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-localdata-recursive" + ] + }, + { + "description": "scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "type": "string", + "enum": [ + "scope-localdata" + ] + }, + { + "description": "scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "type": "string", + "enum": [ + "scope-localdata-index" + ] + }, + { + "description": "allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-log-read-recursive" + ] + }, + { + "description": "allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-log-write-recursive" + ] + }, + { + "description": "allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "type": "string", + "enum": [ + "allow-log-read" + ] + }, + { + "description": "allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "type": "string", + "enum": [ + "allow-log-write" + ] + }, + { + "description": "allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-log-meta-recursive" + ] + }, + { + "description": "allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-log-meta" + ] + }, + { + "description": "scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-log-recursive" + ] + }, + { + "description": "scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "type": "string", + "enum": [ + "scope-log" + ] + }, + { + "description": "scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "type": "string", + "enum": [ + "scope-log-index" + ] + }, + { + "description": "allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-picture-read-recursive" + ] + }, + { + "description": "allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-picture-write-recursive" + ] + }, + { + "description": "allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "type": "string", + "enum": [ + "allow-picture-read" + ] + }, + { + "description": "allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "type": "string", + "enum": [ + "allow-picture-write" + ] + }, + { + "description": "allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-picture-meta-recursive" + ] + }, + { + "description": "allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-picture-meta" + ] + }, + { + "description": "scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-picture-recursive" + ] + }, + { + "description": "scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", + "type": "string", + "enum": [ + "scope-picture" + ] + }, + { + "description": "scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "type": "string", + "enum": [ + "scope-picture-index" + ] + }, + { + "description": "allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-public-read-recursive" + ] + }, + { + "description": "allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-public-write-recursive" + ] + }, + { + "description": "allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "type": "string", + "enum": [ + "allow-public-read" + ] + }, + { + "description": "allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "type": "string", + "enum": [ + "allow-public-write" + ] + }, + { + "description": "allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-public-meta-recursive" + ] + }, + { + "description": "allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-public-meta" + ] + }, + { + "description": "scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-public-recursive" + ] + }, + { + "description": "scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", + "type": "string", + "enum": [ + "scope-public" + ] + }, + { + "description": "scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "type": "string", + "enum": [ + "scope-public-index" + ] + }, + { + "description": "allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-resource-read-recursive" + ] + }, + { + "description": "allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-resource-write-recursive" + ] + }, + { + "description": "allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "type": "string", + "enum": [ + "allow-resource-read" + ] + }, + { + "description": "allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "type": "string", + "enum": [ + "allow-resource-write" + ] + }, + { + "description": "allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-resource-meta-recursive" + ] + }, + { + "description": "allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-resource-meta" + ] + }, + { + "description": "scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-resource-recursive" + ] + }, + { + "description": "scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "type": "string", + "enum": [ + "scope-resource" + ] + }, + { + "description": "scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", + "type": "string", + "enum": [ + "scope-resource-index" + ] + }, + { + "description": "allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-runtime-read-recursive" + ] + }, + { + "description": "allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-runtime-write-recursive" + ] + }, + { + "description": "allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "type": "string", + "enum": [ + "allow-runtime-read" + ] + }, + { + "description": "allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "type": "string", + "enum": [ + "allow-runtime-write" + ] + }, + { + "description": "allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-runtime-meta-recursive" + ] + }, + { + "description": "allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-runtime-meta" + ] + }, + { + "description": "scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-runtime-recursive" + ] + }, + { + "description": "scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "type": "string", + "enum": [ + "scope-runtime" + ] + }, + { + "description": "scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "type": "string", + "enum": [ + "scope-runtime-index" + ] + }, + { + "description": "allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-temp-read-recursive" + ] + }, + { + "description": "allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-temp-write-recursive" + ] + }, + { + "description": "allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "type": "string", + "enum": [ + "allow-temp-read" + ] + }, + { + "description": "allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "type": "string", + "enum": [ + "allow-temp-write" + ] + }, + { + "description": "allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-temp-meta-recursive" + ] + }, + { + "description": "allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-temp-meta" + ] + }, + { + "description": "scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-temp-recursive" + ] + }, + { + "description": "scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "type": "string", + "enum": [ + "scope-temp" + ] + }, + { + "description": "scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "type": "string", + "enum": [ + "scope-temp-index" + ] + }, + { + "description": "allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-template-read-recursive" + ] + }, + { + "description": "allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-template-write-recursive" + ] + }, + { + "description": "allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "type": "string", + "enum": [ + "allow-template-read" + ] + }, + { + "description": "allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "type": "string", + "enum": [ + "allow-template-write" + ] + }, + { + "description": "allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-template-meta-recursive" + ] + }, + { + "description": "allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-template-meta" + ] + }, + { + "description": "scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-template-recursive" + ] + }, + { + "description": "scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "type": "string", + "enum": [ + "scope-template" + ] + }, + { + "description": "scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "type": "string", + "enum": [ + "scope-template-index" + ] + }, + { + "description": "allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-video-read-recursive" + ] + }, + { + "description": "allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "type": "string", + "enum": [ + "allow-video-write-recursive" + ] + }, + { + "description": "allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "type": "string", + "enum": [ + "allow-video-read" + ] + }, + { + "description": "allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "type": "string", + "enum": [ + "allow-video-write" + ] + }, + { + "description": "allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-video-meta-recursive" + ] + }, + { + "description": "allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "type": "string", + "enum": [ + "allow-video-meta" + ] + }, + { + "description": "scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "type": "string", + "enum": [ + "scope-video-recursive" + ] + }, + { + "description": "scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", + "type": "string", + "enum": [ + "scope-video" + ] + }, + { + "description": "scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "type": "string", + "enum": [ + "scope-video-index" + ] + }, + { + "description": "allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-copy-file" + ] + }, + { + "description": "deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-copy-file" + ] + }, + { + "description": "allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-create" + ] + }, + { + "description": "deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-create" + ] + }, + { + "description": "allow-exists -> Enables the exists command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-exists" + ] + }, + { + "description": "deny-exists -> Denies the exists command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-exists" + ] + }, + { + "description": "allow-fstat -> Enables the fstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fstat" + ] + }, + { + "description": "deny-fstat -> Denies the fstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fstat" + ] + }, + { + "description": "allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-ftruncate" + ] + }, + { + "description": "deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-ftruncate" + ] + }, + { + "description": "allow-lstat -> Enables the lstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-lstat" + ] + }, + { + "description": "deny-lstat -> Denies the lstat command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-lstat" + ] + }, + { + "description": "allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-mkdir" + ] + }, + { + "description": "deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-mkdir" + ] + }, + { + "description": "allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-open" + ] + }, + { + "description": "deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-open" + ] + }, + { + "description": "allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read" + ] + }, + { + "description": "deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read" + ] + }, + { + "description": "allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-dir" + ] + }, + { + "description": "deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-dir" + ] + }, + { + "description": "allow-read-file -> Enables the read_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-file" + ] + }, + { + "description": "deny-read-file -> Denies the read_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-file" + ] + }, + { + "description": "allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-text-file" + ] + }, + { + "description": "deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-text-file" + ] + }, + { + "description": "allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-text-file-lines" + ] + }, + { + "description": "deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-text-file-lines" + ] + }, + { + "description": "allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-read-text-file-lines-next" + ] + }, + { + "description": "deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-read-text-file-lines-next" + ] + }, + { + "description": "allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-remove" + ] + }, + { + "description": "deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-remove" + ] + }, + { + "description": "allow-rename -> Enables the rename command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-rename" + ] + }, + { + "description": "deny-rename -> Denies the rename command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-rename" + ] + }, + { + "description": "allow-seek -> Enables the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-seek" + ] + }, + { + "description": "deny-seek -> Denies the seek command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-seek" + ] + }, + { + "description": "allow-stat -> Enables the stat command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-stat" + ] + }, + { + "description": "deny-stat -> Denies the stat command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-stat" + ] + }, + { + "description": "allow-truncate -> Enables the truncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-truncate" + ] + }, + { + "description": "deny-truncate -> Denies the truncate command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-truncate" + ] + }, + { + "description": "allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-unwatch" + ] + }, + { + "description": "deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-unwatch" + ] + }, + { + "description": "allow-watch -> Enables the watch command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-watch" + ] + }, + { + "description": "deny-watch -> Denies the watch command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-watch" + ] + }, + { + "description": "allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write" + ] + }, + { + "description": "deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write" + ] + }, + { + "description": "allow-write-file -> Enables the write_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write-file" + ] + }, + { + "description": "deny-write-file -> Denies the write_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write-file" + ] + }, + { + "description": "allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write-text-file" + ] + }, + { + "description": "deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write-text-file" + ] + }, + { + "description": "default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": [ + "default" + ] + }, + { + "description": "deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "type": "string", + "enum": [ + "deny-default" + ] + }, + { + "description": "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": [ + "deny-webview-data-linux" + ] + }, + { + "description": "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": [ + "deny-webview-data-windows" + ] + }, + { + "description": "read-all -> This enables all read related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "read-all" + ] + }, + { + "description": "read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "read-dirs" + ] + }, + { + "description": "read-files -> This enables file read related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "read-files" + ] + }, + { + "description": "read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "read-meta" + ] + }, + { + "description": "write-all -> This enables all write related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "write-all" + ] + }, + { + "description": "write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "type": "string", + "enum": [ + "write-files" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/fs/src/lib.rs b/plugins/fs/src/lib.rs index 1c097c0ac..d9f6ed44f 100644 --- a/plugins/fs/src/lib.rs +++ b/plugins/fs/src/lib.rs @@ -11,9 +11,6 @@ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png" )] -use std::path::PathBuf; - -use serde::Deserialize; use tauri::{ plugin::{Builder as PluginBuilder, TauriPlugin}, scope::fs::Scope, @@ -23,6 +20,7 @@ use tauri::{ mod commands; mod error; +mod scope; #[cfg(feature = "watch")] mod watcher; @@ -78,7 +76,7 @@ pub fn init() -> TauriPlugin { watcher::unwatch ]) .setup(|app: &tauri::AppHandle, api| { - let acl_scope = api.scope::()?; + let acl_scope = api.scope::()?; app.manage(Scope::new( app, @@ -110,8 +108,3 @@ pub fn init() -> TauriPlugin { }) .build() } - -#[derive(Debug, Deserialize)] -struct ScopeEntry { - path: PathBuf, -} diff --git a/plugins/fs/src/scope.rs b/plugins/fs/src/scope.rs new file mode 100644 index 000000000..3767129b5 --- /dev/null +++ b/plugins/fs/src/scope.rs @@ -0,0 +1,8 @@ +use std::path::PathBuf; + +use serde::Deserialize; + +#[derive(Debug, Deserialize, schemars::JsonSchema)] +pub struct Entry { + pub path: PathBuf, +} diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/is_registered.toml b/plugins/global-shortcut/permissions/autogenerated/commands/is_registered.toml index d2c6d8a67..2dd73acea 100644 --- a/plugins/global-shortcut/permissions/autogenerated/commands/is_registered.toml +++ b/plugins/global-shortcut/permissions/autogenerated/commands/is_registered.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-is-registered" diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/register.toml b/plugins/global-shortcut/permissions/autogenerated/commands/register.toml index d07242c70..4eec17dc7 100644 --- a/plugins/global-shortcut/permissions/autogenerated/commands/register.toml +++ b/plugins/global-shortcut/permissions/autogenerated/commands/register.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-register" diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/register_all.toml b/plugins/global-shortcut/permissions/autogenerated/commands/register_all.toml index 8cc94d2ba..df5d0ecff 100644 --- a/plugins/global-shortcut/permissions/autogenerated/commands/register_all.toml +++ b/plugins/global-shortcut/permissions/autogenerated/commands/register_all.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-register-all" diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/unregister.toml b/plugins/global-shortcut/permissions/autogenerated/commands/unregister.toml index 0fed77942..5d33c97c2 100644 --- a/plugins/global-shortcut/permissions/autogenerated/commands/unregister.toml +++ b/plugins/global-shortcut/permissions/autogenerated/commands/unregister.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-unregister" diff --git a/plugins/global-shortcut/permissions/autogenerated/commands/unregister_all.toml b/plugins/global-shortcut/permissions/autogenerated/commands/unregister_all.toml index 86a40cc9d..12c12f8bc 100644 --- a/plugins/global-shortcut/permissions/autogenerated/commands/unregister_all.toml +++ b/plugins/global-shortcut/permissions/autogenerated/commands/unregister_all.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-unregister-all" diff --git a/plugins/global-shortcut/permissions/schemas/schema.json b/plugins/global-shortcut/permissions/schemas/schema.json new file mode 100644 index 000000000..8f09cd75b --- /dev/null +++ b/plugins/global-shortcut/permissions/schemas/schema.json @@ -0,0 +1,332 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-is-registered" + ] + }, + { + "description": "deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-is-registered" + ] + }, + { + "description": "allow-register -> Enables the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-register" + ] + }, + { + "description": "deny-register -> Denies the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-register" + ] + }, + { + "description": "allow-register-all -> Enables the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-register-all" + ] + }, + { + "description": "deny-register-all -> Denies the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-register-all" + ] + }, + { + "description": "allow-unregister -> Enables the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-unregister" + ] + }, + { + "description": "deny-unregister -> Denies the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-unregister" + ] + }, + { + "description": "allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-unregister-all" + ] + }, + { + "description": "deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-unregister-all" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/http/Cargo.toml b/plugins/http/Cargo.toml index 0a931b3ea..897b67342 100644 --- a/plugins/http/Cargo.toml +++ b/plugins/http/Cargo.toml @@ -14,6 +14,10 @@ rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] tauri-plugin = { workspace = true, features = ["build"] } +schemars = { workspace = true } +serde = { workspace = true } +url = { workspace = true } +glob = "0.3" [dependencies] serde = { workspace = true } diff --git a/plugins/http/build.rs b/plugins/http/build.rs index 4c5268c1c..479ad66f6 100644 --- a/plugins/http/build.rs +++ b/plugins/http/build.rs @@ -2,8 +2,38 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT +#[path = "src/scope.rs"] +#[allow(dead_code)] +mod scope; + const COMMANDS: &[&str] = &["fetch", "fetch_cancel", "fetch_send", "fetch_read_body"]; +/// HTTP scope entry object definition. +#[derive(schemars::JsonSchema)] +struct ScopeEntry { + /// A URL that can be accessed by the webview when using the HTTP APIs. + /// The scoped URL is matched against the request URL using a glob pattern. + /// + /// Examples: + /// + /// - "https://*" or "https://**" : allows all HTTPS urls + /// + /// - "https://*.github.com/tauri-apps/tauri": allows any subdomain of "github.com" with the "tauri-apps/api" path + /// + /// - "https://myapi.service.com/users/*": allows access to any URLs that begins with "https://myapi.service.com/users/" + url: String, +} + fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); + // ensure scope entry is up to date + let dummy = ScopeEntry { + url: "https://tauri.app/*".into(), + }; + let _ = scope::Entry { + url: dummy.url.parse().unwrap(), + }; + + tauri_plugin::Builder::new(COMMANDS) + .global_scope_schema(schemars::schema_for!(ScopeEntry)) + .build(); } diff --git a/plugins/http/permissions/autogenerated/commands/fetch.toml b/plugins/http/permissions/autogenerated/commands/fetch.toml index 54b4e0acd..c4e068a7c 100644 --- a/plugins/http/permissions/autogenerated/commands/fetch.toml +++ b/plugins/http/permissions/autogenerated/commands/fetch.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-fetch" diff --git a/plugins/http/permissions/autogenerated/commands/fetch_cancel.toml b/plugins/http/permissions/autogenerated/commands/fetch_cancel.toml index dd652b8b4..70c1139b5 100644 --- a/plugins/http/permissions/autogenerated/commands/fetch_cancel.toml +++ b/plugins/http/permissions/autogenerated/commands/fetch_cancel.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-fetch-cancel" diff --git a/plugins/http/permissions/autogenerated/commands/fetch_read_body.toml b/plugins/http/permissions/autogenerated/commands/fetch_read_body.toml index d99d48f92..b5867e99f 100644 --- a/plugins/http/permissions/autogenerated/commands/fetch_read_body.toml +++ b/plugins/http/permissions/autogenerated/commands/fetch_read_body.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-fetch-read-body" diff --git a/plugins/http/permissions/autogenerated/commands/fetch_send.toml b/plugins/http/permissions/autogenerated/commands/fetch_send.toml index af620fba1..f6a55d280 100644 --- a/plugins/http/permissions/autogenerated/commands/fetch_send.toml +++ b/plugins/http/permissions/autogenerated/commands/fetch_send.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-fetch-send" diff --git a/plugins/http/permissions/schemas/schema.json b/plugins/http/permissions/schemas/schema.json new file mode 100644 index 000000000..01081fce6 --- /dev/null +++ b/plugins/http/permissions/schemas/schema.json @@ -0,0 +1,325 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-fetch -> Enables the fetch command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fetch" + ] + }, + { + "description": "deny-fetch -> Denies the fetch command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fetch" + ] + }, + { + "description": "allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fetch-cancel" + ] + }, + { + "description": "deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fetch-cancel" + ] + }, + { + "description": "allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fetch-read-body" + ] + }, + { + "description": "deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fetch-read-body" + ] + }, + { + "description": "allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-fetch-send" + ] + }, + { + "description": "deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-fetch-send" + ] + }, + { + "description": "default -> Allows all fetch operations", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/http/src/commands.rs b/plugins/http/src/commands.rs index 45187c057..a39ee20f0 100644 --- a/plugins/http/src/commands.rs +++ b/plugins/http/src/commands.rs @@ -12,7 +12,10 @@ use tauri::{ AppHandle, Runtime, }; -use crate::{scope::Scope, Error, FetchRequest, HttpExt, RequestId, ScopeEntry}; +use crate::{ + scope::{Entry, Scope}, + Error, FetchRequest, HttpExt, RequestId, +}; #[derive(Serialize)] #[serde(rename_all = "camelCase")] @@ -32,8 +35,8 @@ pub async fn fetch( data: Option>, connect_timeout: Option, max_redirections: Option, - command_scope: CommandScope<'_, ScopeEntry>, - global_scope: GlobalScope<'_, ScopeEntry>, + command_scope: CommandScope<'_, Entry>, + global_scope: GlobalScope<'_, Entry>, ) -> crate::Result { let scheme = url.scheme(); let method = Method::from_bytes(method.as_bytes())?; diff --git a/plugins/http/src/lib.rs b/plugins/http/src/lib.rs index a47d144f5..141a3efea 100644 --- a/plugins/http/src/lib.rs +++ b/plugins/http/src/lib.rs @@ -11,7 +11,6 @@ use std::{collections::HashMap, future::Future, pin::Pin}; pub use reqwest; use reqwest::Response; -use serde::{Deserialize, Deserializer}; use tauri::async_runtime::Mutex; use tauri::{ plugin::{Builder, TauriPlugin}, @@ -38,43 +37,6 @@ impl FetchRequest { } } -/// HTTP scope entry object definition. -/// It is a URL that can be accessed by the webview when using the HTTP APIs. -/// The scoped URL is matched against the request URL using a glob pattern. -/// -/// Examples: -/// - "https://*" or "https://**" : allows all HTTPS urls -/// - "https://*.github.com/tauri-apps/tauri": allows any subdomain of "github.com" with the "tauri-apps/api" path -/// - "https://myapi.service.com/users/*": allows access to any URLs that begins with "https://myapi.service.com/users/" -#[allow(rustdoc::bare_urls)] -#[derive(Debug)] -pub struct ScopeEntry { - pub url: glob::Pattern, -} - -impl<'de> Deserialize<'de> for ScopeEntry { - fn deserialize(deserializer: D) -> std::result::Result - where - D: Deserializer<'de>, - { - #[derive(Deserialize)] - struct ScopeEntryRaw { - url: String, - } - - ScopeEntryRaw::deserialize(deserializer).and_then(|raw| { - Ok(ScopeEntry { - url: glob::Pattern::new(&raw.url).map_err(|e| { - serde::de::Error::custom(format!( - "URL `{}` is not a valid glob pattern: {e}", - raw.url - )) - })?, - }) - }) - } -} - struct Http { #[allow(dead_code)] app: AppHandle, diff --git a/plugins/http/src/scope.rs b/plugins/http/src/scope.rs index 2f81de840..2847f5038 100644 --- a/plugins/http/src/scope.rs +++ b/plugins/http/src/scope.rs @@ -2,19 +2,48 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT -use crate::ScopeEntry; -use reqwest::Url; +use serde::{Deserialize, Deserializer}; +use url::Url; + +#[allow(rustdoc::bare_urls)] +#[derive(Debug)] +pub struct Entry { + pub url: glob::Pattern, +} + +impl<'de> Deserialize<'de> for Entry { + fn deserialize(deserializer: D) -> std::result::Result + where + D: Deserializer<'de>, + { + #[derive(Deserialize)] + struct EntryRaw { + url: String, + } + + EntryRaw::deserialize(deserializer).and_then(|raw| { + Ok(Entry { + url: glob::Pattern::new(&raw.url).map_err(|e| { + serde::de::Error::custom(format!( + "URL `{}` is not a valid glob pattern: {e}", + raw.url + )) + })?, + }) + }) + } +} /// Scope for filesystem access. #[derive(Debug)] pub struct Scope<'a> { - allowed: Vec<&'a ScopeEntry>, - denied: Vec<&'a ScopeEntry>, + allowed: Vec<&'a Entry>, + denied: Vec<&'a Entry>, } impl<'a> Scope<'a> { /// Creates a new scope from the scope configuration. - pub(crate) fn new(allowed: Vec<&'a ScopeEntry>, denied: Vec<&'a ScopeEntry>) -> Self { + pub(crate) fn new(allowed: Vec<&'a Entry>, denied: Vec<&'a Entry>) -> Self { Self { allowed, denied } } diff --git a/plugins/log/permissions/autogenerated/commands/log.toml b/plugins/log/permissions/autogenerated/commands/log.toml index f7e9d8dbe..ba36eff5b 100644 --- a/plugins/log/permissions/autogenerated/commands/log.toml +++ b/plugins/log/permissions/autogenerated/commands/log.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-log" diff --git a/plugins/log/permissions/schemas/schema.json b/plugins/log/permissions/schemas/schema.json new file mode 100644 index 000000000..d6886df56 --- /dev/null +++ b/plugins/log/permissions/schemas/schema.json @@ -0,0 +1,283 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-log -> Enables the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-log" + ] + }, + { + "description": "deny-log -> Denies the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-log" + ] + }, + { + "description": "default -> Allows the log command", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/nfc/permissions/autogenerated/commands/is_available.toml b/plugins/nfc/permissions/autogenerated/commands/is_available.toml index fcfbaabe4..6f49c5ab4 100644 --- a/plugins/nfc/permissions/autogenerated/commands/is_available.toml +++ b/plugins/nfc/permissions/autogenerated/commands/is_available.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-is-available" diff --git a/plugins/nfc/permissions/autogenerated/commands/scan.toml b/plugins/nfc/permissions/autogenerated/commands/scan.toml index cbb8e03bf..efa621dd5 100644 --- a/plugins/nfc/permissions/autogenerated/commands/scan.toml +++ b/plugins/nfc/permissions/autogenerated/commands/scan.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-scan" diff --git a/plugins/nfc/permissions/autogenerated/commands/write.toml b/plugins/nfc/permissions/autogenerated/commands/write.toml index adc43c7aa..73d1d3878 100644 --- a/plugins/nfc/permissions/autogenerated/commands/write.toml +++ b/plugins/nfc/permissions/autogenerated/commands/write.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-write" diff --git a/plugins/nfc/permissions/schemas/schema.json b/plugins/nfc/permissions/schemas/schema.json new file mode 100644 index 000000000..122f4d502 --- /dev/null +++ b/plugins/nfc/permissions/schemas/schema.json @@ -0,0 +1,304 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-is-available -> Enables the is_available command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-is-available" + ] + }, + { + "description": "deny-is-available -> Denies the is_available command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-is-available" + ] + }, + { + "description": "allow-scan -> Enables the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-scan" + ] + }, + { + "description": "deny-scan -> Denies the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-scan" + ] + }, + { + "description": "allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-write" + ] + }, + { + "description": "deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-write" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/notification/permissions/autogenerated/commands/is_permission_granted.toml b/plugins/notification/permissions/autogenerated/commands/is_permission_granted.toml index d91ecbd66..5faa73f34 100644 --- a/plugins/notification/permissions/autogenerated/commands/is_permission_granted.toml +++ b/plugins/notification/permissions/autogenerated/commands/is_permission_granted.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-is-permission-granted" diff --git a/plugins/notification/permissions/autogenerated/commands/notify.toml b/plugins/notification/permissions/autogenerated/commands/notify.toml index 8552b6b3d..7d6d46c2b 100644 --- a/plugins/notification/permissions/autogenerated/commands/notify.toml +++ b/plugins/notification/permissions/autogenerated/commands/notify.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-notify" diff --git a/plugins/notification/permissions/autogenerated/commands/request_permission.toml b/plugins/notification/permissions/autogenerated/commands/request_permission.toml index cc83344ce..0b410d6a2 100644 --- a/plugins/notification/permissions/autogenerated/commands/request_permission.toml +++ b/plugins/notification/permissions/autogenerated/commands/request_permission.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-request-permission" diff --git a/plugins/notification/permissions/schemas/schema.json b/plugins/notification/permissions/schemas/schema.json new file mode 100644 index 000000000..7d4f163bc --- /dev/null +++ b/plugins/notification/permissions/schemas/schema.json @@ -0,0 +1,311 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-is-permission-granted" + ] + }, + { + "description": "deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-is-permission-granted" + ] + }, + { + "description": "allow-notify -> Enables the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-notify" + ] + }, + { + "description": "deny-notify -> Denies the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-notify" + ] + }, + { + "description": "allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-request-permission" + ] + }, + { + "description": "deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-request-permission" + ] + }, + { + "description": "default -> Allows requesting permission, checking permission state and sending notifications", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/os/permissions/autogenerated/commands/arch.toml b/plugins/os/permissions/autogenerated/commands/arch.toml index 33ee5609d..160cce0d8 100644 --- a/plugins/os/permissions/autogenerated/commands/arch.toml +++ b/plugins/os/permissions/autogenerated/commands/arch.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-arch" diff --git a/plugins/os/permissions/autogenerated/commands/exe_extension.toml b/plugins/os/permissions/autogenerated/commands/exe_extension.toml index 4ab4403d4..aef4d2e61 100644 --- a/plugins/os/permissions/autogenerated/commands/exe_extension.toml +++ b/plugins/os/permissions/autogenerated/commands/exe_extension.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-exe-extension" diff --git a/plugins/os/permissions/autogenerated/commands/family.toml b/plugins/os/permissions/autogenerated/commands/family.toml index 240c9d97f..4109be395 100644 --- a/plugins/os/permissions/autogenerated/commands/family.toml +++ b/plugins/os/permissions/autogenerated/commands/family.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-family" diff --git a/plugins/os/permissions/autogenerated/commands/hostname.toml b/plugins/os/permissions/autogenerated/commands/hostname.toml index 2dc37eeda..c65376cbb 100644 --- a/plugins/os/permissions/autogenerated/commands/hostname.toml +++ b/plugins/os/permissions/autogenerated/commands/hostname.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-hostname" diff --git a/plugins/os/permissions/autogenerated/commands/locale.toml b/plugins/os/permissions/autogenerated/commands/locale.toml index 03b5ec547..2a85e4710 100644 --- a/plugins/os/permissions/autogenerated/commands/locale.toml +++ b/plugins/os/permissions/autogenerated/commands/locale.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-locale" diff --git a/plugins/os/permissions/autogenerated/commands/os_type.toml b/plugins/os/permissions/autogenerated/commands/os_type.toml index 01342e461..c91987a36 100644 --- a/plugins/os/permissions/autogenerated/commands/os_type.toml +++ b/plugins/os/permissions/autogenerated/commands/os_type.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-os-type" diff --git a/plugins/os/permissions/autogenerated/commands/platform.toml b/plugins/os/permissions/autogenerated/commands/platform.toml index f72b66e77..49dc08d62 100644 --- a/plugins/os/permissions/autogenerated/commands/platform.toml +++ b/plugins/os/permissions/autogenerated/commands/platform.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-platform" diff --git a/plugins/os/permissions/autogenerated/commands/version.toml b/plugins/os/permissions/autogenerated/commands/version.toml index f5463209a..2d65e3257 100644 --- a/plugins/os/permissions/autogenerated/commands/version.toml +++ b/plugins/os/permissions/autogenerated/commands/version.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-version" diff --git a/plugins/os/permissions/schemas/schema.json b/plugins/os/permissions/schemas/schema.json new file mode 100644 index 000000000..7cc37477f --- /dev/null +++ b/plugins/os/permissions/schemas/schema.json @@ -0,0 +1,374 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-arch -> Enables the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-arch" + ] + }, + { + "description": "deny-arch -> Denies the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-arch" + ] + }, + { + "description": "allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-exe-extension" + ] + }, + { + "description": "deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-exe-extension" + ] + }, + { + "description": "allow-family -> Enables the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-family" + ] + }, + { + "description": "deny-family -> Denies the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-family" + ] + }, + { + "description": "allow-hostname -> Enables the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-hostname" + ] + }, + { + "description": "deny-hostname -> Denies the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-hostname" + ] + }, + { + "description": "allow-locale -> Enables the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-locale" + ] + }, + { + "description": "deny-locale -> Denies the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-locale" + ] + }, + { + "description": "allow-os-type -> Enables the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-os-type" + ] + }, + { + "description": "deny-os-type -> Denies the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-os-type" + ] + }, + { + "description": "allow-platform -> Enables the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-platform" + ] + }, + { + "description": "deny-platform -> Denies the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-platform" + ] + }, + { + "description": "allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-version" + ] + }, + { + "description": "deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-version" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/positioner/permissions/autogenerated/commands/move_window.toml b/plugins/positioner/permissions/autogenerated/commands/move_window.toml index e5135aac0..f78f9c783 100644 --- a/plugins/positioner/permissions/autogenerated/commands/move_window.toml +++ b/plugins/positioner/permissions/autogenerated/commands/move_window.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-move-window" diff --git a/plugins/positioner/permissions/schemas/schema.json b/plugins/positioner/permissions/schemas/schema.json new file mode 100644 index 000000000..03efaeb0f --- /dev/null +++ b/plugins/positioner/permissions/schemas/schema.json @@ -0,0 +1,283 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-move-window -> Enables the move_window command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-move-window" + ] + }, + { + "description": "deny-move-window -> Denies the move_window command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-move-window" + ] + }, + { + "description": "default -> Allows the move_window command", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/process/permissions/autogenerated/commands/exit.toml b/plugins/process/permissions/autogenerated/commands/exit.toml index 855ab6062..8abaf2960 100644 --- a/plugins/process/permissions/autogenerated/commands/exit.toml +++ b/plugins/process/permissions/autogenerated/commands/exit.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-exit" diff --git a/plugins/process/permissions/autogenerated/commands/restart.toml b/plugins/process/permissions/autogenerated/commands/restart.toml index e8860b204..63b228c89 100644 --- a/plugins/process/permissions/autogenerated/commands/restart.toml +++ b/plugins/process/permissions/autogenerated/commands/restart.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-restart" diff --git a/plugins/process/permissions/schemas/schema.json b/plugins/process/permissions/schemas/schema.json new file mode 100644 index 000000000..289a69ca0 --- /dev/null +++ b/plugins/process/permissions/schemas/schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-exit -> Enables the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-exit" + ] + }, + { + "description": "deny-exit -> Denies the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-exit" + ] + }, + { + "description": "allow-restart -> Enables the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-restart" + ] + }, + { + "description": "deny-restart -> Denies the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-restart" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/shell/permissions/autogenerated/commands/execute.toml b/plugins/shell/permissions/autogenerated/commands/execute.toml index be9497e3a..d98be8993 100644 --- a/plugins/shell/permissions/autogenerated/commands/execute.toml +++ b/plugins/shell/permissions/autogenerated/commands/execute.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-execute" diff --git a/plugins/shell/permissions/autogenerated/commands/kill.toml b/plugins/shell/permissions/autogenerated/commands/kill.toml index 7b352815e..11d2f7f07 100644 --- a/plugins/shell/permissions/autogenerated/commands/kill.toml +++ b/plugins/shell/permissions/autogenerated/commands/kill.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-kill" diff --git a/plugins/shell/permissions/autogenerated/commands/open.toml b/plugins/shell/permissions/autogenerated/commands/open.toml index 8d1ef53c5..4ea6dff16 100644 --- a/plugins/shell/permissions/autogenerated/commands/open.toml +++ b/plugins/shell/permissions/autogenerated/commands/open.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-open" diff --git a/plugins/shell/permissions/autogenerated/commands/stdin_write.toml b/plugins/shell/permissions/autogenerated/commands/stdin_write.toml index 7efae07e3..46ca5a738 100644 --- a/plugins/shell/permissions/autogenerated/commands/stdin_write.toml +++ b/plugins/shell/permissions/autogenerated/commands/stdin_write.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-stdin-write" diff --git a/plugins/shell/permissions/schemas/schema.json b/plugins/shell/permissions/schemas/schema.json new file mode 100644 index 000000000..60adaec6e --- /dev/null +++ b/plugins/shell/permissions/schemas/schema.json @@ -0,0 +1,318 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-execute -> Enables the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-execute" + ] + }, + { + "description": "deny-execute -> Denies the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-execute" + ] + }, + { + "description": "allow-kill -> Enables the kill command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-kill" + ] + }, + { + "description": "deny-kill -> Denies the kill command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-kill" + ] + }, + { + "description": "allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-open" + ] + }, + { + "description": "deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-open" + ] + }, + { + "description": "allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-stdin-write" + ] + }, + { + "description": "deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-stdin-write" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/sql/permissions/autogenerated/commands/close.toml b/plugins/sql/permissions/autogenerated/commands/close.toml index 87fb52a98..fad12d151 100644 --- a/plugins/sql/permissions/autogenerated/commands/close.toml +++ b/plugins/sql/permissions/autogenerated/commands/close.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-close" diff --git a/plugins/sql/permissions/autogenerated/commands/execute.toml b/plugins/sql/permissions/autogenerated/commands/execute.toml index be9497e3a..d98be8993 100644 --- a/plugins/sql/permissions/autogenerated/commands/execute.toml +++ b/plugins/sql/permissions/autogenerated/commands/execute.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-execute" diff --git a/plugins/sql/permissions/autogenerated/commands/load.toml b/plugins/sql/permissions/autogenerated/commands/load.toml index 0b3dbfd18..f6e47ad8e 100644 --- a/plugins/sql/permissions/autogenerated/commands/load.toml +++ b/plugins/sql/permissions/autogenerated/commands/load.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-load" diff --git a/plugins/sql/permissions/autogenerated/commands/select.toml b/plugins/sql/permissions/autogenerated/commands/select.toml index 5b9e54c41..5a13a0229 100644 --- a/plugins/sql/permissions/autogenerated/commands/select.toml +++ b/plugins/sql/permissions/autogenerated/commands/select.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-select" diff --git a/plugins/sql/permissions/schemas/schema.json b/plugins/sql/permissions/schemas/schema.json new file mode 100644 index 000000000..71ae11de1 --- /dev/null +++ b/plugins/sql/permissions/schemas/schema.json @@ -0,0 +1,318 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-close" + ] + }, + { + "description": "deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-close" + ] + }, + { + "description": "allow-execute -> Enables the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-execute" + ] + }, + { + "description": "deny-execute -> Denies the execute command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-execute" + ] + }, + { + "description": "allow-load -> Enables the load command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-load" + ] + }, + { + "description": "deny-load -> Denies the load command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-load" + ] + }, + { + "description": "allow-select -> Enables the select command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-select" + ] + }, + { + "description": "deny-select -> Denies the select command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-select" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/store/permissions/autogenerated/commands/clear.toml b/plugins/store/permissions/autogenerated/commands/clear.toml index 84eb68fbb..83de18192 100644 --- a/plugins/store/permissions/autogenerated/commands/clear.toml +++ b/plugins/store/permissions/autogenerated/commands/clear.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-clear" diff --git a/plugins/store/permissions/autogenerated/commands/delete.toml b/plugins/store/permissions/autogenerated/commands/delete.toml index 89d06e683..3d9d52344 100644 --- a/plugins/store/permissions/autogenerated/commands/delete.toml +++ b/plugins/store/permissions/autogenerated/commands/delete.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-delete" diff --git a/plugins/store/permissions/autogenerated/commands/entries.toml b/plugins/store/permissions/autogenerated/commands/entries.toml index 604b31efe..ce8b5f4bb 100644 --- a/plugins/store/permissions/autogenerated/commands/entries.toml +++ b/plugins/store/permissions/autogenerated/commands/entries.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-entries" diff --git a/plugins/store/permissions/autogenerated/commands/get.toml b/plugins/store/permissions/autogenerated/commands/get.toml index 14cfaf00d..d75b4030c 100644 --- a/plugins/store/permissions/autogenerated/commands/get.toml +++ b/plugins/store/permissions/autogenerated/commands/get.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-get" diff --git a/plugins/store/permissions/autogenerated/commands/has.toml b/plugins/store/permissions/autogenerated/commands/has.toml index af3cd2504..41d0a9384 100644 --- a/plugins/store/permissions/autogenerated/commands/has.toml +++ b/plugins/store/permissions/autogenerated/commands/has.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-has" diff --git a/plugins/store/permissions/autogenerated/commands/keys.toml b/plugins/store/permissions/autogenerated/commands/keys.toml index 2abbfec31..1808d0e90 100644 --- a/plugins/store/permissions/autogenerated/commands/keys.toml +++ b/plugins/store/permissions/autogenerated/commands/keys.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-keys" diff --git a/plugins/store/permissions/autogenerated/commands/length.toml b/plugins/store/permissions/autogenerated/commands/length.toml index ff0b4b61b..318c5582e 100644 --- a/plugins/store/permissions/autogenerated/commands/length.toml +++ b/plugins/store/permissions/autogenerated/commands/length.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-length" diff --git a/plugins/store/permissions/autogenerated/commands/load.toml b/plugins/store/permissions/autogenerated/commands/load.toml index 0b3dbfd18..f6e47ad8e 100644 --- a/plugins/store/permissions/autogenerated/commands/load.toml +++ b/plugins/store/permissions/autogenerated/commands/load.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-load" diff --git a/plugins/store/permissions/autogenerated/commands/reset.toml b/plugins/store/permissions/autogenerated/commands/reset.toml index f346b07db..c32086dec 100644 --- a/plugins/store/permissions/autogenerated/commands/reset.toml +++ b/plugins/store/permissions/autogenerated/commands/reset.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-reset" diff --git a/plugins/store/permissions/autogenerated/commands/save.toml b/plugins/store/permissions/autogenerated/commands/save.toml index fb9bfbc36..d3e842201 100644 --- a/plugins/store/permissions/autogenerated/commands/save.toml +++ b/plugins/store/permissions/autogenerated/commands/save.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-save" diff --git a/plugins/store/permissions/autogenerated/commands/set.toml b/plugins/store/permissions/autogenerated/commands/set.toml index a473f70ba..1e1cc9e73 100644 --- a/plugins/store/permissions/autogenerated/commands/set.toml +++ b/plugins/store/permissions/autogenerated/commands/set.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-set" diff --git a/plugins/store/permissions/autogenerated/commands/values.toml b/plugins/store/permissions/autogenerated/commands/values.toml index 8f2f240e4..9343fd1a5 100644 --- a/plugins/store/permissions/autogenerated/commands/values.toml +++ b/plugins/store/permissions/autogenerated/commands/values.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-values" diff --git a/plugins/store/permissions/schemas/schema.json b/plugins/store/permissions/schemas/schema.json new file mode 100644 index 000000000..db950d7c7 --- /dev/null +++ b/plugins/store/permissions/schemas/schema.json @@ -0,0 +1,430 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-clear -> Enables the clear command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-clear" + ] + }, + { + "description": "deny-clear -> Denies the clear command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-clear" + ] + }, + { + "description": "allow-delete -> Enables the delete command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-delete" + ] + }, + { + "description": "deny-delete -> Denies the delete command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-delete" + ] + }, + { + "description": "allow-entries -> Enables the entries command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-entries" + ] + }, + { + "description": "deny-entries -> Denies the entries command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-entries" + ] + }, + { + "description": "allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-get" + ] + }, + { + "description": "deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-get" + ] + }, + { + "description": "allow-has -> Enables the has command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-has" + ] + }, + { + "description": "deny-has -> Denies the has command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-has" + ] + }, + { + "description": "allow-keys -> Enables the keys command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-keys" + ] + }, + { + "description": "deny-keys -> Denies the keys command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-keys" + ] + }, + { + "description": "allow-length -> Enables the length command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-length" + ] + }, + { + "description": "deny-length -> Denies the length command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-length" + ] + }, + { + "description": "allow-load -> Enables the load command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-load" + ] + }, + { + "description": "deny-load -> Denies the load command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-load" + ] + }, + { + "description": "allow-reset -> Enables the reset command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-reset" + ] + }, + { + "description": "deny-reset -> Denies the reset command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-reset" + ] + }, + { + "description": "allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save" + ] + }, + { + "description": "deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save" + ] + }, + { + "description": "allow-set -> Enables the set command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-set" + ] + }, + { + "description": "deny-set -> Denies the set command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-set" + ] + }, + { + "description": "allow-values -> Enables the values command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-values" + ] + }, + { + "description": "deny-values -> Denies the values command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-values" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/stronghold/permissions/autogenerated/commands/create_client.toml b/plugins/stronghold/permissions/autogenerated/commands/create_client.toml index ab943abe5..1405d1e2f 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/create_client.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/create_client.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-create-client" diff --git a/plugins/stronghold/permissions/autogenerated/commands/destroy.toml b/plugins/stronghold/permissions/autogenerated/commands/destroy.toml index 7e75195d3..79580619e 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/destroy.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/destroy.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-destroy" diff --git a/plugins/stronghold/permissions/autogenerated/commands/execute_procedure.toml b/plugins/stronghold/permissions/autogenerated/commands/execute_procedure.toml index 8dadcb4c0..f6c2d2b13 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/execute_procedure.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/execute_procedure.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-execute-procedure" diff --git a/plugins/stronghold/permissions/autogenerated/commands/get_store_record.toml b/plugins/stronghold/permissions/autogenerated/commands/get_store_record.toml index a869a186e..84a9e53c4 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/get_store_record.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/get_store_record.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-get-store-record" diff --git a/plugins/stronghold/permissions/autogenerated/commands/initialize.toml b/plugins/stronghold/permissions/autogenerated/commands/initialize.toml index 21d2edf5f..73961d137 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/initialize.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/initialize.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-initialize" diff --git a/plugins/stronghold/permissions/autogenerated/commands/load_client.toml b/plugins/stronghold/permissions/autogenerated/commands/load_client.toml index 501c467bf..77949c108 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/load_client.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/load_client.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-load-client" diff --git a/plugins/stronghold/permissions/autogenerated/commands/remove_secret.toml b/plugins/stronghold/permissions/autogenerated/commands/remove_secret.toml index e3b74b328..6dafb68b0 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/remove_secret.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/remove_secret.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-remove-secret" diff --git a/plugins/stronghold/permissions/autogenerated/commands/remove_store_record.toml b/plugins/stronghold/permissions/autogenerated/commands/remove_store_record.toml index 8c7ef6354..20fd1e8a0 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/remove_store_record.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/remove_store_record.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-remove-store-record" diff --git a/plugins/stronghold/permissions/autogenerated/commands/save.toml b/plugins/stronghold/permissions/autogenerated/commands/save.toml index fb9bfbc36..d3e842201 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/save.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/save.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-save" diff --git a/plugins/stronghold/permissions/autogenerated/commands/save_secret.toml b/plugins/stronghold/permissions/autogenerated/commands/save_secret.toml index fd58014d7..d999f0b25 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/save_secret.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/save_secret.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-save-secret" diff --git a/plugins/stronghold/permissions/autogenerated/commands/save_store_record.toml b/plugins/stronghold/permissions/autogenerated/commands/save_store_record.toml index 6e5bbce08..8292ded00 100644 --- a/plugins/stronghold/permissions/autogenerated/commands/save_store_record.toml +++ b/plugins/stronghold/permissions/autogenerated/commands/save_store_record.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-save-store-record" diff --git a/plugins/stronghold/permissions/schemas/schema.json b/plugins/stronghold/permissions/schemas/schema.json new file mode 100644 index 000000000..87dcf8eb5 --- /dev/null +++ b/plugins/stronghold/permissions/schemas/schema.json @@ -0,0 +1,416 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-create-client -> Enables the create_client command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-create-client" + ] + }, + { + "description": "deny-create-client -> Denies the create_client command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-create-client" + ] + }, + { + "description": "allow-destroy -> Enables the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-destroy" + ] + }, + { + "description": "deny-destroy -> Denies the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-destroy" + ] + }, + { + "description": "allow-execute-procedure -> Enables the execute_procedure command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-execute-procedure" + ] + }, + { + "description": "deny-execute-procedure -> Denies the execute_procedure command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-execute-procedure" + ] + }, + { + "description": "allow-get-store-record -> Enables the get_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-get-store-record" + ] + }, + { + "description": "deny-get-store-record -> Denies the get_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-get-store-record" + ] + }, + { + "description": "allow-initialize -> Enables the initialize command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-initialize" + ] + }, + { + "description": "deny-initialize -> Denies the initialize command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-initialize" + ] + }, + { + "description": "allow-load-client -> Enables the load_client command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-load-client" + ] + }, + { + "description": "deny-load-client -> Denies the load_client command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-load-client" + ] + }, + { + "description": "allow-remove-secret -> Enables the remove_secret command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-remove-secret" + ] + }, + { + "description": "deny-remove-secret -> Denies the remove_secret command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-remove-secret" + ] + }, + { + "description": "allow-remove-store-record -> Enables the remove_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-remove-store-record" + ] + }, + { + "description": "deny-remove-store-record -> Denies the remove_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-remove-store-record" + ] + }, + { + "description": "allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save" + ] + }, + { + "description": "deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save" + ] + }, + { + "description": "allow-save-secret -> Enables the save_secret command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save-secret" + ] + }, + { + "description": "deny-save-secret -> Denies the save_secret command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save-secret" + ] + }, + { + "description": "allow-save-store-record -> Enables the save_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save-store-record" + ] + }, + { + "description": "deny-save-store-record -> Denies the save_store_record command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save-store-record" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/updater/permissions/autogenerated/commands/check.toml b/plugins/updater/permissions/autogenerated/commands/check.toml index 5358ea874..fca73ce9f 100644 --- a/plugins/updater/permissions/autogenerated/commands/check.toml +++ b/plugins/updater/permissions/autogenerated/commands/check.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-check" diff --git a/plugins/updater/permissions/autogenerated/commands/download_and_install.toml b/plugins/updater/permissions/autogenerated/commands/download_and_install.toml index b34133a76..40858d1b3 100644 --- a/plugins/updater/permissions/autogenerated/commands/download_and_install.toml +++ b/plugins/updater/permissions/autogenerated/commands/download_and_install.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-download-and-install" diff --git a/plugins/updater/permissions/schemas/schema.json b/plugins/updater/permissions/schemas/schema.json new file mode 100644 index 000000000..fec8d398c --- /dev/null +++ b/plugins/updater/permissions/schemas/schema.json @@ -0,0 +1,297 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-check -> Enables the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-check" + ] + }, + { + "description": "deny-check -> Denies the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-check" + ] + }, + { + "description": "allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-download-and-install" + ] + }, + { + "description": "deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-download-and-install" + ] + }, + { + "description": "default -> Allows checking for new updates and installing them", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/upload/permissions/autogenerated/commands/download.toml b/plugins/upload/permissions/autogenerated/commands/download.toml index 9c525a15a..896b30ce2 100644 --- a/plugins/upload/permissions/autogenerated/commands/download.toml +++ b/plugins/upload/permissions/autogenerated/commands/download.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-download" diff --git a/plugins/upload/permissions/autogenerated/commands/upload.toml b/plugins/upload/permissions/autogenerated/commands/upload.toml index 4f587be3d..d36081c9c 100644 --- a/plugins/upload/permissions/autogenerated/commands/upload.toml +++ b/plugins/upload/permissions/autogenerated/commands/upload.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-upload" diff --git a/plugins/upload/permissions/schemas/schema.json b/plugins/upload/permissions/schemas/schema.json new file mode 100644 index 000000000..be58be89b --- /dev/null +++ b/plugins/upload/permissions/schemas/schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-download -> Enables the download command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-download" + ] + }, + { + "description": "deny-download -> Denies the download command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-download" + ] + }, + { + "description": "allow-upload -> Enables the upload command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-upload" + ] + }, + { + "description": "deny-upload -> Denies the upload command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-upload" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/websocket/permissions/autogenerated/commands/connect.toml b/plugins/websocket/permissions/autogenerated/commands/connect.toml index be8f76473..49ce9ad3f 100644 --- a/plugins/websocket/permissions/autogenerated/commands/connect.toml +++ b/plugins/websocket/permissions/autogenerated/commands/connect.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-connect" diff --git a/plugins/websocket/permissions/autogenerated/commands/send.toml b/plugins/websocket/permissions/autogenerated/commands/send.toml index c9143a4c0..a7bac8f57 100644 --- a/plugins/websocket/permissions/autogenerated/commands/send.toml +++ b/plugins/websocket/permissions/autogenerated/commands/send.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-send" diff --git a/plugins/websocket/permissions/schemas/schema.json b/plugins/websocket/permissions/schemas/schema.json new file mode 100644 index 000000000..608b78ae4 --- /dev/null +++ b/plugins/websocket/permissions/schemas/schema.json @@ -0,0 +1,297 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-connect -> Enables the connect command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-connect" + ] + }, + { + "description": "deny-connect -> Denies the connect command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-connect" + ] + }, + { + "description": "allow-send -> Enables the send command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-send" + ] + }, + { + "description": "deny-send -> Denies the send command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-send" + ] + }, + { + "description": "default -> Allows connecting and sending data to a WebSocket server", + "type": "string", + "enum": [ + "default" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file diff --git a/plugins/window-state/permissions/autogenerated/commands/restore_window_state.toml b/plugins/window-state/permissions/autogenerated/commands/restore_window_state.toml index 965ab70b2..07fa8bb21 100644 --- a/plugins/window-state/permissions/autogenerated/commands/restore_window_state.toml +++ b/plugins/window-state/permissions/autogenerated/commands/restore_window_state.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-restore-window-state" diff --git a/plugins/window-state/permissions/autogenerated/commands/save_window_state.toml b/plugins/window-state/permissions/autogenerated/commands/save_window_state.toml index 561222537..b29e1bf3b 100644 --- a/plugins/window-state/permissions/autogenerated/commands/save_window_state.toml +++ b/plugins/window-state/permissions/autogenerated/commands/save_window_state.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" [[permission]] identifier = "allow-save-window-state" diff --git a/plugins/window-state/permissions/schemas/schema.json b/plugins/window-state/permissions/schemas/schema.json new file mode 100644 index 000000000..5fb4b0b9c --- /dev/null +++ b/plugins/window-state/permissions/schemas/schema.json @@ -0,0 +1,290 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "PermissionFile", + "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", + "type": "object", + "properties": { + "default": { + "description": "The default permission set for the plugin", + "anyOf": [ + { + "$ref": "#/definitions/DefaultPermission" + }, + { + "type": "null" + } + ] + }, + "permission": { + "description": "A list of inlined permissions", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + "set": { + "description": "A list of permissions sets defined", + "default": [], + "type": "array", + "items": { + "$ref": "#/definitions/PermissionSet" + } + }, + "test": { + "description": "Test something!!", + "anyOf": [ + { + "$ref": "#/definitions/PermissionSet" + }, + { + "type": "null" + } + ] + } + }, + "definitions": { + "Commands": { + "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", + "type": "object", + "properties": { + "allow": { + "description": "Allowed command.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + }, + "deny": { + "description": "Denied command, which takes priority.", + "default": [], + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultPermission": { + "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Permission": { + "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "commands": { + "description": "Allowed or denied commands when using this permission.", + "default": { + "allow": [], + "deny": [] + }, + "allOf": [ + { + "$ref": "#/definitions/Commands" + } + ] + }, + "description": { + "description": "Human-readable description of what the permission does.", + "type": [ + "string", + "null" + ] + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "scope": { + "description": "Allowed or denied scoped when using this permission.", + "default": { + "allow": null, + "deny": null + }, + "allOf": [ + { + "$ref": "#/definitions/Scopes" + } + ] + }, + "version": { + "description": "The version of the permission.", + "type": [ + "integer", + "null" + ], + "format": "uint64", + "minimum": 1.0 + } + } + }, + "PermissionKind": { + "type": "string", + "oneOf": [ + { + "description": "allow-restore-window-state -> Enables the restore_window_state command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-restore-window-state" + ] + }, + { + "description": "deny-restore-window-state -> Denies the restore_window_state command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-restore-window-state" + ] + }, + { + "description": "allow-save-window-state -> Enables the save_window_state command without any pre-configured scope.", + "type": "string", + "enum": [ + "allow-save-window-state" + ] + }, + { + "description": "deny-save-window-state -> Denies the save_window_state command without any pre-configured scope.", + "type": "string", + "enum": [ + "deny-save-window-state" + ] + } + ] + }, + "PermissionSet": { + "description": "A set of direct permissions grouped together under a new name.", + "type": "object", + "required": [ + "description", + "identifier", + "permissions" + ], + "properties": { + "description": { + "description": "Human-readable description of what the permission does.", + "type": "string" + }, + "identifier": { + "description": "A unique identifier for the permission.", + "type": "string" + }, + "permissions": { + "description": "All permissions this set contains.", + "type": "array", + "items": { + "$ref": "#/definitions/PermissionKind" + } + } + } + }, + "Scopes": { + "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", + "type": "object", + "properties": { + "allow": { + "description": "Data that defines what is allowed by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + }, + "deny": { + "description": "Data that defines what is denied by the scope.", + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/definitions/Value" + } + } + } + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] + } + } +} \ No newline at end of file From c4d2fc16f381b3310e42b5cb39cb8c2d680f6bc3 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Mon, 29 Jan 2024 11:42:17 -0300 Subject: [PATCH 14/35] refactor shell scope [skip ci] --- Cargo.lock | 19 +- examples/api/src-tauri/capabilities/base.json | 26 +- .../capabilities/schemas/desktop-schema.json | 222 ++++++++++++++++++ examples/api/src-tauri/tauri.conf.json | 24 +- plugins/http/src/commands.rs | 5 +- plugins/shell/Cargo.toml | 3 + plugins/shell/build.rs | 7 +- plugins/shell/src/commands.rs | 23 +- plugins/shell/src/config.rs | 115 +-------- plugins/shell/src/lib.rs | 113 +++++---- plugins/shell/src/open.rs | 4 +- plugins/shell/src/scope.rs | 80 +++---- plugins/shell/src/scope_entry.rs | 108 +++++++++ 13 files changed, 498 insertions(+), 251 deletions(-) create mode 100644 plugins/shell/src/scope_entry.rs diff --git a/Cargo.lock b/Cargo.lock index 638f97f78..10276d725 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1574,7 +1574,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.7.4", + "libloading 0.8.1", ] [[package]] @@ -5987,7 +5987,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6039,7 +6039,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" dependencies = [ "anyhow", "cargo_toml", @@ -6064,7 +6064,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" dependencies = [ "base64 0.21.5", "brotli", @@ -6089,7 +6089,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" dependencies = [ "heck", "proc-macro2", @@ -6102,7 +6102,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" dependencies = [ "cargo_metadata", "glob", @@ -6407,6 +6407,7 @@ dependencies = [ "open", "os_pipe", "regex", + "schemars", "serde", "serde_json", "shared_child", @@ -6554,7 +6555,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" dependencies = [ "gtk", "http", @@ -6571,7 +6572,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6592,7 +6593,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#7d6d04488a8a7877dbee9cb5e70669993bb43ffe" +source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/examples/api/src-tauri/capabilities/base.json b/examples/api/src-tauri/capabilities/base.json index 803964c43..7ea7da92d 100644 --- a/examples/api/src-tauri/capabilities/base.json +++ b/examples/api/src-tauri/capabilities/base.json @@ -28,7 +28,31 @@ "dialog:allow-open", "dialog:allow-save", "dialog:allow-confirm", - "shell:allow-execute", + { + "identifier": "shell:allow-execute", + "allow": [ + { + "name": "sh", + "cmd": "sh", + "args": [ + "-c", + { + "validator": "\\S+" + } + ] + }, + { + "name": "cmd", + "cmd": "cmd", + "args": [ + "/C", + { + "validator": "\\S+" + } + ] + } + ] + }, "shell:allow-kill", "shell:allow-stdin-write", "clipboard-manager:allow-read", diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index a23b38da6..a2031dc3f 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -6531,6 +6531,228 @@ ] } } + }, + { + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "allow": { + "items": { + "title": "Entry", + "description": "A command allowed to be executed by the webview API.", + "type": "object", + "required": [ + "args", + "command", + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellAllowedArgs" + } + ] + }, + "command": { + "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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "ShellAllowedArg": { + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "additionalProperties": false, + "description": "A variable that is set while calling the command from the webview API.", + "properties": { + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax", + "type": "string" + } + }, + "required": [ + "validator" + ], + "type": "object" + } + ], + "description": "A command argument allowed to be executed by the webview API." + }, + "ShellAllowedArgs": { + "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.", + "items": { + "$ref": "#/definitions/ShellAllowedArg" + }, + "type": "array" + } + ], + "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." + } + } + } + }, + "deny": { + "items": { + "title": "Entry", + "description": "A command allowed to be executed by the webview API.", + "type": "object", + "required": [ + "args", + "command", + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellAllowedArgs" + } + ] + }, + "command": { + "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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "ShellAllowedArg": { + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "additionalProperties": false, + "description": "A variable that is set while calling the command from the webview API.", + "properties": { + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax", + "type": "string" + } + }, + "required": [ + "validator" + ], + "type": "object" + } + ], + "description": "A command argument allowed to be executed by the webview API." + }, + "ShellAllowedArgs": { + "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.", + "items": { + "$ref": "#/definitions/ShellAllowedArg" + }, + "type": "array" + } + ], + "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." + } + } + } + }, + "identifier": { + "oneOf": [ + { + "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-open" + ] + }, + { + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" + ] + } + ] + } + } } ] } diff --git a/examples/api/src-tauri/tauri.conf.json b/examples/api/src-tauri/tauri.conf.json index 492be807e..430dc2e87 100644 --- a/examples/api/src-tauri/tauri.conf.json +++ b/examples/api/src-tauri/tauri.conf.json @@ -52,29 +52,7 @@ } }, "shell": { - "open": true, - "scope": [ - { - "name": "sh", - "cmd": "sh", - "args": [ - "-c", - { - "validator": "\\S+" - } - ] - }, - { - "name": "cmd", - "cmd": "cmd", - "args": [ - "/C", - { - "validator": "\\S+" - } - ] - } - ] + "open": true }, "updater": { "endpoints": [ diff --git a/plugins/http/src/commands.rs b/plugins/http/src/commands.rs index a39ee20f0..64eaa263b 100644 --- a/plugins/http/src/commands.rs +++ b/plugins/http/src/commands.rs @@ -26,6 +26,7 @@ pub struct FetchResponse { url: String, } +#[allow(clippy::too_many_arguments)] #[tauri::command] pub async fn fetch( app: AppHandle, @@ -47,12 +48,12 @@ pub async fn fetch( if Scope::new( command_scope .allows() - .into_iter() + .iter() .chain(global_scope.allows()) .collect(), command_scope .denies() - .into_iter() + .iter() .chain(global_scope.denies()) .collect(), ) diff --git a/plugins/shell/Cargo.toml b/plugins/shell/Cargo.toml index c699b0aa2..e0ffbfe13 100644 --- a/plugins/shell/Cargo.toml +++ b/plugins/shell/Cargo.toml @@ -14,9 +14,12 @@ rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] tauri-plugin = { workspace = true, features = ["build"] } +schemars = { workspace = true } +serde = { workspace = true } [dependencies] serde = { workspace = true } +schemars = { workspace = true } serde_json = { workspace = true } tauri = { workspace = true } log = { workspace = true } diff --git a/plugins/shell/build.rs b/plugins/shell/build.rs index fb930fc5b..f3ff751de 100644 --- a/plugins/shell/build.rs +++ b/plugins/shell/build.rs @@ -2,8 +2,13 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT +#[path = "src/scope_entry.rs"] +mod scope_entry; + const COMMANDS: &[&str] = &["execute", "stdin_write", "kill", "open"]; fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); + tauri_plugin::Builder::new(COMMANDS) + .global_scope_schema(schemars::schema_for!(scope_entry::Entry)) + .build(); } diff --git a/plugins/shell/src/commands.rs b/plugins/shell/src/commands.rs index fd1e5058a..4cc257400 100644 --- a/plugins/shell/src/commands.rs +++ b/plugins/shell/src/commands.rs @@ -6,7 +6,11 @@ use std::{collections::HashMap, path::PathBuf, string::FromUtf8Error}; use encoding_rs::Encoding; use serde::{Deserialize, Serialize}; -use tauri::{ipc::Channel, Manager, Runtime, State, Window}; +use tauri::{ + command::{CommandScope, GlobalScope}, + ipc::Channel, + Manager, Runtime, State, Window, +}; use crate::{ open::Program, @@ -91,6 +95,7 @@ fn default_env() -> Option> { Some(HashMap::default()) } +#[allow(clippy::too_many_arguments)] #[tauri::command] pub fn execute( window: Window, @@ -99,7 +104,17 @@ pub fn execute( args: ExecuteArgs, on_event: Channel, options: CommandOptions, + command_scope: CommandScope<'_, crate::scope_entry::Entry>, + global_scope: GlobalScope<'_, crate::scope_entry::Entry>, ) -> crate::Result { + let scope = shell.shell_scope( + command_scope + .allows() + .iter() + .chain(global_scope.allows()) + .collect(), + )?; + let mut command = if options.sidecar { let program = PathBuf::from(program); let program_as_string = program.display().to_string(); @@ -116,14 +131,12 @@ pub fn execute( }) .cloned(); if let Some(sidecar) = configured_sidecar { - shell - .scope - .prepare_sidecar(&program.to_string_lossy(), &sidecar, args)? + scope.prepare_sidecar(&program.to_string_lossy(), &sidecar, args)? } else { return Err(crate::Error::SidecarNotAllowed(program)); } } else { - match shell.scope.prepare(&program, args) { + match scope.prepare(&program, args) { Ok(cmd) => cmd, Err(e) => { #[cfg(debug_assertions)] diff --git a/plugins/shell/src/config.rs b/plugins/shell/src/config.rs index 5dd32862d..95390988a 100644 --- a/plugins/shell/src/config.rs +++ b/plugins/shell/src/config.rs @@ -2,130 +2,17 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT -use std::path::PathBuf; - -use serde::{de::Error as DeError, Deserialize, Deserializer}; +use serde::Deserialize; /// Configuration for the shell plugin. #[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize)] #[serde(rename_all = "camelCase", deny_unknown_fields)] pub struct Config { - /// Access scope for the binary execution APIs. - /// Sidecars are automatically enabled. - #[serde(default)] - pub scope: ShellAllowlistScope, /// Open URL with the user's default application. #[serde(default)] pub open: ShellAllowlistOpen, } -/// A command allowed to be executed by the webview API. -#[derive(Debug, PartialEq, Eq, Clone)] -pub struct ShellAllowedCommand { - /// The name for this allowed shell command configuration. - /// - /// This name will be used inside of the webview API to call this command along with - /// any specified arguments. - pub name: String, - - /// 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`. - // use default just so the schema doesn't flag it as required - pub command: PathBuf, - - /// The allowed arguments for the command execution. - pub args: ShellAllowedArgs, - - /// If this command is a sidecar command. - pub sidecar: bool, -} - -impl<'de> Deserialize<'de> for ShellAllowedCommand { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - #[derive(Deserialize)] - struct InnerShellAllowedCommand { - name: String, - #[serde(rename = "cmd")] - command: Option, - #[serde(default)] - args: ShellAllowedArgs, - #[serde(default)] - sidecar: bool, - } - - let config = InnerShellAllowedCommand::deserialize(deserializer)?; - - if !config.sidecar && config.command.is_none() { - return Err(DeError::custom( - "The shell scope `command` value is required.", - )); - } - - Ok(ShellAllowedCommand { - name: config.name, - command: config.command.unwrap_or_default(), - args: config.args, - sidecar: config.sidecar, - }) - } -} - -/// A set of command arguments allowed to be executed by the webview API. -/// -/// A 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. -#[derive(Debug, PartialEq, Eq, Clone, Deserialize)] -#[serde(untagged, deny_unknown_fields)] -#[non_exhaustive] -pub enum ShellAllowedArgs { - /// Use a simple boolean to allow all or disable all arguments to this command configuration. - Flag(bool), - - /// A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration. - List(Vec), -} - -impl Default for ShellAllowedArgs { - fn default() -> Self { - Self::Flag(false) - } -} - -/// A command argument allowed to be executed by the webview API. -#[derive(Debug, PartialEq, Eq, Clone, Deserialize)] -#[serde(untagged, deny_unknown_fields)] -#[non_exhaustive] -pub enum ShellAllowedArg { - /// A non-configurable argument that is passed to the command in the order it was specified. - Fixed(String), - - /// A variable that is set while calling the command from the webview API. - /// - Var { - /// [regex] validator to require passed values to conform to an expected input. - /// - /// This will require the argument value passed to this variable to match the `validator` regex - /// before it will be executed. - /// - /// [regex]: https://docs.rs/regex/latest/regex/#syntax - validator: String, - }, -} - -/// Shell scope definition. -/// It is a list of command names and associated CLI arguments that restrict the API access from the webview. -#[derive(Debug, Default, PartialEq, Eq, Clone, Deserialize)] - -pub struct ShellAllowlistScope(pub Vec); - /// Defines the `shell > open` api scope. #[derive(Debug, PartialEq, Eq, Clone, Deserialize)] #[serde(untagged, deny_unknown_fields)] diff --git a/plugins/shell/src/lib.rs b/plugins/shell/src/lib.rs index 36d022aa6..e109d59d8 100644 --- a/plugins/shell/src/lib.rs +++ b/plugins/shell/src/lib.rs @@ -20,7 +20,6 @@ use std::{ use process::{Command, CommandChild}; use regex::Regex; -use scope::{Scope, ScopeAllowedCommand, ScopeConfig}; use tauri::{ plugin::{Builder, TauriPlugin}, AppHandle, Manager, RunEvent, Runtime, @@ -32,8 +31,8 @@ mod error; mod open; pub mod process; mod scope; +mod scope_entry; -use config::{Config, ShellAllowedArg, ShellAllowedArgs, ShellAllowlistOpen, ShellAllowlistScope}; pub use error::Error; type Result = std::result::Result; type ChildStore = Arc>>; @@ -41,8 +40,9 @@ type ChildStore = Arc>>; pub struct Shell { #[allow(dead_code)] app: AppHandle, - scope: Scope, + open_scope: scope::OpenScope, children: ChildStore, + resolved_scope_entry_cache: Mutex>, } impl Shell { @@ -63,7 +63,57 @@ impl Shell { /// /// See [`crate::api::shell::open`] for how it handles security-related measures. pub fn open(&self, path: impl Into, with: Option) -> Result<()> { - open::open(&self.scope, path.into(), with).map_err(Into::into) + open::open(&self.open_scope, path.into(), with).map_err(Into::into) + } + + fn shell_scope(&self, allowed: Vec<&crate::scope_entry::Entry>) -> Result { + let mut cache = self.resolved_scope_entry_cache.lock().unwrap(); + + let commands = allowed + .into_iter() + .map(|scope| { + if let Some(resolved_command) = cache.get(scope) { + Ok((scope.name.clone(), resolved_command.clone())) + } else { + let args = match scope.args.clone() { + crate::scope_entry::ShellAllowedArgs::Flag(true) => None, + crate::scope_entry::ShellAllowedArgs::Flag(false) => Some(Vec::new()), + crate::scope_entry::ShellAllowedArgs::List(list) => { + let list = list.into_iter().map(|arg| match arg { + crate::scope_entry::ShellAllowedArg::Fixed(fixed) => { + crate::scope::ScopeAllowedArg::Fixed(fixed) + } + crate::scope_entry::ShellAllowedArg::Var { validator } => { + let validator = Regex::new(&validator).unwrap_or_else(|e| { + panic!("invalid regex {validator}: {e}") + }); + crate::scope::ScopeAllowedArg::Var { validator } + } + }); + Some(list.collect()) + } + }; + + let command = if let Ok(path) = self.app.path().parse(&scope.command) { + path + } else { + scope.command.clone() + }; + + let resolved_command = scope::ScopeAllowedCommand { + command, + args, + sidecar: scope.sidecar, + }; + + cache.insert(scope.clone(), resolved_command.clone()); + + Ok((scope.name.clone(), resolved_command)) + } + }) + .collect::>>()?; + + Ok(scope::ShellScope { scopes: commands }) } } @@ -77,11 +127,11 @@ impl> ShellExt for T { } } -pub fn init() -> TauriPlugin> { +pub fn init() -> TauriPlugin> { let mut init_script = include_str!("init-iife.js").to_string(); init_script.push_str(include_str!("api-iife.js")); - Builder::>::new("shell") + Builder::>::new("shell") .js_init_script(init_script) .invoke_handler(tauri::generate_handler![ commands::execute, @@ -90,12 +140,13 @@ pub fn init() -> TauriPlugin> { commands::open ]) .setup(|app, api| { - let default_config = Config::default(); + let default_config = config::Config::default(); let config = api.config().as_ref().unwrap_or(&default_config); app.manage(Shell { app: app.clone(), children: Default::default(), - scope: Scope::new(app, shell_scope(config.scope.clone(), &config.open)), + open_scope: open_scope(&config.open), + resolved_scope_entry_cache: Default::default(), }); Ok(()) }) @@ -114,56 +165,20 @@ pub fn init() -> TauriPlugin> { .build() } -fn shell_scope(scope: ShellAllowlistScope, open: &ShellAllowlistOpen) -> ScopeConfig { - let shell_scopes = get_allowed_clis(scope); - +fn open_scope(open: &config::ShellAllowlistOpen) -> scope::OpenScope { let shell_scope_open = match open { - ShellAllowlistOpen::Flag(false) => None, - ShellAllowlistOpen::Flag(true) => { + config::ShellAllowlistOpen::Flag(false) => None, + config::ShellAllowlistOpen::Flag(true) => { Some(Regex::new(r"^((mailto:\w+)|(tel:\w+)|(https?://\w+)).+").unwrap()) } - ShellAllowlistOpen::Validate(validator) => { + config::ShellAllowlistOpen::Validate(validator) => { let validator = Regex::new(validator).unwrap_or_else(|e| panic!("invalid regex {validator}: {e}")); Some(validator) } }; - ScopeConfig { + scope::OpenScope { open: shell_scope_open, - scopes: shell_scopes, } } - -fn get_allowed_clis(scope: ShellAllowlistScope) -> HashMap { - scope - .0 - .into_iter() - .map(|scope| { - let args = match scope.args { - ShellAllowedArgs::Flag(true) => None, - ShellAllowedArgs::Flag(false) => Some(Vec::new()), - ShellAllowedArgs::List(list) => { - let list = list.into_iter().map(|arg| match arg { - ShellAllowedArg::Fixed(fixed) => scope::ScopeAllowedArg::Fixed(fixed), - ShellAllowedArg::Var { validator } => { - let validator = Regex::new(&validator) - .unwrap_or_else(|e| panic!("invalid regex {validator}: {e}")); - scope::ScopeAllowedArg::Var { validator } - } - }); - Some(list.collect()) - } - }; - - ( - scope.name, - ScopeAllowedCommand { - command: scope.command, - args, - sidecar: scope.sidecar, - }, - ) - }) - .collect() -} diff --git a/plugins/shell/src/open.rs b/plugins/shell/src/open.rs index a46d3f14b..8366b45b3 100644 --- a/plugins/shell/src/open.rs +++ b/plugins/shell/src/open.rs @@ -6,7 +6,7 @@ use serde::{Deserialize, Deserializer}; -use crate::scope::Scope; +use crate::scope::OpenScope; use std::str::FromStr; /// Program to use on the [`open()`] call. @@ -117,6 +117,6 @@ impl Program { /// Ok(()) /// }); /// ``` -pub fn open>(scope: &Scope, path: P, with: Option) -> crate::Result<()> { +pub fn open>(scope: &OpenScope, path: P, with: Option) -> crate::Result<()> { scope.open(path.as_ref(), with).map_err(Into::into) } diff --git a/plugins/shell/src/scope.rs b/plugins/shell/src/scope.rs index c184e9226..3a9c70605 100644 --- a/plugins/shell/src/scope.rs +++ b/plugins/shell/src/scope.rs @@ -4,7 +4,6 @@ use crate::open::Program; use crate::process::Command; -use crate::{Manager, Runtime}; use regex::Regex; @@ -55,16 +54,6 @@ impl From> for ExecuteArgs { } } -/// Shell scope configuration. -#[derive(Debug, Clone)] -pub struct ScopeConfig { - /// The validation regex that `shell > open` paths must match against. - pub open: Option, - - /// All allowed commands, using their unique command name as the keys. - pub scopes: HashMap, -} - /// A configured scoped shell command. #[derive(Debug, Clone)] pub struct ScopeAllowedCommand { @@ -98,9 +87,18 @@ impl ScopeAllowedArg { } } -/// Scope for filesystem access. +/// Scope for the open command +pub struct OpenScope { + /// The validation regex that `shell > open` paths must match against. + pub open: Option, +} + +/// Scope for shell process spawning. #[derive(Clone)] -pub struct Scope(ScopeConfig); +pub struct ShellScope { + /// All allowed commands, using their unique command name as the keys. + pub scopes: HashMap, +} /// All errors that can happen while validating a scoped command. #[derive(Debug, thiserror::Error)] @@ -147,17 +145,33 @@ pub enum Error { Io(#[from] std::io::Error), } -impl Scope { - /// Creates a new shell scope. - pub(crate) fn new>(manager: &M, mut scope: ScopeConfig) -> Self { - for cmd in scope.scopes.values_mut() { - if let Ok(path) = manager.path().parse(&cmd.command) { - cmd.command = path; +impl OpenScope { + /// Open a path in the default (or specified) browser. + /// + /// The path is validated against the `plugins > shell > open` validation regex, which + /// defaults to `^((mailto:\w+)|(tel:\w+)|(https?://\w+)).+`. + pub fn open(&self, path: &str, with: Option) -> Result<(), Error> { + // ensure we pass validation if the configuration has one + if let Some(regex) = &self.open { + if !regex.is_match(path) { + return Err(Error::Validation { + index: 0, + validation: regex.as_str().into(), + }); } } - Self(scope) + + // The prevention of argument escaping is handled by the usage of std::process::Command::arg by + // the `open` dependency. This behavior should be re-confirmed during upgrades of `open`. + match with.map(Program::name) { + Some(program) => ::open::with_detached(path, program), + None => ::open::that_detached(path), + } + .map_err(Into::into) } +} +impl ShellScope { /// Validates argument inputs and creates a Tauri sidecar [`Command`]. pub fn prepare_sidecar( &self, @@ -180,7 +194,7 @@ impl Scope { args: ExecuteArgs, sidecar: Option<&str>, ) -> Result { - let command = match self.0.scopes.get(command_name) { + let command = match self.scopes.get(command_name) { Some(command) => command, None => return Err(Error::NotFound(command_name.into())), }; @@ -245,28 +259,4 @@ impl Scope { Ok(command.args(args)) } - - /// Open a path in the default (or specified) browser. - /// - /// The path is validated against the `plugins > shell > open` validation regex, which - /// defaults to `^((mailto:\w+)|(tel:\w+)|(https?://\w+)).+`. - pub fn open(&self, path: &str, with: Option) -> Result<(), Error> { - // ensure we pass validation if the configuration has one - if let Some(regex) = &self.0.open { - if !regex.is_match(path) { - return Err(Error::Validation { - index: 0, - validation: regex.as_str().into(), - }); - } - } - - // The prevention of argument escaping is handled by the usage of std::process::Command::arg by - // the `open` dependency. This behavior should be re-confirmed during upgrades of `open`. - match with.map(Program::name) { - Some(program) => ::open::with_detached(path, program), - None => ::open::that_detached(path), - } - .map_err(Into::into) - } } diff --git a/plugins/shell/src/scope_entry.rs b/plugins/shell/src/scope_entry.rs new file mode 100644 index 000000000..aac8e695f --- /dev/null +++ b/plugins/shell/src/scope_entry.rs @@ -0,0 +1,108 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + +use serde::{de::Error as DeError, Deserialize, Deserializer}; + +use std::path::PathBuf; + +/// A command allowed to be executed by the webview API. +#[derive(Debug, Clone, PartialEq, Eq, Hash, schemars::JsonSchema)] +pub struct Entry { + /// The name for this allowed shell command configuration. + /// + /// This name will be used inside of the webview API to call this command along with + /// any specified arguments. + pub name: String, + + /// 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`. + // use default just so the schema doesn't flag it as required + pub command: PathBuf, + + /// The allowed arguments for the command execution. + pub args: ShellAllowedArgs, + + /// If this command is a sidecar command. + pub sidecar: bool, +} + +impl<'de> Deserialize<'de> for Entry { + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'de>, + { + #[derive(Deserialize)] + struct InnerEntry { + name: String, + #[serde(rename = "cmd")] + command: Option, + #[serde(default)] + args: ShellAllowedArgs, + #[serde(default)] + sidecar: bool, + } + + let config = InnerEntry::deserialize(deserializer)?; + + if !config.sidecar && config.command.is_none() { + return Err(DeError::custom( + "The shell scope `command` value is required.", + )); + } + + Ok(Entry { + name: config.name, + command: config.command.unwrap_or_default(), + args: config.args, + sidecar: config.sidecar, + }) + } +} + +/// A set of command arguments allowed to be executed by the webview API. +/// +/// A 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. +#[derive(Debug, PartialEq, Eq, Clone, Hash, Deserialize, schemars::JsonSchema)] +#[serde(untagged, deny_unknown_fields)] +#[non_exhaustive] +pub enum ShellAllowedArgs { + /// Use a simple boolean to allow all or disable all arguments to this command configuration. + Flag(bool), + + /// A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration. + List(Vec), +} + +impl Default for ShellAllowedArgs { + fn default() -> Self { + Self::Flag(false) + } +} + +/// A command argument allowed to be executed by the webview API. +#[derive(Debug, PartialEq, Eq, Clone, Hash, Deserialize, schemars::JsonSchema)] +#[serde(untagged, deny_unknown_fields)] +#[non_exhaustive] +pub enum ShellAllowedArg { + /// A non-configurable argument that is passed to the command in the order it was specified. + Fixed(String), + + /// A variable that is set while calling the command from the webview API. + /// + Var { + /// [regex] validator to require passed values to conform to an expected input. + /// + /// This will require the argument value passed to this variable to match the `validator` regex + /// before it will be executed. + /// + /// [regex]: https://docs.rs/regex/latest/regex/#syntax + validator: String, + }, +} From 780a46d67c9506baa0a43accbb749a18b1d66be2 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Mon, 29 Jan 2024 12:14:10 -0300 Subject: [PATCH 15/35] add fs:scope permission [skip ci] --- plugins/fs/permissions/scope.toml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 plugins/fs/permissions/scope.toml diff --git a/plugins/fs/permissions/scope.toml b/plugins/fs/permissions/scope.toml new file mode 100644 index 000000000..1ffcda296 --- /dev/null +++ b/plugins/fs/permissions/scope.toml @@ -0,0 +1,5 @@ +"$schema" = ".schema.json" + +[[permission]] +identifier = "scope" +description = "An empty permission you can use to modify the global scope." From 40182941085ae765c92715e302adaffe600e9c27 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Mon, 29 Jan 2024 12:25:38 -0300 Subject: [PATCH 16/35] remove schemas --- .../capabilities/schemas/desktop-schema.json | 14 + plugins/authenticator/permissions/.dgitignore | 1 + plugins/authenticator/permissions/.gitignore | 1 + .../authenticator/permissions/.schema.json | 332 --- .../permissions/schemas/schema.json | 332 --- plugins/autostart/permissions/.dgitignore | 1 + plugins/autostart/permissions/.gitignore | 1 + plugins/autostart/permissions/.schema.json | 304 --- .../autostart/permissions/schemas/schema.json | 304 --- .../barcode-scanner/permissions/.dgitignore | 1 + .../barcode-scanner/permissions/.gitignore | 1 + .../barcode-scanner/permissions/.schema.json | 346 --- .../permissions/schemas/schema.json | 346 --- plugins/biometric/permissions/.dgitignore | 1 + plugins/biometric/permissions/.gitignore | 1 + plugins/biometric/permissions/.schema.json | 290 --- .../biometric/permissions/schemas/schema.json | 290 --- plugins/cli/permissions/.dgitignore | 1 + plugins/cli/permissions/.gitignore | 1 + plugins/cli/permissions/.schema.json | 283 --- plugins/cli/permissions/default.toml | 2 +- plugins/cli/permissions/schemas/schema.json | 283 --- .../clipboard-manager/permissions/.dgitignore | 1 + .../clipboard-manager/permissions/.gitignore | 1 + .../permissions/.schema.json | 290 --- .../permissions/schemas/schema.json | 290 --- plugins/deep-link/permissions/.dgitignore | 1 + plugins/deep-link/permissions/.gitignore | 1 + plugins/deep-link/permissions/.schema.json | 283 --- plugins/deep-link/permissions/default.toml | 2 +- .../deep-link/permissions/schemas/schema.json | 283 --- plugins/dialog/permissions/.dgitignore | 1 + plugins/dialog/permissions/.gitignore | 1 + plugins/dialog/permissions/.schema.json | 332 --- .../dialog/permissions/schemas/schema.json | 332 --- plugins/fs/build.rs | 2 +- plugins/fs/permissions/.gitignore | 1 + plugins/fs/permissions/.schema.json | 2243 ----------------- .../autogenerated/base-directories/app.toml | 2 +- .../base-directories/appcache.toml | 2 +- .../base-directories/appconfig.toml | 2 +- .../base-directories/appdata.toml | 2 +- .../base-directories/applocaldata.toml | 2 +- .../base-directories/applog.toml | 2 +- .../autogenerated/base-directories/audio.toml | 2 +- .../autogenerated/base-directories/cache.toml | 2 +- .../base-directories/config.toml | 2 +- .../autogenerated/base-directories/data.toml | 2 +- .../base-directories/desktop.toml | 2 +- .../base-directories/document.toml | 2 +- .../base-directories/download.toml | 2 +- .../autogenerated/base-directories/exe.toml | 2 +- .../autogenerated/base-directories/font.toml | 2 +- .../autogenerated/base-directories/home.toml | 2 +- .../base-directories/localdata.toml | 2 +- .../autogenerated/base-directories/log.toml | 2 +- .../base-directories/picture.toml | 2 +- .../base-directories/public.toml | 2 +- .../base-directories/resource.toml | 2 +- .../base-directories/runtime.toml | 2 +- .../autogenerated/base-directories/temp.toml | 2 +- .../base-directories/template.toml | 2 +- .../autogenerated/base-directories/video.toml | 2 +- plugins/fs/permissions/default.toml | 2 +- plugins/fs/permissions/deny-default.toml | 2 +- plugins/fs/permissions/deny-webview-data.toml | 2 +- plugins/fs/permissions/read-all.toml | 2 +- plugins/fs/permissions/read-dirs.toml | 2 +- plugins/fs/permissions/read-files.toml | 2 +- plugins/fs/permissions/read-meta.toml | 2 +- plugins/fs/permissions/schemas/schema.json | 2243 ----------------- plugins/fs/permissions/scope.toml | 2 +- plugins/fs/permissions/write-all.toml | 2 +- plugins/fs/permissions/write-files.toml | 2 +- .../global-shortcut/permissions/.dgitignore | 1 + .../global-shortcut/permissions/.gitignore | 1 + .../global-shortcut/permissions/.schema.json | 332 --- .../permissions/schemas/schema.json | 332 --- plugins/http/permissions/.dgitignore | 1 + plugins/http/permissions/.gitignore | 1 + plugins/http/permissions/.schema.json | 325 --- plugins/http/permissions/default.toml | 2 +- plugins/http/permissions/schemas/schema.json | 325 --- plugins/log/permissions/.dgitignore | 1 + plugins/log/permissions/.gitignore | 1 + plugins/log/permissions/.schema.json | 283 --- plugins/log/permissions/default.toml | 2 +- plugins/log/permissions/schemas/schema.json | 283 --- plugins/nfc/permissions/.dgitignore | 1 + plugins/nfc/permissions/.gitignore | 1 + plugins/nfc/permissions/.schema.json | 304 --- plugins/nfc/permissions/schemas/schema.json | 304 --- plugins/notification/permissions/.dgitignore | 1 + plugins/notification/permissions/.gitignore | 1 + plugins/notification/permissions/.schema.json | 311 --- plugins/notification/permissions/default.toml | 2 +- .../permissions/schemas/schema.json | 311 --- plugins/os/permissions/.dgitignore | 1 + plugins/os/permissions/.gitignore | 1 + plugins/os/permissions/.schema.json | 374 --- plugins/os/permissions/schemas/schema.json | 374 --- plugins/positioner/permissions/.dgitignore | 1 + plugins/positioner/permissions/.gitignore | 1 + plugins/positioner/permissions/.schema.json | 283 --- plugins/positioner/permissions/default.toml | 2 +- .../permissions/schemas/schema.json | 283 --- plugins/process/permissions/.dgitignore | 1 + plugins/process/permissions/.gitignore | 1 + plugins/process/permissions/.schema.json | 290 --- .../process/permissions/schemas/schema.json | 290 --- plugins/shell/permissions/.dgitignore | 1 + plugins/shell/permissions/.gitignore | 1 + plugins/shell/permissions/.schema.json | 318 --- plugins/shell/permissions/schemas/schema.json | 318 --- plugins/sql/permissions/.dgitignore | 1 + plugins/sql/permissions/.gitignore | 1 + plugins/sql/permissions/.schema.json | 318 --- plugins/sql/permissions/schemas/schema.json | 318 --- plugins/store/permissions/.dgitignore | 1 + plugins/store/permissions/.gitignore | 1 + plugins/store/permissions/.schema.json | 430 ---- plugins/store/permissions/schemas/schema.json | 430 ---- plugins/stronghold/permissions/.dgitignore | 1 + plugins/stronghold/permissions/.gitignore | 1 + plugins/stronghold/permissions/.schema.json | 416 --- .../permissions/schemas/schema.json | 416 --- plugins/updater/permissions/.dgitignore | 1 + plugins/updater/permissions/.gitignore | 1 + plugins/updater/permissions/.schema.json | 297 --- plugins/updater/permissions/default.toml | 2 +- .../updater/permissions/schemas/schema.json | 297 --- plugins/upload/permissions/.dgitignore | 1 + plugins/upload/permissions/.gitignore | 1 + plugins/upload/permissions/.schema.json | 290 --- .../upload/permissions/schemas/schema.json | 290 --- plugins/websocket/permissions/.dgitignore | 1 + plugins/websocket/permissions/.gitignore | 1 + plugins/websocket/permissions/.schema.json | 297 --- plugins/websocket/permissions/default.toml | 2 +- .../websocket/permissions/schemas/schema.json | 297 --- plugins/window-state/permissions/.dgitignore | 1 + plugins/window-state/permissions/.gitignore | 1 + plugins/window-state/permissions/.schema.json | 290 --- .../permissions/schemas/schema.json | 290 --- 144 files changed, 107 insertions(+), 19766 deletions(-) create mode 100644 plugins/authenticator/permissions/.dgitignore create mode 100644 plugins/authenticator/permissions/.gitignore delete mode 100644 plugins/authenticator/permissions/.schema.json delete mode 100644 plugins/authenticator/permissions/schemas/schema.json create mode 100644 plugins/autostart/permissions/.dgitignore create mode 100644 plugins/autostart/permissions/.gitignore delete mode 100644 plugins/autostart/permissions/.schema.json delete mode 100644 plugins/autostart/permissions/schemas/schema.json create mode 100644 plugins/barcode-scanner/permissions/.dgitignore create mode 100644 plugins/barcode-scanner/permissions/.gitignore delete mode 100644 plugins/barcode-scanner/permissions/.schema.json delete mode 100644 plugins/barcode-scanner/permissions/schemas/schema.json create mode 100644 plugins/biometric/permissions/.dgitignore create mode 100644 plugins/biometric/permissions/.gitignore delete mode 100644 plugins/biometric/permissions/.schema.json delete mode 100644 plugins/biometric/permissions/schemas/schema.json create mode 100644 plugins/cli/permissions/.dgitignore create mode 100644 plugins/cli/permissions/.gitignore delete mode 100644 plugins/cli/permissions/.schema.json delete mode 100644 plugins/cli/permissions/schemas/schema.json create mode 100644 plugins/clipboard-manager/permissions/.dgitignore create mode 100644 plugins/clipboard-manager/permissions/.gitignore delete mode 100644 plugins/clipboard-manager/permissions/.schema.json delete mode 100644 plugins/clipboard-manager/permissions/schemas/schema.json create mode 100644 plugins/deep-link/permissions/.dgitignore create mode 100644 plugins/deep-link/permissions/.gitignore delete mode 100644 plugins/deep-link/permissions/.schema.json delete mode 100644 plugins/deep-link/permissions/schemas/schema.json create mode 100644 plugins/dialog/permissions/.dgitignore create mode 100644 plugins/dialog/permissions/.gitignore delete mode 100644 plugins/dialog/permissions/.schema.json delete mode 100644 plugins/dialog/permissions/schemas/schema.json create mode 100644 plugins/fs/permissions/.gitignore delete mode 100644 plugins/fs/permissions/.schema.json delete mode 100644 plugins/fs/permissions/schemas/schema.json create mode 100644 plugins/global-shortcut/permissions/.dgitignore create mode 100644 plugins/global-shortcut/permissions/.gitignore delete mode 100644 plugins/global-shortcut/permissions/.schema.json delete mode 100644 plugins/global-shortcut/permissions/schemas/schema.json create mode 100644 plugins/http/permissions/.dgitignore create mode 100644 plugins/http/permissions/.gitignore delete mode 100644 plugins/http/permissions/.schema.json delete mode 100644 plugins/http/permissions/schemas/schema.json create mode 100644 plugins/log/permissions/.dgitignore create mode 100644 plugins/log/permissions/.gitignore delete mode 100644 plugins/log/permissions/.schema.json delete mode 100644 plugins/log/permissions/schemas/schema.json create mode 100644 plugins/nfc/permissions/.dgitignore create mode 100644 plugins/nfc/permissions/.gitignore delete mode 100644 plugins/nfc/permissions/.schema.json delete mode 100644 plugins/nfc/permissions/schemas/schema.json create mode 100644 plugins/notification/permissions/.dgitignore create mode 100644 plugins/notification/permissions/.gitignore delete mode 100644 plugins/notification/permissions/.schema.json delete mode 100644 plugins/notification/permissions/schemas/schema.json create mode 100644 plugins/os/permissions/.dgitignore create mode 100644 plugins/os/permissions/.gitignore delete mode 100644 plugins/os/permissions/.schema.json delete mode 100644 plugins/os/permissions/schemas/schema.json create mode 100644 plugins/positioner/permissions/.dgitignore create mode 100644 plugins/positioner/permissions/.gitignore delete mode 100644 plugins/positioner/permissions/.schema.json delete mode 100644 plugins/positioner/permissions/schemas/schema.json create mode 100644 plugins/process/permissions/.dgitignore create mode 100644 plugins/process/permissions/.gitignore delete mode 100644 plugins/process/permissions/.schema.json delete mode 100644 plugins/process/permissions/schemas/schema.json create mode 100644 plugins/shell/permissions/.dgitignore create mode 100644 plugins/shell/permissions/.gitignore delete mode 100644 plugins/shell/permissions/.schema.json delete mode 100644 plugins/shell/permissions/schemas/schema.json create mode 100644 plugins/sql/permissions/.dgitignore create mode 100644 plugins/sql/permissions/.gitignore delete mode 100644 plugins/sql/permissions/.schema.json delete mode 100644 plugins/sql/permissions/schemas/schema.json create mode 100644 plugins/store/permissions/.dgitignore create mode 100644 plugins/store/permissions/.gitignore delete mode 100644 plugins/store/permissions/.schema.json delete mode 100644 plugins/store/permissions/schemas/schema.json create mode 100644 plugins/stronghold/permissions/.dgitignore create mode 100644 plugins/stronghold/permissions/.gitignore delete mode 100644 plugins/stronghold/permissions/.schema.json delete mode 100644 plugins/stronghold/permissions/schemas/schema.json create mode 100644 plugins/updater/permissions/.dgitignore create mode 100644 plugins/updater/permissions/.gitignore delete mode 100644 plugins/updater/permissions/.schema.json delete mode 100644 plugins/updater/permissions/schemas/schema.json create mode 100644 plugins/upload/permissions/.dgitignore create mode 100644 plugins/upload/permissions/.gitignore delete mode 100644 plugins/upload/permissions/.schema.json delete mode 100644 plugins/upload/permissions/schemas/schema.json create mode 100644 plugins/websocket/permissions/.dgitignore create mode 100644 plugins/websocket/permissions/.gitignore delete mode 100644 plugins/websocket/permissions/.schema.json delete mode 100644 plugins/websocket/permissions/schemas/schema.json create mode 100644 plugins/window-state/permissions/.dgitignore create mode 100644 plugins/window-state/permissions/.gitignore delete mode 100644 plugins/window-state/permissions/.schema.json delete mode 100644 plugins/window-state/permissions/schemas/schema.json diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index a2031dc3f..871b747a5 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -1813,6 +1813,13 @@ "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", @@ -5880,6 +5887,13 @@ "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", diff --git a/plugins/authenticator/permissions/.dgitignore b/plugins/authenticator/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/authenticator/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/authenticator/permissions/.gitignore b/plugins/authenticator/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/authenticator/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/authenticator/permissions/.schema.json b/plugins/authenticator/permissions/.schema.json deleted file mode 100644 index 34b42c425..000000000 --- a/plugins/authenticator/permissions/.schema.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-init-auth -> Enables the init_auth command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-init-auth" - ] - }, - { - "description": "deny-init-auth -> Denies the init_auth command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-init-auth" - ] - }, - { - "description": "allow-register -> Enables the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-register" - ] - }, - { - "description": "deny-register -> Denies the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-register" - ] - }, - { - "description": "allow-sign -> Enables the sign command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-sign" - ] - }, - { - "description": "deny-sign -> Denies the sign command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-sign" - ] - }, - { - "description": "allow-verify-registration -> Enables the verify_registration command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-verify-registration" - ] - }, - { - "description": "deny-verify-registration -> Denies the verify_registration command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-verify-registration" - ] - }, - { - "description": "allow-verify-signature -> Enables the verify_signature command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-verify-signature" - ] - }, - { - "description": "deny-verify-signature -> Denies the verify_signature command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-verify-signature" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/authenticator/permissions/schemas/schema.json b/plugins/authenticator/permissions/schemas/schema.json deleted file mode 100644 index 34b42c425..000000000 --- a/plugins/authenticator/permissions/schemas/schema.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-init-auth -> Enables the init_auth command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-init-auth" - ] - }, - { - "description": "deny-init-auth -> Denies the init_auth command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-init-auth" - ] - }, - { - "description": "allow-register -> Enables the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-register" - ] - }, - { - "description": "deny-register -> Denies the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-register" - ] - }, - { - "description": "allow-sign -> Enables the sign command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-sign" - ] - }, - { - "description": "deny-sign -> Denies the sign command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-sign" - ] - }, - { - "description": "allow-verify-registration -> Enables the verify_registration command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-verify-registration" - ] - }, - { - "description": "deny-verify-registration -> Denies the verify_registration command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-verify-registration" - ] - }, - { - "description": "allow-verify-signature -> Enables the verify_signature command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-verify-signature" - ] - }, - { - "description": "deny-verify-signature -> Denies the verify_signature command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-verify-signature" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/autostart/permissions/.dgitignore b/plugins/autostart/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/autostart/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/autostart/permissions/.gitignore b/plugins/autostart/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/autostart/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/autostart/permissions/.schema.json b/plugins/autostart/permissions/.schema.json deleted file mode 100644 index 5252fc1b9..000000000 --- a/plugins/autostart/permissions/.schema.json +++ /dev/null @@ -1,304 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-disable -> Enables the disable command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-disable" - ] - }, - { - "description": "deny-disable -> Denies the disable command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-disable" - ] - }, - { - "description": "allow-enable -> Enables the enable command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-enable" - ] - }, - { - "description": "deny-enable -> Denies the enable command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-enable" - ] - }, - { - "description": "allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-is-enabled" - ] - }, - { - "description": "deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-is-enabled" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/autostart/permissions/schemas/schema.json b/plugins/autostart/permissions/schemas/schema.json deleted file mode 100644 index 5252fc1b9..000000000 --- a/plugins/autostart/permissions/schemas/schema.json +++ /dev/null @@ -1,304 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-disable -> Enables the disable command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-disable" - ] - }, - { - "description": "deny-disable -> Denies the disable command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-disable" - ] - }, - { - "description": "allow-enable -> Enables the enable command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-enable" - ] - }, - { - "description": "deny-enable -> Denies the enable command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-enable" - ] - }, - { - "description": "allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-is-enabled" - ] - }, - { - "description": "deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-is-enabled" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/barcode-scanner/permissions/.dgitignore b/plugins/barcode-scanner/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/barcode-scanner/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/barcode-scanner/permissions/.gitignore b/plugins/barcode-scanner/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/barcode-scanner/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/barcode-scanner/permissions/.schema.json b/plugins/barcode-scanner/permissions/.schema.json deleted file mode 100644 index 55c8f4491..000000000 --- a/plugins/barcode-scanner/permissions/.schema.json +++ /dev/null @@ -1,346 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-cancel -> Enables the cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-cancel" - ] - }, - { - "description": "deny-cancel -> Denies the cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-cancel" - ] - }, - { - "description": "allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-check-permissions" - ] - }, - { - "description": "deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-check-permissions" - ] - }, - { - "description": "allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-open-app-settings" - ] - }, - { - "description": "deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-open-app-settings" - ] - }, - { - "description": "allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-request-permissions" - ] - }, - { - "description": "deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-request-permissions" - ] - }, - { - "description": "allow-scan -> Enables the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-scan" - ] - }, - { - "description": "deny-scan -> Denies the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-scan" - ] - }, - { - "description": "allow-vibrate -> Enables the vibrate command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-vibrate" - ] - }, - { - "description": "deny-vibrate -> Denies the vibrate command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-vibrate" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/barcode-scanner/permissions/schemas/schema.json b/plugins/barcode-scanner/permissions/schemas/schema.json deleted file mode 100644 index 55c8f4491..000000000 --- a/plugins/barcode-scanner/permissions/schemas/schema.json +++ /dev/null @@ -1,346 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-cancel -> Enables the cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-cancel" - ] - }, - { - "description": "deny-cancel -> Denies the cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-cancel" - ] - }, - { - "description": "allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-check-permissions" - ] - }, - { - "description": "deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-check-permissions" - ] - }, - { - "description": "allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-open-app-settings" - ] - }, - { - "description": "deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-open-app-settings" - ] - }, - { - "description": "allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-request-permissions" - ] - }, - { - "description": "deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-request-permissions" - ] - }, - { - "description": "allow-scan -> Enables the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-scan" - ] - }, - { - "description": "deny-scan -> Denies the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-scan" - ] - }, - { - "description": "allow-vibrate -> Enables the vibrate command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-vibrate" - ] - }, - { - "description": "deny-vibrate -> Denies the vibrate command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-vibrate" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/biometric/permissions/.dgitignore b/plugins/biometric/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/biometric/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/biometric/permissions/.gitignore b/plugins/biometric/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/biometric/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/biometric/permissions/.schema.json b/plugins/biometric/permissions/.schema.json deleted file mode 100644 index 56416a868..000000000 --- a/plugins/biometric/permissions/.schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-authenticate -> Enables the authenticate command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-authenticate" - ] - }, - { - "description": "deny-authenticate -> Denies the authenticate command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-authenticate" - ] - }, - { - "description": "allow-status -> Enables the status command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-status" - ] - }, - { - "description": "deny-status -> Denies the status command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-status" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/biometric/permissions/schemas/schema.json b/plugins/biometric/permissions/schemas/schema.json deleted file mode 100644 index 56416a868..000000000 --- a/plugins/biometric/permissions/schemas/schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-authenticate -> Enables the authenticate command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-authenticate" - ] - }, - { - "description": "deny-authenticate -> Denies the authenticate command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-authenticate" - ] - }, - { - "description": "allow-status -> Enables the status command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-status" - ] - }, - { - "description": "deny-status -> Denies the status command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-status" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/cli/permissions/.dgitignore b/plugins/cli/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/cli/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/cli/permissions/.gitignore b/plugins/cli/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/cli/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/cli/permissions/.schema.json b/plugins/cli/permissions/.schema.json deleted file mode 100644 index 29a8ae9d9..000000000 --- a/plugins/cli/permissions/.schema.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-cli-matches" - ] - }, - { - "description": "deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-cli-matches" - ] - }, - { - "description": "default -> Allows reading the CLI matches", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/cli/permissions/default.toml b/plugins/cli/permissions/default.toml index edc184e70..82bf7ca8f 100644 --- a/plugins/cli/permissions/default.toml +++ b/plugins/cli/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = "Allows reading the CLI matches" permissions = ["allow-cli-matches"] diff --git a/plugins/cli/permissions/schemas/schema.json b/plugins/cli/permissions/schemas/schema.json deleted file mode 100644 index 29a8ae9d9..000000000 --- a/plugins/cli/permissions/schemas/schema.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-cli-matches" - ] - }, - { - "description": "deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-cli-matches" - ] - }, - { - "description": "default -> Allows reading the CLI matches", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/clipboard-manager/permissions/.dgitignore b/plugins/clipboard-manager/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/clipboard-manager/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/clipboard-manager/permissions/.gitignore b/plugins/clipboard-manager/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/clipboard-manager/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/clipboard-manager/permissions/.schema.json b/plugins/clipboard-manager/permissions/.schema.json deleted file mode 100644 index 35d04601b..000000000 --- a/plugins/clipboard-manager/permissions/.schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read" - ] - }, - { - "description": "deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read" - ] - }, - { - "description": "allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write" - ] - }, - { - "description": "deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/clipboard-manager/permissions/schemas/schema.json b/plugins/clipboard-manager/permissions/schemas/schema.json deleted file mode 100644 index 35d04601b..000000000 --- a/plugins/clipboard-manager/permissions/schemas/schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read" - ] - }, - { - "description": "deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read" - ] - }, - { - "description": "allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write" - ] - }, - { - "description": "deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/deep-link/permissions/.dgitignore b/plugins/deep-link/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/deep-link/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/deep-link/permissions/.gitignore b/plugins/deep-link/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/deep-link/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/deep-link/permissions/.schema.json b/plugins/deep-link/permissions/.schema.json deleted file mode 100644 index 7d435502e..000000000 --- a/plugins/deep-link/permissions/.schema.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-get-current -> Enables the get_current command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-get-current" - ] - }, - { - "description": "deny-get-current -> Denies the get_current command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-get-current" - ] - }, - { - "description": "default -> Allows reading the opened deep link via the get_current command", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/deep-link/permissions/default.toml b/plugins/deep-link/permissions/default.toml index 724c107ee..0c3cf2c06 100644 --- a/plugins/deep-link/permissions/default.toml +++ b/plugins/deep-link/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = "Allows reading the opened deep link via the get_current command" permissions = ["allow-get-current"] diff --git a/plugins/deep-link/permissions/schemas/schema.json b/plugins/deep-link/permissions/schemas/schema.json deleted file mode 100644 index 7d435502e..000000000 --- a/plugins/deep-link/permissions/schemas/schema.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-get-current -> Enables the get_current command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-get-current" - ] - }, - { - "description": "deny-get-current -> Denies the get_current command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-get-current" - ] - }, - { - "description": "default -> Allows reading the opened deep link via the get_current command", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/dialog/permissions/.dgitignore b/plugins/dialog/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/dialog/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/dialog/permissions/.gitignore b/plugins/dialog/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/dialog/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/dialog/permissions/.schema.json b/plugins/dialog/permissions/.schema.json deleted file mode 100644 index 0d1938f63..000000000 --- a/plugins/dialog/permissions/.schema.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-ask -> Enables the ask command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-ask" - ] - }, - { - "description": "deny-ask -> Denies the ask command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-ask" - ] - }, - { - "description": "allow-confirm -> Enables the confirm command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-confirm" - ] - }, - { - "description": "deny-confirm -> Denies the confirm command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-confirm" - ] - }, - { - "description": "allow-message -> Enables the message command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-message" - ] - }, - { - "description": "deny-message -> Denies the message command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-message" - ] - }, - { - "description": "allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-open" - ] - }, - { - "description": "deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-open" - ] - }, - { - "description": "allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save" - ] - }, - { - "description": "deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/dialog/permissions/schemas/schema.json b/plugins/dialog/permissions/schemas/schema.json deleted file mode 100644 index 0d1938f63..000000000 --- a/plugins/dialog/permissions/schemas/schema.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-ask -> Enables the ask command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-ask" - ] - }, - { - "description": "deny-ask -> Denies the ask command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-ask" - ] - }, - { - "description": "allow-confirm -> Enables the confirm command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-confirm" - ] - }, - { - "description": "deny-confirm -> Denies the confirm command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-confirm" - ] - }, - { - "description": "allow-message -> Enables the message command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-message" - ] - }, - { - "description": "deny-message -> Denies the message command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-message" - ] - }, - { - "description": "allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-open" - ] - }, - { - "description": "deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-open" - ] - }, - { - "description": "allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save" - ] - }, - { - "description": "deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index 307c1417b..10a7d3dd9 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -71,7 +71,7 @@ fn main() { let toml = format!( r###"# Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/.gitignore b/plugins/fs/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/fs/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/fs/permissions/.schema.json b/plugins/fs/permissions/.schema.json deleted file mode 100644 index 17839e06f..000000000 --- a/plugins/fs/permissions/.schema.json +++ /dev/null @@ -1,2243 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-app-read-recursive" - ] - }, - { - "description": "allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-app-write-recursive" - ] - }, - { - "description": "allow-app-read -> This allows non-recursive read access to the `$APP` folder.", - "type": "string", - "enum": [ - "allow-app-read" - ] - }, - { - "description": "allow-app-write -> This allows non-recursive write access to the `$APP` folder.", - "type": "string", - "enum": [ - "allow-app-write" - ] - }, - { - "description": "allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-app-meta-recursive" - ] - }, - { - "description": "allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-app-meta" - ] - }, - { - "description": "scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-app-recursive" - ] - }, - { - "description": "scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", - "type": "string", - "enum": [ - "scope-app" - ] - }, - { - "description": "scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", - "type": "string", - "enum": [ - "scope-app-index" - ] - }, - { - "description": "allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appcache-read-recursive" - ] - }, - { - "description": "allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appcache-write-recursive" - ] - }, - { - "description": "allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "allow-appcache-read" - ] - }, - { - "description": "allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "allow-appcache-write" - ] - }, - { - "description": "allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appcache-meta-recursive" - ] - }, - { - "description": "allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appcache-meta" - ] - }, - { - "description": "scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-appcache-recursive" - ] - }, - { - "description": "scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", - "type": "string", - "enum": [ - "scope-appcache" - ] - }, - { - "description": "scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", - "type": "string", - "enum": [ - "scope-appcache-index" - ] - }, - { - "description": "allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appconfig-read-recursive" - ] - }, - { - "description": "allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appconfig-write-recursive" - ] - }, - { - "description": "allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "allow-appconfig-read" - ] - }, - { - "description": "allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "allow-appconfig-write" - ] - }, - { - "description": "allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appconfig-meta-recursive" - ] - }, - { - "description": "allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appconfig-meta" - ] - }, - { - "description": "scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-appconfig-recursive" - ] - }, - { - "description": "scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", - "type": "string", - "enum": [ - "scope-appconfig" - ] - }, - { - "description": "scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", - "type": "string", - "enum": [ - "scope-appconfig-index" - ] - }, - { - "description": "allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appdata-read-recursive" - ] - }, - { - "description": "allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appdata-write-recursive" - ] - }, - { - "description": "allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", - "type": "string", - "enum": [ - "allow-appdata-read" - ] - }, - { - "description": "allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", - "type": "string", - "enum": [ - "allow-appdata-write" - ] - }, - { - "description": "allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appdata-meta-recursive" - ] - }, - { - "description": "allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appdata-meta" - ] - }, - { - "description": "scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-appdata-recursive" - ] - }, - { - "description": "scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", - "type": "string", - "enum": [ - "scope-appdata" - ] - }, - { - "description": "scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", - "type": "string", - "enum": [ - "scope-appdata-index" - ] - }, - { - "description": "allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-applocaldata-read-recursive" - ] - }, - { - "description": "allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-applocaldata-write-recursive" - ] - }, - { - "description": "allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "allow-applocaldata-read" - ] - }, - { - "description": "allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "allow-applocaldata-write" - ] - }, - { - "description": "allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-applocaldata-meta-recursive" - ] - }, - { - "description": "allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-applocaldata-meta" - ] - }, - { - "description": "scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-applocaldata-recursive" - ] - }, - { - "description": "scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", - "type": "string", - "enum": [ - "scope-applocaldata" - ] - }, - { - "description": "scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", - "type": "string", - "enum": [ - "scope-applocaldata-index" - ] - }, - { - "description": "allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-applog-read-recursive" - ] - }, - { - "description": "allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-applog-write-recursive" - ] - }, - { - "description": "allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", - "type": "string", - "enum": [ - "allow-applog-read" - ] - }, - { - "description": "allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", - "type": "string", - "enum": [ - "allow-applog-write" - ] - }, - { - "description": "allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-applog-meta-recursive" - ] - }, - { - "description": "allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-applog-meta" - ] - }, - { - "description": "scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-applog-recursive" - ] - }, - { - "description": "scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", - "type": "string", - "enum": [ - "scope-applog" - ] - }, - { - "description": "scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", - "type": "string", - "enum": [ - "scope-applog-index" - ] - }, - { - "description": "allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-audio-read-recursive" - ] - }, - { - "description": "allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-audio-write-recursive" - ] - }, - { - "description": "allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", - "type": "string", - "enum": [ - "allow-audio-read" - ] - }, - { - "description": "allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", - "type": "string", - "enum": [ - "allow-audio-write" - ] - }, - { - "description": "allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-audio-meta-recursive" - ] - }, - { - "description": "allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-audio-meta" - ] - }, - { - "description": "scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-audio-recursive" - ] - }, - { - "description": "scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", - "type": "string", - "enum": [ - "scope-audio" - ] - }, - { - "description": "scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", - "type": "string", - "enum": [ - "scope-audio-index" - ] - }, - { - "description": "allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-cache-read-recursive" - ] - }, - { - "description": "allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-cache-write-recursive" - ] - }, - { - "description": "allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", - "type": "string", - "enum": [ - "allow-cache-read" - ] - }, - { - "description": "allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", - "type": "string", - "enum": [ - "allow-cache-write" - ] - }, - { - "description": "allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-cache-meta-recursive" - ] - }, - { - "description": "allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-cache-meta" - ] - }, - { - "description": "scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-cache-recursive" - ] - }, - { - "description": "scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", - "type": "string", - "enum": [ - "scope-cache" - ] - }, - { - "description": "scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", - "type": "string", - "enum": [ - "scope-cache-index" - ] - }, - { - "description": "allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-config-read-recursive" - ] - }, - { - "description": "allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-config-write-recursive" - ] - }, - { - "description": "allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", - "type": "string", - "enum": [ - "allow-config-read" - ] - }, - { - "description": "allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", - "type": "string", - "enum": [ - "allow-config-write" - ] - }, - { - "description": "allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-config-meta-recursive" - ] - }, - { - "description": "allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-config-meta" - ] - }, - { - "description": "scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-config-recursive" - ] - }, - { - "description": "scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", - "type": "string", - "enum": [ - "scope-config" - ] - }, - { - "description": "scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", - "type": "string", - "enum": [ - "scope-config-index" - ] - }, - { - "description": "allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-data-read-recursive" - ] - }, - { - "description": "allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-data-write-recursive" - ] - }, - { - "description": "allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", - "type": "string", - "enum": [ - "allow-data-read" - ] - }, - { - "description": "allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", - "type": "string", - "enum": [ - "allow-data-write" - ] - }, - { - "description": "allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-data-meta-recursive" - ] - }, - { - "description": "allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-data-meta" - ] - }, - { - "description": "scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-data-recursive" - ] - }, - { - "description": "scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", - "type": "string", - "enum": [ - "scope-data" - ] - }, - { - "description": "scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", - "type": "string", - "enum": [ - "scope-data-index" - ] - }, - { - "description": "allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-desktop-read-recursive" - ] - }, - { - "description": "allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-desktop-write-recursive" - ] - }, - { - "description": "allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "allow-desktop-read" - ] - }, - { - "description": "allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "allow-desktop-write" - ] - }, - { - "description": "allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-desktop-meta-recursive" - ] - }, - { - "description": "allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-desktop-meta" - ] - }, - { - "description": "scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-desktop-recursive" - ] - }, - { - "description": "scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", - "type": "string", - "enum": [ - "scope-desktop" - ] - }, - { - "description": "scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", - "type": "string", - "enum": [ - "scope-desktop-index" - ] - }, - { - "description": "allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-document-read-recursive" - ] - }, - { - "description": "allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-document-write-recursive" - ] - }, - { - "description": "allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "allow-document-read" - ] - }, - { - "description": "allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "allow-document-write" - ] - }, - { - "description": "allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-document-meta-recursive" - ] - }, - { - "description": "allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-document-meta" - ] - }, - { - "description": "scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-document-recursive" - ] - }, - { - "description": "scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", - "type": "string", - "enum": [ - "scope-document" - ] - }, - { - "description": "scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", - "type": "string", - "enum": [ - "scope-document-index" - ] - }, - { - "description": "allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-download-read-recursive" - ] - }, - { - "description": "allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-download-write-recursive" - ] - }, - { - "description": "allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "allow-download-read" - ] - }, - { - "description": "allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "allow-download-write" - ] - }, - { - "description": "allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-download-meta-recursive" - ] - }, - { - "description": "allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-download-meta" - ] - }, - { - "description": "scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-download-recursive" - ] - }, - { - "description": "scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", - "type": "string", - "enum": [ - "scope-download" - ] - }, - { - "description": "scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", - "type": "string", - "enum": [ - "scope-download-index" - ] - }, - { - "description": "allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-exe-read-recursive" - ] - }, - { - "description": "allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-exe-write-recursive" - ] - }, - { - "description": "allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", - "type": "string", - "enum": [ - "allow-exe-read" - ] - }, - { - "description": "allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", - "type": "string", - "enum": [ - "allow-exe-write" - ] - }, - { - "description": "allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-exe-meta-recursive" - ] - }, - { - "description": "allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-exe-meta" - ] - }, - { - "description": "scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-exe-recursive" - ] - }, - { - "description": "scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", - "type": "string", - "enum": [ - "scope-exe" - ] - }, - { - "description": "scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", - "type": "string", - "enum": [ - "scope-exe-index" - ] - }, - { - "description": "allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-font-read-recursive" - ] - }, - { - "description": "allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-font-write-recursive" - ] - }, - { - "description": "allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", - "type": "string", - "enum": [ - "allow-font-read" - ] - }, - { - "description": "allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", - "type": "string", - "enum": [ - "allow-font-write" - ] - }, - { - "description": "allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-font-meta-recursive" - ] - }, - { - "description": "allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-font-meta" - ] - }, - { - "description": "scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-font-recursive" - ] - }, - { - "description": "scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", - "type": "string", - "enum": [ - "scope-font" - ] - }, - { - "description": "scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", - "type": "string", - "enum": [ - "scope-font-index" - ] - }, - { - "description": "allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-home-read-recursive" - ] - }, - { - "description": "allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-home-write-recursive" - ] - }, - { - "description": "allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", - "type": "string", - "enum": [ - "allow-home-read" - ] - }, - { - "description": "allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", - "type": "string", - "enum": [ - "allow-home-write" - ] - }, - { - "description": "allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-home-meta-recursive" - ] - }, - { - "description": "allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-home-meta" - ] - }, - { - "description": "scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-home-recursive" - ] - }, - { - "description": "scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", - "type": "string", - "enum": [ - "scope-home" - ] - }, - { - "description": "scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", - "type": "string", - "enum": [ - "scope-home-index" - ] - }, - { - "description": "allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-localdata-read-recursive" - ] - }, - { - "description": "allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-localdata-write-recursive" - ] - }, - { - "description": "allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "allow-localdata-read" - ] - }, - { - "description": "allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "allow-localdata-write" - ] - }, - { - "description": "allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-localdata-meta-recursive" - ] - }, - { - "description": "allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-localdata-meta" - ] - }, - { - "description": "scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-localdata-recursive" - ] - }, - { - "description": "scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", - "type": "string", - "enum": [ - "scope-localdata" - ] - }, - { - "description": "scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", - "type": "string", - "enum": [ - "scope-localdata-index" - ] - }, - { - "description": "allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-log-read-recursive" - ] - }, - { - "description": "allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-log-write-recursive" - ] - }, - { - "description": "allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", - "type": "string", - "enum": [ - "allow-log-read" - ] - }, - { - "description": "allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", - "type": "string", - "enum": [ - "allow-log-write" - ] - }, - { - "description": "allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-log-meta-recursive" - ] - }, - { - "description": "allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-log-meta" - ] - }, - { - "description": "scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-log-recursive" - ] - }, - { - "description": "scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", - "type": "string", - "enum": [ - "scope-log" - ] - }, - { - "description": "scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", - "type": "string", - "enum": [ - "scope-log-index" - ] - }, - { - "description": "allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-picture-read-recursive" - ] - }, - { - "description": "allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-picture-write-recursive" - ] - }, - { - "description": "allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", - "type": "string", - "enum": [ - "allow-picture-read" - ] - }, - { - "description": "allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", - "type": "string", - "enum": [ - "allow-picture-write" - ] - }, - { - "description": "allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-picture-meta-recursive" - ] - }, - { - "description": "allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-picture-meta" - ] - }, - { - "description": "scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-picture-recursive" - ] - }, - { - "description": "scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", - "type": "string", - "enum": [ - "scope-picture" - ] - }, - { - "description": "scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", - "type": "string", - "enum": [ - "scope-picture-index" - ] - }, - { - "description": "allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-public-read-recursive" - ] - }, - { - "description": "allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-public-write-recursive" - ] - }, - { - "description": "allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "allow-public-read" - ] - }, - { - "description": "allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "allow-public-write" - ] - }, - { - "description": "allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-public-meta-recursive" - ] - }, - { - "description": "allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-public-meta" - ] - }, - { - "description": "scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-public-recursive" - ] - }, - { - "description": "scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", - "type": "string", - "enum": [ - "scope-public" - ] - }, - { - "description": "scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", - "type": "string", - "enum": [ - "scope-public-index" - ] - }, - { - "description": "allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-resource-read-recursive" - ] - }, - { - "description": "allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-resource-write-recursive" - ] - }, - { - "description": "allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "allow-resource-read" - ] - }, - { - "description": "allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "allow-resource-write" - ] - }, - { - "description": "allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-resource-meta-recursive" - ] - }, - { - "description": "allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-resource-meta" - ] - }, - { - "description": "scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-resource-recursive" - ] - }, - { - "description": "scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", - "type": "string", - "enum": [ - "scope-resource" - ] - }, - { - "description": "scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", - "type": "string", - "enum": [ - "scope-resource-index" - ] - }, - { - "description": "allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-runtime-read-recursive" - ] - }, - { - "description": "allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-runtime-write-recursive" - ] - }, - { - "description": "allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "allow-runtime-read" - ] - }, - { - "description": "allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "allow-runtime-write" - ] - }, - { - "description": "allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-runtime-meta-recursive" - ] - }, - { - "description": "allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-runtime-meta" - ] - }, - { - "description": "scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-runtime-recursive" - ] - }, - { - "description": "scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", - "type": "string", - "enum": [ - "scope-runtime" - ] - }, - { - "description": "scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", - "type": "string", - "enum": [ - "scope-runtime-index" - ] - }, - { - "description": "allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-temp-read-recursive" - ] - }, - { - "description": "allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-temp-write-recursive" - ] - }, - { - "description": "allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", - "type": "string", - "enum": [ - "allow-temp-read" - ] - }, - { - "description": "allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", - "type": "string", - "enum": [ - "allow-temp-write" - ] - }, - { - "description": "allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-temp-meta-recursive" - ] - }, - { - "description": "allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-temp-meta" - ] - }, - { - "description": "scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-temp-recursive" - ] - }, - { - "description": "scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", - "type": "string", - "enum": [ - "scope-temp" - ] - }, - { - "description": "scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", - "type": "string", - "enum": [ - "scope-temp-index" - ] - }, - { - "description": "allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-template-read-recursive" - ] - }, - { - "description": "allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-template-write-recursive" - ] - }, - { - "description": "allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "allow-template-read" - ] - }, - { - "description": "allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "allow-template-write" - ] - }, - { - "description": "allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-template-meta-recursive" - ] - }, - { - "description": "allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-template-meta" - ] - }, - { - "description": "scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-template-recursive" - ] - }, - { - "description": "scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", - "type": "string", - "enum": [ - "scope-template" - ] - }, - { - "description": "scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", - "type": "string", - "enum": [ - "scope-template-index" - ] - }, - { - "description": "allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-video-read-recursive" - ] - }, - { - "description": "allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-video-write-recursive" - ] - }, - { - "description": "allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", - "type": "string", - "enum": [ - "allow-video-read" - ] - }, - { - "description": "allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", - "type": "string", - "enum": [ - "allow-video-write" - ] - }, - { - "description": "allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-video-meta-recursive" - ] - }, - { - "description": "allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-video-meta" - ] - }, - { - "description": "scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-video-recursive" - ] - }, - { - "description": "scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", - "type": "string", - "enum": [ - "scope-video" - ] - }, - { - "description": "scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", - "type": "string", - "enum": [ - "scope-video-index" - ] - }, - { - "description": "allow-copy-file -> Enables the copy_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-copy-file" - ] - }, - { - "description": "deny-copy-file -> Denies the copy_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-copy-file" - ] - }, - { - "description": "allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-create" - ] - }, - { - "description": "deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-create" - ] - }, - { - "description": "allow-exists -> Enables the exists command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-exists" - ] - }, - { - "description": "deny-exists -> Denies the exists command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-exists" - ] - }, - { - "description": "allow-fstat -> Enables the fstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fstat" - ] - }, - { - "description": "deny-fstat -> Denies the fstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fstat" - ] - }, - { - "description": "allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-ftruncate" - ] - }, - { - "description": "deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-ftruncate" - ] - }, - { - "description": "allow-lstat -> Enables the lstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-lstat" - ] - }, - { - "description": "deny-lstat -> Denies the lstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-lstat" - ] - }, - { - "description": "allow-mkdir -> Enables the mkdir command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-mkdir" - ] - }, - { - "description": "deny-mkdir -> Denies the mkdir command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-mkdir" - ] - }, - { - "description": "allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-open" - ] - }, - { - "description": "deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-open" - ] - }, - { - "description": "allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read" - ] - }, - { - "description": "deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read" - ] - }, - { - "description": "allow-read-dir -> Enables the read_dir command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-dir" - ] - }, - { - "description": "deny-read-dir -> Denies the read_dir command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-dir" - ] - }, - { - "description": "allow-read-file -> Enables the read_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-file" - ] - }, - { - "description": "deny-read-file -> Denies the read_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-file" - ] - }, - { - "description": "allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-text-file" - ] - }, - { - "description": "deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-text-file" - ] - }, - { - "description": "allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-text-file-lines" - ] - }, - { - "description": "deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-text-file-lines" - ] - }, - { - "description": "allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-text-file-lines-next" - ] - }, - { - "description": "deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-text-file-lines-next" - ] - }, - { - "description": "allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-remove" - ] - }, - { - "description": "deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-remove" - ] - }, - { - "description": "allow-rename -> Enables the rename command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-rename" - ] - }, - { - "description": "deny-rename -> Denies the rename command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-rename" - ] - }, - { - "description": "allow-seek -> Enables the seek command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-seek" - ] - }, - { - "description": "deny-seek -> Denies the seek command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-seek" - ] - }, - { - "description": "allow-stat -> Enables the stat command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-stat" - ] - }, - { - "description": "deny-stat -> Denies the stat command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-stat" - ] - }, - { - "description": "allow-truncate -> Enables the truncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-truncate" - ] - }, - { - "description": "deny-truncate -> Denies the truncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-truncate" - ] - }, - { - "description": "allow-unwatch -> Enables the unwatch command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-unwatch" - ] - }, - { - "description": "deny-unwatch -> Denies the unwatch command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-unwatch" - ] - }, - { - "description": "allow-watch -> Enables the watch command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-watch" - ] - }, - { - "description": "deny-watch -> Denies the watch command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-watch" - ] - }, - { - "description": "allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write" - ] - }, - { - "description": "deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write" - ] - }, - { - "description": "allow-write-file -> Enables the write_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write-file" - ] - }, - { - "description": "deny-write-file -> Denies the write_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write-file" - ] - }, - { - "description": "allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write-text-file" - ] - }, - { - "description": "deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write-text-file" - ] - }, - { - "description": "default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": [ - "default" - ] - }, - { - "description": "deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", - "type": "string", - "enum": [ - "deny-default" - ] - }, - { - "description": "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": [ - "deny-webview-data-linux" - ] - }, - { - "description": "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": [ - "deny-webview-data-windows" - ] - }, - { - "description": "read-all -> This enables all read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "read-all" - ] - }, - { - "description": "read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "read-dirs" - ] - }, - { - "description": "read-files -> This enables file read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "read-files" - ] - }, - { - "description": "read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "read-meta" - ] - }, - { - "description": "write-all -> This enables all write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "write-all" - ] - }, - { - "description": "write-files -> This enables all file write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "write-files" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/fs/permissions/autogenerated/base-directories/app.toml b/plugins/fs/permissions/autogenerated/base-directories/app.toml index e4d3fe775..37eaadcf3 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/app.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/app.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml index f55c534cb..4deca0ff9 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appcache.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appcache.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml index 10b845bdd..e87229a75 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appconfig.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml index cd755a93b..fc080b3ae 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/appdata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/appdata.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml index ae07b0f18..f72202a23 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/applocaldata.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/applog.toml b/plugins/fs/permissions/autogenerated/base-directories/applog.toml index 056553c3c..e345bef85 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/applog.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/applog.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/audio.toml b/plugins/fs/permissions/autogenerated/base-directories/audio.toml index edccc2e9b..adb15d935 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/audio.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/audio.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/cache.toml b/plugins/fs/permissions/autogenerated/base-directories/cache.toml index 960c11847..b9831a77e 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/cache.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/cache.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/config.toml b/plugins/fs/permissions/autogenerated/base-directories/config.toml index f43979e75..6ad6d4b1b 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/config.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/config.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/data.toml b/plugins/fs/permissions/autogenerated/base-directories/data.toml index fbc650ae8..d30423ddf 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/data.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/data.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml index 5e307fc64..4268eb24a 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/desktop.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/desktop.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/document.toml b/plugins/fs/permissions/autogenerated/base-directories/document.toml index df88d83e0..668286dba 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/document.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/document.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/download.toml b/plugins/fs/permissions/autogenerated/base-directories/download.toml index 2723a62be..b9ea94d22 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/download.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/download.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/exe.toml b/plugins/fs/permissions/autogenerated/base-directories/exe.toml index b4819b480..74da907a4 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/exe.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/exe.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/font.toml b/plugins/fs/permissions/autogenerated/base-directories/font.toml index c4b5adf58..13cfcc37a 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/font.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/font.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/home.toml b/plugins/fs/permissions/autogenerated/base-directories/home.toml index 382602c6a..a48d5d763 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/home.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/home.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml index 1ad86b736..6d0633cf4 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/localdata.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/localdata.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/log.toml b/plugins/fs/permissions/autogenerated/base-directories/log.toml index dff691259..81d476e64 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/log.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/log.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/picture.toml b/plugins/fs/permissions/autogenerated/base-directories/picture.toml index 6b8af6c87..5b6c361c2 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/picture.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/picture.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/public.toml b/plugins/fs/permissions/autogenerated/base-directories/public.toml index de8fb684d..56e65f94f 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/public.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/public.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/resource.toml b/plugins/fs/permissions/autogenerated/base-directories/resource.toml index 6409302bd..05dd1a5eb 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/resource.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/resource.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml index 010d202bf..50569412b 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/runtime.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/runtime.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/temp.toml b/plugins/fs/permissions/autogenerated/base-directories/temp.toml index e02a20f62..9e359e953 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/temp.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/temp.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/template.toml b/plugins/fs/permissions/autogenerated/base-directories/template.toml index 00f1f684f..73e6262fe 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/template.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/template.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/autogenerated/base-directories/video.toml b/plugins/fs/permissions/autogenerated/base-directories/video.toml index 8b21a4699..2b73c825b 100644 --- a/plugins/fs/permissions/autogenerated/base-directories/video.toml +++ b/plugins/fs/permissions/autogenerated/base-directories/video.toml @@ -1,6 +1,6 @@ # Automatically generated - DO NOT EDIT! -"$schema" = "../../.schema.json" +"$schema" = "../../schemas/schema.json" # Scopes Section # This section contains scopes, which define file level access diff --git a/plugins/fs/permissions/default.toml b/plugins/fs/permissions/default.toml index 08e247752..213fece0e 100644 --- a/plugins/fs/permissions/default.toml +++ b/plugins/fs/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = """ diff --git a/plugins/fs/permissions/deny-default.toml b/plugins/fs/permissions/deny-default.toml index c4733923c..22d8186ff 100644 --- a/plugins/fs/permissions/deny-default.toml +++ b/plugins/fs/permissions/deny-default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[set]] identifier = "deny-default" diff --git a/plugins/fs/permissions/deny-webview-data.toml b/plugins/fs/permissions/deny-webview-data.toml index 6dbb62dfc..73712d95e 100644 --- a/plugins/fs/permissions/deny-webview-data.toml +++ b/plugins/fs/permissions/deny-webview-data.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[permission]] identifier = "deny-webview-data-linux" diff --git a/plugins/fs/permissions/read-all.toml b/plugins/fs/permissions/read-all.toml index 6d003966d..99cbadf39 100644 --- a/plugins/fs/permissions/read-all.toml +++ b/plugins/fs/permissions/read-all.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[permission]] identifier = "read-all" diff --git a/plugins/fs/permissions/read-dirs.toml b/plugins/fs/permissions/read-dirs.toml index a05e851a8..eb383632d 100644 --- a/plugins/fs/permissions/read-dirs.toml +++ b/plugins/fs/permissions/read-dirs.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[permission]] identifier = "read-dirs" diff --git a/plugins/fs/permissions/read-files.toml b/plugins/fs/permissions/read-files.toml index cba9c2d2e..a0691b44f 100644 --- a/plugins/fs/permissions/read-files.toml +++ b/plugins/fs/permissions/read-files.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[permission]] identifier = "read-files" diff --git a/plugins/fs/permissions/read-meta.toml b/plugins/fs/permissions/read-meta.toml index 567b1a07c..09c731ad6 100644 --- a/plugins/fs/permissions/read-meta.toml +++ b/plugins/fs/permissions/read-meta.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[permission]] identifier = "read-meta" diff --git a/plugins/fs/permissions/schemas/schema.json b/plugins/fs/permissions/schemas/schema.json deleted file mode 100644 index 17839e06f..000000000 --- a/plugins/fs/permissions/schemas/schema.json +++ /dev/null @@ -1,2243 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-app-read-recursive" - ] - }, - { - "description": "allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-app-write-recursive" - ] - }, - { - "description": "allow-app-read -> This allows non-recursive read access to the `$APP` folder.", - "type": "string", - "enum": [ - "allow-app-read" - ] - }, - { - "description": "allow-app-write -> This allows non-recursive write access to the `$APP` folder.", - "type": "string", - "enum": [ - "allow-app-write" - ] - }, - { - "description": "allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-app-meta-recursive" - ] - }, - { - "description": "allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-app-meta" - ] - }, - { - "description": "scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-app-recursive" - ] - }, - { - "description": "scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", - "type": "string", - "enum": [ - "scope-app" - ] - }, - { - "description": "scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", - "type": "string", - "enum": [ - "scope-app-index" - ] - }, - { - "description": "allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appcache-read-recursive" - ] - }, - { - "description": "allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appcache-write-recursive" - ] - }, - { - "description": "allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "allow-appcache-read" - ] - }, - { - "description": "allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "allow-appcache-write" - ] - }, - { - "description": "allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appcache-meta-recursive" - ] - }, - { - "description": "allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appcache-meta" - ] - }, - { - "description": "scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-appcache-recursive" - ] - }, - { - "description": "scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", - "type": "string", - "enum": [ - "scope-appcache" - ] - }, - { - "description": "scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", - "type": "string", - "enum": [ - "scope-appcache-index" - ] - }, - { - "description": "allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appconfig-read-recursive" - ] - }, - { - "description": "allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appconfig-write-recursive" - ] - }, - { - "description": "allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "allow-appconfig-read" - ] - }, - { - "description": "allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "allow-appconfig-write" - ] - }, - { - "description": "allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appconfig-meta-recursive" - ] - }, - { - "description": "allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appconfig-meta" - ] - }, - { - "description": "scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-appconfig-recursive" - ] - }, - { - "description": "scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", - "type": "string", - "enum": [ - "scope-appconfig" - ] - }, - { - "description": "scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", - "type": "string", - "enum": [ - "scope-appconfig-index" - ] - }, - { - "description": "allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appdata-read-recursive" - ] - }, - { - "description": "allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-appdata-write-recursive" - ] - }, - { - "description": "allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", - "type": "string", - "enum": [ - "allow-appdata-read" - ] - }, - { - "description": "allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", - "type": "string", - "enum": [ - "allow-appdata-write" - ] - }, - { - "description": "allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appdata-meta-recursive" - ] - }, - { - "description": "allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-appdata-meta" - ] - }, - { - "description": "scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-appdata-recursive" - ] - }, - { - "description": "scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", - "type": "string", - "enum": [ - "scope-appdata" - ] - }, - { - "description": "scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", - "type": "string", - "enum": [ - "scope-appdata-index" - ] - }, - { - "description": "allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-applocaldata-read-recursive" - ] - }, - { - "description": "allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-applocaldata-write-recursive" - ] - }, - { - "description": "allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "allow-applocaldata-read" - ] - }, - { - "description": "allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "allow-applocaldata-write" - ] - }, - { - "description": "allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-applocaldata-meta-recursive" - ] - }, - { - "description": "allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-applocaldata-meta" - ] - }, - { - "description": "scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-applocaldata-recursive" - ] - }, - { - "description": "scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", - "type": "string", - "enum": [ - "scope-applocaldata" - ] - }, - { - "description": "scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", - "type": "string", - "enum": [ - "scope-applocaldata-index" - ] - }, - { - "description": "allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-applog-read-recursive" - ] - }, - { - "description": "allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-applog-write-recursive" - ] - }, - { - "description": "allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", - "type": "string", - "enum": [ - "allow-applog-read" - ] - }, - { - "description": "allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", - "type": "string", - "enum": [ - "allow-applog-write" - ] - }, - { - "description": "allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-applog-meta-recursive" - ] - }, - { - "description": "allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-applog-meta" - ] - }, - { - "description": "scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-applog-recursive" - ] - }, - { - "description": "scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", - "type": "string", - "enum": [ - "scope-applog" - ] - }, - { - "description": "scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", - "type": "string", - "enum": [ - "scope-applog-index" - ] - }, - { - "description": "allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-audio-read-recursive" - ] - }, - { - "description": "allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-audio-write-recursive" - ] - }, - { - "description": "allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", - "type": "string", - "enum": [ - "allow-audio-read" - ] - }, - { - "description": "allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", - "type": "string", - "enum": [ - "allow-audio-write" - ] - }, - { - "description": "allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-audio-meta-recursive" - ] - }, - { - "description": "allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-audio-meta" - ] - }, - { - "description": "scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-audio-recursive" - ] - }, - { - "description": "scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", - "type": "string", - "enum": [ - "scope-audio" - ] - }, - { - "description": "scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", - "type": "string", - "enum": [ - "scope-audio-index" - ] - }, - { - "description": "allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-cache-read-recursive" - ] - }, - { - "description": "allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-cache-write-recursive" - ] - }, - { - "description": "allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", - "type": "string", - "enum": [ - "allow-cache-read" - ] - }, - { - "description": "allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", - "type": "string", - "enum": [ - "allow-cache-write" - ] - }, - { - "description": "allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-cache-meta-recursive" - ] - }, - { - "description": "allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-cache-meta" - ] - }, - { - "description": "scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-cache-recursive" - ] - }, - { - "description": "scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", - "type": "string", - "enum": [ - "scope-cache" - ] - }, - { - "description": "scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", - "type": "string", - "enum": [ - "scope-cache-index" - ] - }, - { - "description": "allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-config-read-recursive" - ] - }, - { - "description": "allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-config-write-recursive" - ] - }, - { - "description": "allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", - "type": "string", - "enum": [ - "allow-config-read" - ] - }, - { - "description": "allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", - "type": "string", - "enum": [ - "allow-config-write" - ] - }, - { - "description": "allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-config-meta-recursive" - ] - }, - { - "description": "allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-config-meta" - ] - }, - { - "description": "scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-config-recursive" - ] - }, - { - "description": "scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", - "type": "string", - "enum": [ - "scope-config" - ] - }, - { - "description": "scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", - "type": "string", - "enum": [ - "scope-config-index" - ] - }, - { - "description": "allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-data-read-recursive" - ] - }, - { - "description": "allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-data-write-recursive" - ] - }, - { - "description": "allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", - "type": "string", - "enum": [ - "allow-data-read" - ] - }, - { - "description": "allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", - "type": "string", - "enum": [ - "allow-data-write" - ] - }, - { - "description": "allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-data-meta-recursive" - ] - }, - { - "description": "allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-data-meta" - ] - }, - { - "description": "scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-data-recursive" - ] - }, - { - "description": "scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", - "type": "string", - "enum": [ - "scope-data" - ] - }, - { - "description": "scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", - "type": "string", - "enum": [ - "scope-data-index" - ] - }, - { - "description": "allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-desktop-read-recursive" - ] - }, - { - "description": "allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-desktop-write-recursive" - ] - }, - { - "description": "allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "allow-desktop-read" - ] - }, - { - "description": "allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "allow-desktop-write" - ] - }, - { - "description": "allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-desktop-meta-recursive" - ] - }, - { - "description": "allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-desktop-meta" - ] - }, - { - "description": "scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-desktop-recursive" - ] - }, - { - "description": "scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", - "type": "string", - "enum": [ - "scope-desktop" - ] - }, - { - "description": "scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", - "type": "string", - "enum": [ - "scope-desktop-index" - ] - }, - { - "description": "allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-document-read-recursive" - ] - }, - { - "description": "allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-document-write-recursive" - ] - }, - { - "description": "allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "allow-document-read" - ] - }, - { - "description": "allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "allow-document-write" - ] - }, - { - "description": "allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-document-meta-recursive" - ] - }, - { - "description": "allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-document-meta" - ] - }, - { - "description": "scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-document-recursive" - ] - }, - { - "description": "scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", - "type": "string", - "enum": [ - "scope-document" - ] - }, - { - "description": "scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", - "type": "string", - "enum": [ - "scope-document-index" - ] - }, - { - "description": "allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-download-read-recursive" - ] - }, - { - "description": "allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-download-write-recursive" - ] - }, - { - "description": "allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "allow-download-read" - ] - }, - { - "description": "allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "allow-download-write" - ] - }, - { - "description": "allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-download-meta-recursive" - ] - }, - { - "description": "allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-download-meta" - ] - }, - { - "description": "scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-download-recursive" - ] - }, - { - "description": "scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", - "type": "string", - "enum": [ - "scope-download" - ] - }, - { - "description": "scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", - "type": "string", - "enum": [ - "scope-download-index" - ] - }, - { - "description": "allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-exe-read-recursive" - ] - }, - { - "description": "allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-exe-write-recursive" - ] - }, - { - "description": "allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", - "type": "string", - "enum": [ - "allow-exe-read" - ] - }, - { - "description": "allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", - "type": "string", - "enum": [ - "allow-exe-write" - ] - }, - { - "description": "allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-exe-meta-recursive" - ] - }, - { - "description": "allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-exe-meta" - ] - }, - { - "description": "scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-exe-recursive" - ] - }, - { - "description": "scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", - "type": "string", - "enum": [ - "scope-exe" - ] - }, - { - "description": "scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", - "type": "string", - "enum": [ - "scope-exe-index" - ] - }, - { - "description": "allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-font-read-recursive" - ] - }, - { - "description": "allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-font-write-recursive" - ] - }, - { - "description": "allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", - "type": "string", - "enum": [ - "allow-font-read" - ] - }, - { - "description": "allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", - "type": "string", - "enum": [ - "allow-font-write" - ] - }, - { - "description": "allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-font-meta-recursive" - ] - }, - { - "description": "allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-font-meta" - ] - }, - { - "description": "scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-font-recursive" - ] - }, - { - "description": "scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", - "type": "string", - "enum": [ - "scope-font" - ] - }, - { - "description": "scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", - "type": "string", - "enum": [ - "scope-font-index" - ] - }, - { - "description": "allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-home-read-recursive" - ] - }, - { - "description": "allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-home-write-recursive" - ] - }, - { - "description": "allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", - "type": "string", - "enum": [ - "allow-home-read" - ] - }, - { - "description": "allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", - "type": "string", - "enum": [ - "allow-home-write" - ] - }, - { - "description": "allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-home-meta-recursive" - ] - }, - { - "description": "allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-home-meta" - ] - }, - { - "description": "scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-home-recursive" - ] - }, - { - "description": "scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", - "type": "string", - "enum": [ - "scope-home" - ] - }, - { - "description": "scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", - "type": "string", - "enum": [ - "scope-home-index" - ] - }, - { - "description": "allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-localdata-read-recursive" - ] - }, - { - "description": "allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-localdata-write-recursive" - ] - }, - { - "description": "allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "allow-localdata-read" - ] - }, - { - "description": "allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "allow-localdata-write" - ] - }, - { - "description": "allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-localdata-meta-recursive" - ] - }, - { - "description": "allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-localdata-meta" - ] - }, - { - "description": "scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-localdata-recursive" - ] - }, - { - "description": "scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", - "type": "string", - "enum": [ - "scope-localdata" - ] - }, - { - "description": "scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", - "type": "string", - "enum": [ - "scope-localdata-index" - ] - }, - { - "description": "allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-log-read-recursive" - ] - }, - { - "description": "allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-log-write-recursive" - ] - }, - { - "description": "allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", - "type": "string", - "enum": [ - "allow-log-read" - ] - }, - { - "description": "allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", - "type": "string", - "enum": [ - "allow-log-write" - ] - }, - { - "description": "allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-log-meta-recursive" - ] - }, - { - "description": "allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-log-meta" - ] - }, - { - "description": "scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-log-recursive" - ] - }, - { - "description": "scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", - "type": "string", - "enum": [ - "scope-log" - ] - }, - { - "description": "scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", - "type": "string", - "enum": [ - "scope-log-index" - ] - }, - { - "description": "allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-picture-read-recursive" - ] - }, - { - "description": "allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-picture-write-recursive" - ] - }, - { - "description": "allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", - "type": "string", - "enum": [ - "allow-picture-read" - ] - }, - { - "description": "allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", - "type": "string", - "enum": [ - "allow-picture-write" - ] - }, - { - "description": "allow-picture-meta-recursive -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-picture-meta-recursive" - ] - }, - { - "description": "allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-picture-meta" - ] - }, - { - "description": "scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-picture-recursive" - ] - }, - { - "description": "scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.", - "type": "string", - "enum": [ - "scope-picture" - ] - }, - { - "description": "scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", - "type": "string", - "enum": [ - "scope-picture-index" - ] - }, - { - "description": "allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-public-read-recursive" - ] - }, - { - "description": "allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-public-write-recursive" - ] - }, - { - "description": "allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "allow-public-read" - ] - }, - { - "description": "allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "allow-public-write" - ] - }, - { - "description": "allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-public-meta-recursive" - ] - }, - { - "description": "allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-public-meta" - ] - }, - { - "description": "scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-public-recursive" - ] - }, - { - "description": "scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", - "type": "string", - "enum": [ - "scope-public" - ] - }, - { - "description": "scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", - "type": "string", - "enum": [ - "scope-public-index" - ] - }, - { - "description": "allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-resource-read-recursive" - ] - }, - { - "description": "allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-resource-write-recursive" - ] - }, - { - "description": "allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "allow-resource-read" - ] - }, - { - "description": "allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "allow-resource-write" - ] - }, - { - "description": "allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-resource-meta-recursive" - ] - }, - { - "description": "allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-resource-meta" - ] - }, - { - "description": "scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-resource-recursive" - ] - }, - { - "description": "scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", - "type": "string", - "enum": [ - "scope-resource" - ] - }, - { - "description": "scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", - "type": "string", - "enum": [ - "scope-resource-index" - ] - }, - { - "description": "allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-runtime-read-recursive" - ] - }, - { - "description": "allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-runtime-write-recursive" - ] - }, - { - "description": "allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "allow-runtime-read" - ] - }, - { - "description": "allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "allow-runtime-write" - ] - }, - { - "description": "allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-runtime-meta-recursive" - ] - }, - { - "description": "allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-runtime-meta" - ] - }, - { - "description": "scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-runtime-recursive" - ] - }, - { - "description": "scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", - "type": "string", - "enum": [ - "scope-runtime" - ] - }, - { - "description": "scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", - "type": "string", - "enum": [ - "scope-runtime-index" - ] - }, - { - "description": "allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-temp-read-recursive" - ] - }, - { - "description": "allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-temp-write-recursive" - ] - }, - { - "description": "allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", - "type": "string", - "enum": [ - "allow-temp-read" - ] - }, - { - "description": "allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", - "type": "string", - "enum": [ - "allow-temp-write" - ] - }, - { - "description": "allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-temp-meta-recursive" - ] - }, - { - "description": "allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-temp-meta" - ] - }, - { - "description": "scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-temp-recursive" - ] - }, - { - "description": "scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", - "type": "string", - "enum": [ - "scope-temp" - ] - }, - { - "description": "scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", - "type": "string", - "enum": [ - "scope-temp-index" - ] - }, - { - "description": "allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-template-read-recursive" - ] - }, - { - "description": "allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-template-write-recursive" - ] - }, - { - "description": "allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "allow-template-read" - ] - }, - { - "description": "allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "allow-template-write" - ] - }, - { - "description": "allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-template-meta-recursive" - ] - }, - { - "description": "allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-template-meta" - ] - }, - { - "description": "scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-template-recursive" - ] - }, - { - "description": "scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", - "type": "string", - "enum": [ - "scope-template" - ] - }, - { - "description": "scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", - "type": "string", - "enum": [ - "scope-template-index" - ] - }, - { - "description": "allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-video-read-recursive" - ] - }, - { - "description": "allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "allow-video-write-recursive" - ] - }, - { - "description": "allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", - "type": "string", - "enum": [ - "allow-video-read" - ] - }, - { - "description": "allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", - "type": "string", - "enum": [ - "allow-video-write" - ] - }, - { - "description": "allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-video-meta-recursive" - ] - }, - { - "description": "allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "allow-video-meta" - ] - }, - { - "description": "scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", - "type": "string", - "enum": [ - "scope-video-recursive" - ] - }, - { - "description": "scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", - "type": "string", - "enum": [ - "scope-video" - ] - }, - { - "description": "scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", - "type": "string", - "enum": [ - "scope-video-index" - ] - }, - { - "description": "allow-copy-file -> Enables the copy_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-copy-file" - ] - }, - { - "description": "deny-copy-file -> Denies the copy_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-copy-file" - ] - }, - { - "description": "allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-create" - ] - }, - { - "description": "deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-create" - ] - }, - { - "description": "allow-exists -> Enables the exists command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-exists" - ] - }, - { - "description": "deny-exists -> Denies the exists command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-exists" - ] - }, - { - "description": "allow-fstat -> Enables the fstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fstat" - ] - }, - { - "description": "deny-fstat -> Denies the fstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fstat" - ] - }, - { - "description": "allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-ftruncate" - ] - }, - { - "description": "deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-ftruncate" - ] - }, - { - "description": "allow-lstat -> Enables the lstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-lstat" - ] - }, - { - "description": "deny-lstat -> Denies the lstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-lstat" - ] - }, - { - "description": "allow-mkdir -> Enables the mkdir command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-mkdir" - ] - }, - { - "description": "deny-mkdir -> Denies the mkdir command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-mkdir" - ] - }, - { - "description": "allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-open" - ] - }, - { - "description": "deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-open" - ] - }, - { - "description": "allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read" - ] - }, - { - "description": "deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read" - ] - }, - { - "description": "allow-read-dir -> Enables the read_dir command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-dir" - ] - }, - { - "description": "deny-read-dir -> Denies the read_dir command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-dir" - ] - }, - { - "description": "allow-read-file -> Enables the read_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-file" - ] - }, - { - "description": "deny-read-file -> Denies the read_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-file" - ] - }, - { - "description": "allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-text-file" - ] - }, - { - "description": "deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-text-file" - ] - }, - { - "description": "allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-text-file-lines" - ] - }, - { - "description": "deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-text-file-lines" - ] - }, - { - "description": "allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-read-text-file-lines-next" - ] - }, - { - "description": "deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-read-text-file-lines-next" - ] - }, - { - "description": "allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-remove" - ] - }, - { - "description": "deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-remove" - ] - }, - { - "description": "allow-rename -> Enables the rename command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-rename" - ] - }, - { - "description": "deny-rename -> Denies the rename command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-rename" - ] - }, - { - "description": "allow-seek -> Enables the seek command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-seek" - ] - }, - { - "description": "deny-seek -> Denies the seek command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-seek" - ] - }, - { - "description": "allow-stat -> Enables the stat command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-stat" - ] - }, - { - "description": "deny-stat -> Denies the stat command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-stat" - ] - }, - { - "description": "allow-truncate -> Enables the truncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-truncate" - ] - }, - { - "description": "deny-truncate -> Denies the truncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-truncate" - ] - }, - { - "description": "allow-unwatch -> Enables the unwatch command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-unwatch" - ] - }, - { - "description": "deny-unwatch -> Denies the unwatch command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-unwatch" - ] - }, - { - "description": "allow-watch -> Enables the watch command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-watch" - ] - }, - { - "description": "deny-watch -> Denies the watch command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-watch" - ] - }, - { - "description": "allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write" - ] - }, - { - "description": "deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write" - ] - }, - { - "description": "allow-write-file -> Enables the write_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write-file" - ] - }, - { - "description": "deny-write-file -> Denies the write_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write-file" - ] - }, - { - "description": "allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write-text-file" - ] - }, - { - "description": "deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write-text-file" - ] - }, - { - "description": "default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": [ - "default" - ] - }, - { - "description": "deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", - "type": "string", - "enum": [ - "deny-default" - ] - }, - { - "description": "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": [ - "deny-webview-data-linux" - ] - }, - { - "description": "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": [ - "deny-webview-data-windows" - ] - }, - { - "description": "read-all -> This enables all read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "read-all" - ] - }, - { - "description": "read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "read-dirs" - ] - }, - { - "description": "read-files -> This enables file read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "read-files" - ] - }, - { - "description": "read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "read-meta" - ] - }, - { - "description": "write-all -> This enables all write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "write-all" - ] - }, - { - "description": "write-files -> This enables all file write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "write-files" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/fs/permissions/scope.toml b/plugins/fs/permissions/scope.toml index 1ffcda296..7e945aa8b 100644 --- a/plugins/fs/permissions/scope.toml +++ b/plugins/fs/permissions/scope.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[permission]] identifier = "scope" diff --git a/plugins/fs/permissions/write-all.toml b/plugins/fs/permissions/write-all.toml index b1eb345c3..55a512ded 100644 --- a/plugins/fs/permissions/write-all.toml +++ b/plugins/fs/permissions/write-all.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[permission]] identifier = "write-all" diff --git a/plugins/fs/permissions/write-files.toml b/plugins/fs/permissions/write-files.toml index 55a1399ca..239bc60d7 100644 --- a/plugins/fs/permissions/write-files.toml +++ b/plugins/fs/permissions/write-files.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [[permission]] identifier = "write-files" diff --git a/plugins/global-shortcut/permissions/.dgitignore b/plugins/global-shortcut/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/global-shortcut/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/global-shortcut/permissions/.gitignore b/plugins/global-shortcut/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/global-shortcut/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/global-shortcut/permissions/.schema.json b/plugins/global-shortcut/permissions/.schema.json deleted file mode 100644 index 8f09cd75b..000000000 --- a/plugins/global-shortcut/permissions/.schema.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-is-registered -> Enables the is_registered command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-is-registered" - ] - }, - { - "description": "deny-is-registered -> Denies the is_registered command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-is-registered" - ] - }, - { - "description": "allow-register -> Enables the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-register" - ] - }, - { - "description": "deny-register -> Denies the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-register" - ] - }, - { - "description": "allow-register-all -> Enables the register_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-register-all" - ] - }, - { - "description": "deny-register-all -> Denies the register_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-register-all" - ] - }, - { - "description": "allow-unregister -> Enables the unregister command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-unregister" - ] - }, - { - "description": "deny-unregister -> Denies the unregister command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-unregister" - ] - }, - { - "description": "allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-unregister-all" - ] - }, - { - "description": "deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-unregister-all" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/global-shortcut/permissions/schemas/schema.json b/plugins/global-shortcut/permissions/schemas/schema.json deleted file mode 100644 index 8f09cd75b..000000000 --- a/plugins/global-shortcut/permissions/schemas/schema.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-is-registered -> Enables the is_registered command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-is-registered" - ] - }, - { - "description": "deny-is-registered -> Denies the is_registered command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-is-registered" - ] - }, - { - "description": "allow-register -> Enables the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-register" - ] - }, - { - "description": "deny-register -> Denies the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-register" - ] - }, - { - "description": "allow-register-all -> Enables the register_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-register-all" - ] - }, - { - "description": "deny-register-all -> Denies the register_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-register-all" - ] - }, - { - "description": "allow-unregister -> Enables the unregister command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-unregister" - ] - }, - { - "description": "deny-unregister -> Denies the unregister command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-unregister" - ] - }, - { - "description": "allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-unregister-all" - ] - }, - { - "description": "deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-unregister-all" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/http/permissions/.dgitignore b/plugins/http/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/http/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/http/permissions/.gitignore b/plugins/http/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/http/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/http/permissions/.schema.json b/plugins/http/permissions/.schema.json deleted file mode 100644 index 01081fce6..000000000 --- a/plugins/http/permissions/.schema.json +++ /dev/null @@ -1,325 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-fetch -> Enables the fetch command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fetch" - ] - }, - { - "description": "deny-fetch -> Denies the fetch command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fetch" - ] - }, - { - "description": "allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fetch-cancel" - ] - }, - { - "description": "deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fetch-cancel" - ] - }, - { - "description": "allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fetch-read-body" - ] - }, - { - "description": "deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fetch-read-body" - ] - }, - { - "description": "allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fetch-send" - ] - }, - { - "description": "deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fetch-send" - ] - }, - { - "description": "default -> Allows all fetch operations", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/http/permissions/default.toml b/plugins/http/permissions/default.toml index 18d640e25..fd7802b43 100644 --- a/plugins/http/permissions/default.toml +++ b/plugins/http/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = "Allows all fetch operations" permissions = [ diff --git a/plugins/http/permissions/schemas/schema.json b/plugins/http/permissions/schemas/schema.json deleted file mode 100644 index 01081fce6..000000000 --- a/plugins/http/permissions/schemas/schema.json +++ /dev/null @@ -1,325 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-fetch -> Enables the fetch command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fetch" - ] - }, - { - "description": "deny-fetch -> Denies the fetch command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fetch" - ] - }, - { - "description": "allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fetch-cancel" - ] - }, - { - "description": "deny-fetch-cancel -> Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fetch-cancel" - ] - }, - { - "description": "allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fetch-read-body" - ] - }, - { - "description": "deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fetch-read-body" - ] - }, - { - "description": "allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-fetch-send" - ] - }, - { - "description": "deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-fetch-send" - ] - }, - { - "description": "default -> Allows all fetch operations", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/log/permissions/.dgitignore b/plugins/log/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/log/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/log/permissions/.gitignore b/plugins/log/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/log/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/log/permissions/.schema.json b/plugins/log/permissions/.schema.json deleted file mode 100644 index d6886df56..000000000 --- a/plugins/log/permissions/.schema.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-log -> Enables the log command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-log" - ] - }, - { - "description": "deny-log -> Denies the log command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-log" - ] - }, - { - "description": "default -> Allows the log command", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/log/permissions/default.toml b/plugins/log/permissions/default.toml index 1560a84b7..b2cb7c3ae 100644 --- a/plugins/log/permissions/default.toml +++ b/plugins/log/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = "Allows the log command" permissions = ["allow-log"] diff --git a/plugins/log/permissions/schemas/schema.json b/plugins/log/permissions/schemas/schema.json deleted file mode 100644 index d6886df56..000000000 --- a/plugins/log/permissions/schemas/schema.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-log -> Enables the log command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-log" - ] - }, - { - "description": "deny-log -> Denies the log command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-log" - ] - }, - { - "description": "default -> Allows the log command", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/nfc/permissions/.dgitignore b/plugins/nfc/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/nfc/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/nfc/permissions/.gitignore b/plugins/nfc/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/nfc/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/nfc/permissions/.schema.json b/plugins/nfc/permissions/.schema.json deleted file mode 100644 index 122f4d502..000000000 --- a/plugins/nfc/permissions/.schema.json +++ /dev/null @@ -1,304 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-is-available -> Enables the is_available command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-is-available" - ] - }, - { - "description": "deny-is-available -> Denies the is_available command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-is-available" - ] - }, - { - "description": "allow-scan -> Enables the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-scan" - ] - }, - { - "description": "deny-scan -> Denies the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-scan" - ] - }, - { - "description": "allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write" - ] - }, - { - "description": "deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/nfc/permissions/schemas/schema.json b/plugins/nfc/permissions/schemas/schema.json deleted file mode 100644 index 122f4d502..000000000 --- a/plugins/nfc/permissions/schemas/schema.json +++ /dev/null @@ -1,304 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-is-available -> Enables the is_available command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-is-available" - ] - }, - { - "description": "deny-is-available -> Denies the is_available command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-is-available" - ] - }, - { - "description": "allow-scan -> Enables the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-scan" - ] - }, - { - "description": "deny-scan -> Denies the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-scan" - ] - }, - { - "description": "allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-write" - ] - }, - { - "description": "deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-write" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/notification/permissions/.dgitignore b/plugins/notification/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/notification/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/notification/permissions/.gitignore b/plugins/notification/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/notification/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/notification/permissions/.schema.json b/plugins/notification/permissions/.schema.json deleted file mode 100644 index 7d4f163bc..000000000 --- a/plugins/notification/permissions/.schema.json +++ /dev/null @@ -1,311 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-is-permission-granted" - ] - }, - { - "description": "deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-is-permission-granted" - ] - }, - { - "description": "allow-notify -> Enables the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-notify" - ] - }, - { - "description": "deny-notify -> Denies the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-notify" - ] - }, - { - "description": "allow-request-permission -> Enables the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-request-permission" - ] - }, - { - "description": "deny-request-permission -> Denies the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-request-permission" - ] - }, - { - "description": "default -> Allows requesting permission, checking permission state and sending notifications", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/notification/permissions/default.toml b/plugins/notification/permissions/default.toml index 54b8ce650..2bd851428 100644 --- a/plugins/notification/permissions/default.toml +++ b/plugins/notification/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = "Allows requesting permission, checking permission state and sending notifications" permissions = [ diff --git a/plugins/notification/permissions/schemas/schema.json b/plugins/notification/permissions/schemas/schema.json deleted file mode 100644 index 7d4f163bc..000000000 --- a/plugins/notification/permissions/schemas/schema.json +++ /dev/null @@ -1,311 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-is-permission-granted" - ] - }, - { - "description": "deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-is-permission-granted" - ] - }, - { - "description": "allow-notify -> Enables the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-notify" - ] - }, - { - "description": "deny-notify -> Denies the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-notify" - ] - }, - { - "description": "allow-request-permission -> Enables the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-request-permission" - ] - }, - { - "description": "deny-request-permission -> Denies the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-request-permission" - ] - }, - { - "description": "default -> Allows requesting permission, checking permission state and sending notifications", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/os/permissions/.dgitignore b/plugins/os/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/os/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/os/permissions/.gitignore b/plugins/os/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/os/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/os/permissions/.schema.json b/plugins/os/permissions/.schema.json deleted file mode 100644 index 7cc37477f..000000000 --- a/plugins/os/permissions/.schema.json +++ /dev/null @@ -1,374 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-arch -> Enables the arch command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-arch" - ] - }, - { - "description": "deny-arch -> Denies the arch command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-arch" - ] - }, - { - "description": "allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-exe-extension" - ] - }, - { - "description": "deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-exe-extension" - ] - }, - { - "description": "allow-family -> Enables the family command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-family" - ] - }, - { - "description": "deny-family -> Denies the family command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-family" - ] - }, - { - "description": "allow-hostname -> Enables the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-hostname" - ] - }, - { - "description": "deny-hostname -> Denies the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-hostname" - ] - }, - { - "description": "allow-locale -> Enables the locale command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-locale" - ] - }, - { - "description": "deny-locale -> Denies the locale command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-locale" - ] - }, - { - "description": "allow-os-type -> Enables the os_type command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-os-type" - ] - }, - { - "description": "deny-os-type -> Denies the os_type command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-os-type" - ] - }, - { - "description": "allow-platform -> Enables the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-platform" - ] - }, - { - "description": "deny-platform -> Denies the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-platform" - ] - }, - { - "description": "allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-version" - ] - }, - { - "description": "deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-version" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/os/permissions/schemas/schema.json b/plugins/os/permissions/schemas/schema.json deleted file mode 100644 index 7cc37477f..000000000 --- a/plugins/os/permissions/schemas/schema.json +++ /dev/null @@ -1,374 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-arch -> Enables the arch command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-arch" - ] - }, - { - "description": "deny-arch -> Denies the arch command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-arch" - ] - }, - { - "description": "allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-exe-extension" - ] - }, - { - "description": "deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-exe-extension" - ] - }, - { - "description": "allow-family -> Enables the family command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-family" - ] - }, - { - "description": "deny-family -> Denies the family command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-family" - ] - }, - { - "description": "allow-hostname -> Enables the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-hostname" - ] - }, - { - "description": "deny-hostname -> Denies the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-hostname" - ] - }, - { - "description": "allow-locale -> Enables the locale command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-locale" - ] - }, - { - "description": "deny-locale -> Denies the locale command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-locale" - ] - }, - { - "description": "allow-os-type -> Enables the os_type command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-os-type" - ] - }, - { - "description": "deny-os-type -> Denies the os_type command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-os-type" - ] - }, - { - "description": "allow-platform -> Enables the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-platform" - ] - }, - { - "description": "deny-platform -> Denies the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-platform" - ] - }, - { - "description": "allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-version" - ] - }, - { - "description": "deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-version" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/positioner/permissions/.dgitignore b/plugins/positioner/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/positioner/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/positioner/permissions/.gitignore b/plugins/positioner/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/positioner/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/positioner/permissions/.schema.json b/plugins/positioner/permissions/.schema.json deleted file mode 100644 index 03efaeb0f..000000000 --- a/plugins/positioner/permissions/.schema.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-move-window -> Enables the move_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-move-window" - ] - }, - { - "description": "deny-move-window -> Denies the move_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-move-window" - ] - }, - { - "description": "default -> Allows the move_window command", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/positioner/permissions/default.toml b/plugins/positioner/permissions/default.toml index abf45c176..b0b3b3e29 100644 --- a/plugins/positioner/permissions/default.toml +++ b/plugins/positioner/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = "Allows the move_window command" permissions = ["allow-move-window"] diff --git a/plugins/positioner/permissions/schemas/schema.json b/plugins/positioner/permissions/schemas/schema.json deleted file mode 100644 index 03efaeb0f..000000000 --- a/plugins/positioner/permissions/schemas/schema.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-move-window -> Enables the move_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-move-window" - ] - }, - { - "description": "deny-move-window -> Denies the move_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-move-window" - ] - }, - { - "description": "default -> Allows the move_window command", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/process/permissions/.dgitignore b/plugins/process/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/process/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/process/permissions/.gitignore b/plugins/process/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/process/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/process/permissions/.schema.json b/plugins/process/permissions/.schema.json deleted file mode 100644 index 289a69ca0..000000000 --- a/plugins/process/permissions/.schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-exit -> Enables the exit command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-exit" - ] - }, - { - "description": "deny-exit -> Denies the exit command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-exit" - ] - }, - { - "description": "allow-restart -> Enables the restart command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-restart" - ] - }, - { - "description": "deny-restart -> Denies the restart command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-restart" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/process/permissions/schemas/schema.json b/plugins/process/permissions/schemas/schema.json deleted file mode 100644 index 289a69ca0..000000000 --- a/plugins/process/permissions/schemas/schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-exit -> Enables the exit command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-exit" - ] - }, - { - "description": "deny-exit -> Denies the exit command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-exit" - ] - }, - { - "description": "allow-restart -> Enables the restart command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-restart" - ] - }, - { - "description": "deny-restart -> Denies the restart command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-restart" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/shell/permissions/.dgitignore b/plugins/shell/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/shell/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/shell/permissions/.gitignore b/plugins/shell/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/shell/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/shell/permissions/.schema.json b/plugins/shell/permissions/.schema.json deleted file mode 100644 index 60adaec6e..000000000 --- a/plugins/shell/permissions/.schema.json +++ /dev/null @@ -1,318 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-execute -> Enables the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-execute" - ] - }, - { - "description": "deny-execute -> Denies the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-execute" - ] - }, - { - "description": "allow-kill -> Enables the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-kill" - ] - }, - { - "description": "deny-kill -> Denies the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-kill" - ] - }, - { - "description": "allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-open" - ] - }, - { - "description": "deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-open" - ] - }, - { - "description": "allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-stdin-write" - ] - }, - { - "description": "deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-stdin-write" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/shell/permissions/schemas/schema.json b/plugins/shell/permissions/schemas/schema.json deleted file mode 100644 index 60adaec6e..000000000 --- a/plugins/shell/permissions/schemas/schema.json +++ /dev/null @@ -1,318 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-execute -> Enables the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-execute" - ] - }, - { - "description": "deny-execute -> Denies the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-execute" - ] - }, - { - "description": "allow-kill -> Enables the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-kill" - ] - }, - { - "description": "deny-kill -> Denies the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-kill" - ] - }, - { - "description": "allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-open" - ] - }, - { - "description": "deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-open" - ] - }, - { - "description": "allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-stdin-write" - ] - }, - { - "description": "deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-stdin-write" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/sql/permissions/.dgitignore b/plugins/sql/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/sql/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/sql/permissions/.gitignore b/plugins/sql/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/sql/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/sql/permissions/.schema.json b/plugins/sql/permissions/.schema.json deleted file mode 100644 index 71ae11de1..000000000 --- a/plugins/sql/permissions/.schema.json +++ /dev/null @@ -1,318 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-close" - ] - }, - { - "description": "deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-close" - ] - }, - { - "description": "allow-execute -> Enables the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-execute" - ] - }, - { - "description": "deny-execute -> Denies the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-execute" - ] - }, - { - "description": "allow-load -> Enables the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-load" - ] - }, - { - "description": "deny-load -> Denies the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-load" - ] - }, - { - "description": "allow-select -> Enables the select command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-select" - ] - }, - { - "description": "deny-select -> Denies the select command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-select" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/sql/permissions/schemas/schema.json b/plugins/sql/permissions/schemas/schema.json deleted file mode 100644 index 71ae11de1..000000000 --- a/plugins/sql/permissions/schemas/schema.json +++ /dev/null @@ -1,318 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-close" - ] - }, - { - "description": "deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-close" - ] - }, - { - "description": "allow-execute -> Enables the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-execute" - ] - }, - { - "description": "deny-execute -> Denies the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-execute" - ] - }, - { - "description": "allow-load -> Enables the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-load" - ] - }, - { - "description": "deny-load -> Denies the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-load" - ] - }, - { - "description": "allow-select -> Enables the select command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-select" - ] - }, - { - "description": "deny-select -> Denies the select command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-select" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/store/permissions/.dgitignore b/plugins/store/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/store/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/store/permissions/.gitignore b/plugins/store/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/store/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/store/permissions/.schema.json b/plugins/store/permissions/.schema.json deleted file mode 100644 index db950d7c7..000000000 --- a/plugins/store/permissions/.schema.json +++ /dev/null @@ -1,430 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-clear -> Enables the clear command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-clear" - ] - }, - { - "description": "deny-clear -> Denies the clear command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-clear" - ] - }, - { - "description": "allow-delete -> Enables the delete command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-delete" - ] - }, - { - "description": "deny-delete -> Denies the delete command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-delete" - ] - }, - { - "description": "allow-entries -> Enables the entries command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-entries" - ] - }, - { - "description": "deny-entries -> Denies the entries command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-entries" - ] - }, - { - "description": "allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-get" - ] - }, - { - "description": "deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-get" - ] - }, - { - "description": "allow-has -> Enables the has command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-has" - ] - }, - { - "description": "deny-has -> Denies the has command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-has" - ] - }, - { - "description": "allow-keys -> Enables the keys command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-keys" - ] - }, - { - "description": "deny-keys -> Denies the keys command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-keys" - ] - }, - { - "description": "allow-length -> Enables the length command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-length" - ] - }, - { - "description": "deny-length -> Denies the length command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-length" - ] - }, - { - "description": "allow-load -> Enables the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-load" - ] - }, - { - "description": "deny-load -> Denies the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-load" - ] - }, - { - "description": "allow-reset -> Enables the reset command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-reset" - ] - }, - { - "description": "deny-reset -> Denies the reset command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-reset" - ] - }, - { - "description": "allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save" - ] - }, - { - "description": "deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save" - ] - }, - { - "description": "allow-set -> Enables the set command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-set" - ] - }, - { - "description": "deny-set -> Denies the set command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-set" - ] - }, - { - "description": "allow-values -> Enables the values command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-values" - ] - }, - { - "description": "deny-values -> Denies the values command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-values" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/store/permissions/schemas/schema.json b/plugins/store/permissions/schemas/schema.json deleted file mode 100644 index db950d7c7..000000000 --- a/plugins/store/permissions/schemas/schema.json +++ /dev/null @@ -1,430 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-clear -> Enables the clear command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-clear" - ] - }, - { - "description": "deny-clear -> Denies the clear command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-clear" - ] - }, - { - "description": "allow-delete -> Enables the delete command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-delete" - ] - }, - { - "description": "deny-delete -> Denies the delete command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-delete" - ] - }, - { - "description": "allow-entries -> Enables the entries command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-entries" - ] - }, - { - "description": "deny-entries -> Denies the entries command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-entries" - ] - }, - { - "description": "allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-get" - ] - }, - { - "description": "deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-get" - ] - }, - { - "description": "allow-has -> Enables the has command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-has" - ] - }, - { - "description": "deny-has -> Denies the has command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-has" - ] - }, - { - "description": "allow-keys -> Enables the keys command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-keys" - ] - }, - { - "description": "deny-keys -> Denies the keys command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-keys" - ] - }, - { - "description": "allow-length -> Enables the length command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-length" - ] - }, - { - "description": "deny-length -> Denies the length command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-length" - ] - }, - { - "description": "allow-load -> Enables the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-load" - ] - }, - { - "description": "deny-load -> Denies the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-load" - ] - }, - { - "description": "allow-reset -> Enables the reset command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-reset" - ] - }, - { - "description": "deny-reset -> Denies the reset command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-reset" - ] - }, - { - "description": "allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save" - ] - }, - { - "description": "deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save" - ] - }, - { - "description": "allow-set -> Enables the set command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-set" - ] - }, - { - "description": "deny-set -> Denies the set command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-set" - ] - }, - { - "description": "allow-values -> Enables the values command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-values" - ] - }, - { - "description": "deny-values -> Denies the values command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-values" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/stronghold/permissions/.dgitignore b/plugins/stronghold/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/stronghold/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/stronghold/permissions/.gitignore b/plugins/stronghold/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/stronghold/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/stronghold/permissions/.schema.json b/plugins/stronghold/permissions/.schema.json deleted file mode 100644 index 87dcf8eb5..000000000 --- a/plugins/stronghold/permissions/.schema.json +++ /dev/null @@ -1,416 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-create-client -> Enables the create_client command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-create-client" - ] - }, - { - "description": "deny-create-client -> Denies the create_client command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-create-client" - ] - }, - { - "description": "allow-destroy -> Enables the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-destroy" - ] - }, - { - "description": "deny-destroy -> Denies the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-destroy" - ] - }, - { - "description": "allow-execute-procedure -> Enables the execute_procedure command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-execute-procedure" - ] - }, - { - "description": "deny-execute-procedure -> Denies the execute_procedure command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-execute-procedure" - ] - }, - { - "description": "allow-get-store-record -> Enables the get_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-get-store-record" - ] - }, - { - "description": "deny-get-store-record -> Denies the get_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-get-store-record" - ] - }, - { - "description": "allow-initialize -> Enables the initialize command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-initialize" - ] - }, - { - "description": "deny-initialize -> Denies the initialize command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-initialize" - ] - }, - { - "description": "allow-load-client -> Enables the load_client command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-load-client" - ] - }, - { - "description": "deny-load-client -> Denies the load_client command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-load-client" - ] - }, - { - "description": "allow-remove-secret -> Enables the remove_secret command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-remove-secret" - ] - }, - { - "description": "deny-remove-secret -> Denies the remove_secret command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-remove-secret" - ] - }, - { - "description": "allow-remove-store-record -> Enables the remove_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-remove-store-record" - ] - }, - { - "description": "deny-remove-store-record -> Denies the remove_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-remove-store-record" - ] - }, - { - "description": "allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save" - ] - }, - { - "description": "deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save" - ] - }, - { - "description": "allow-save-secret -> Enables the save_secret command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save-secret" - ] - }, - { - "description": "deny-save-secret -> Denies the save_secret command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save-secret" - ] - }, - { - "description": "allow-save-store-record -> Enables the save_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save-store-record" - ] - }, - { - "description": "deny-save-store-record -> Denies the save_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save-store-record" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/stronghold/permissions/schemas/schema.json b/plugins/stronghold/permissions/schemas/schema.json deleted file mode 100644 index 87dcf8eb5..000000000 --- a/plugins/stronghold/permissions/schemas/schema.json +++ /dev/null @@ -1,416 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-create-client -> Enables the create_client command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-create-client" - ] - }, - { - "description": "deny-create-client -> Denies the create_client command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-create-client" - ] - }, - { - "description": "allow-destroy -> Enables the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-destroy" - ] - }, - { - "description": "deny-destroy -> Denies the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-destroy" - ] - }, - { - "description": "allow-execute-procedure -> Enables the execute_procedure command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-execute-procedure" - ] - }, - { - "description": "deny-execute-procedure -> Denies the execute_procedure command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-execute-procedure" - ] - }, - { - "description": "allow-get-store-record -> Enables the get_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-get-store-record" - ] - }, - { - "description": "deny-get-store-record -> Denies the get_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-get-store-record" - ] - }, - { - "description": "allow-initialize -> Enables the initialize command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-initialize" - ] - }, - { - "description": "deny-initialize -> Denies the initialize command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-initialize" - ] - }, - { - "description": "allow-load-client -> Enables the load_client command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-load-client" - ] - }, - { - "description": "deny-load-client -> Denies the load_client command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-load-client" - ] - }, - { - "description": "allow-remove-secret -> Enables the remove_secret command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-remove-secret" - ] - }, - { - "description": "deny-remove-secret -> Denies the remove_secret command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-remove-secret" - ] - }, - { - "description": "allow-remove-store-record -> Enables the remove_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-remove-store-record" - ] - }, - { - "description": "deny-remove-store-record -> Denies the remove_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-remove-store-record" - ] - }, - { - "description": "allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save" - ] - }, - { - "description": "deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save" - ] - }, - { - "description": "allow-save-secret -> Enables the save_secret command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save-secret" - ] - }, - { - "description": "deny-save-secret -> Denies the save_secret command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save-secret" - ] - }, - { - "description": "allow-save-store-record -> Enables the save_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save-store-record" - ] - }, - { - "description": "deny-save-store-record -> Denies the save_store_record command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save-store-record" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/updater/permissions/.dgitignore b/plugins/updater/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/updater/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/updater/permissions/.gitignore b/plugins/updater/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/updater/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/updater/permissions/.schema.json b/plugins/updater/permissions/.schema.json deleted file mode 100644 index fec8d398c..000000000 --- a/plugins/updater/permissions/.schema.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-check -> Enables the check command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-check" - ] - }, - { - "description": "deny-check -> Denies the check command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-check" - ] - }, - { - "description": "allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-download-and-install" - ] - }, - { - "description": "deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-download-and-install" - ] - }, - { - "description": "default -> Allows checking for new updates and installing them", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/updater/permissions/default.toml b/plugins/updater/permissions/default.toml index 49417aae0..857f9b5e3 100644 --- a/plugins/updater/permissions/default.toml +++ b/plugins/updater/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = "Allows checking for new updates and installing them" permissions = ["allow-check", "allow-download-and-install"] diff --git a/plugins/updater/permissions/schemas/schema.json b/plugins/updater/permissions/schemas/schema.json deleted file mode 100644 index fec8d398c..000000000 --- a/plugins/updater/permissions/schemas/schema.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-check -> Enables the check command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-check" - ] - }, - { - "description": "deny-check -> Denies the check command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-check" - ] - }, - { - "description": "allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-download-and-install" - ] - }, - { - "description": "deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-download-and-install" - ] - }, - { - "description": "default -> Allows checking for new updates and installing them", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/upload/permissions/.dgitignore b/plugins/upload/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/upload/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/upload/permissions/.gitignore b/plugins/upload/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/upload/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/upload/permissions/.schema.json b/plugins/upload/permissions/.schema.json deleted file mode 100644 index be58be89b..000000000 --- a/plugins/upload/permissions/.schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-download -> Enables the download command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-download" - ] - }, - { - "description": "deny-download -> Denies the download command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-download" - ] - }, - { - "description": "allow-upload -> Enables the upload command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-upload" - ] - }, - { - "description": "deny-upload -> Denies the upload command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-upload" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/upload/permissions/schemas/schema.json b/plugins/upload/permissions/schemas/schema.json deleted file mode 100644 index be58be89b..000000000 --- a/plugins/upload/permissions/schemas/schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-download -> Enables the download command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-download" - ] - }, - { - "description": "deny-download -> Denies the download command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-download" - ] - }, - { - "description": "allow-upload -> Enables the upload command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-upload" - ] - }, - { - "description": "deny-upload -> Denies the upload command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-upload" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/websocket/permissions/.dgitignore b/plugins/websocket/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/websocket/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/websocket/permissions/.gitignore b/plugins/websocket/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/websocket/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/websocket/permissions/.schema.json b/plugins/websocket/permissions/.schema.json deleted file mode 100644 index 608b78ae4..000000000 --- a/plugins/websocket/permissions/.schema.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-connect -> Enables the connect command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-connect" - ] - }, - { - "description": "deny-connect -> Denies the connect command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-connect" - ] - }, - { - "description": "allow-send -> Enables the send command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-send" - ] - }, - { - "description": "deny-send -> Denies the send command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-send" - ] - }, - { - "description": "default -> Allows connecting and sending data to a WebSocket server", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/websocket/permissions/default.toml b/plugins/websocket/permissions/default.toml index 05e1f1427..5fc8962b4 100644 --- a/plugins/websocket/permissions/default.toml +++ b/plugins/websocket/permissions/default.toml @@ -1,4 +1,4 @@ -"$schema" = ".schema.json" +"$schema" = "schemas/schema.json" [default] description = "Allows connecting and sending data to a WebSocket server" permissions = ["allow-connect", "allow-send"] diff --git a/plugins/websocket/permissions/schemas/schema.json b/plugins/websocket/permissions/schemas/schema.json deleted file mode 100644 index 608b78ae4..000000000 --- a/plugins/websocket/permissions/schemas/schema.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-connect -> Enables the connect command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-connect" - ] - }, - { - "description": "deny-connect -> Denies the connect command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-connect" - ] - }, - { - "description": "allow-send -> Enables the send command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-send" - ] - }, - { - "description": "deny-send -> Denies the send command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-send" - ] - }, - { - "description": "default -> Allows connecting and sending data to a WebSocket server", - "type": "string", - "enum": [ - "default" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/window-state/permissions/.dgitignore b/plugins/window-state/permissions/.dgitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/window-state/permissions/.dgitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/window-state/permissions/.gitignore b/plugins/window-state/permissions/.gitignore new file mode 100644 index 000000000..c75f615b1 --- /dev/null +++ b/plugins/window-state/permissions/.gitignore @@ -0,0 +1 @@ +schemas/ diff --git a/plugins/window-state/permissions/.schema.json b/plugins/window-state/permissions/.schema.json deleted file mode 100644 index 5fb4b0b9c..000000000 --- a/plugins/window-state/permissions/.schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-restore-window-state -> Enables the restore_window_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-restore-window-state" - ] - }, - { - "description": "deny-restore-window-state -> Denies the restore_window_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-restore-window-state" - ] - }, - { - "description": "allow-save-window-state -> Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save-window-state" - ] - }, - { - "description": "deny-save-window-state -> Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save-window-state" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file diff --git a/plugins/window-state/permissions/schemas/schema.json b/plugins/window-state/permissions/schemas/schema.json deleted file mode 100644 index 5fb4b0b9c..000000000 --- a/plugins/window-state/permissions/schemas/schema.json +++ /dev/null @@ -1,290 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "PermissionFile", - "description": "Permission file that can define a default permission, a set of permissions or a list of inlined permissions.", - "type": "object", - "properties": { - "default": { - "description": "The default permission set for the plugin", - "anyOf": [ - { - "$ref": "#/definitions/DefaultPermission" - }, - { - "type": "null" - } - ] - }, - "permission": { - "description": "A list of inlined permissions", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/Permission" - } - }, - "set": { - "description": "A list of permissions sets defined", - "default": [], - "type": "array", - "items": { - "$ref": "#/definitions/PermissionSet" - } - }, - "test": { - "description": "Test something!!", - "anyOf": [ - { - "$ref": "#/definitions/PermissionSet" - }, - { - "type": "null" - } - ] - } - }, - "definitions": { - "Commands": { - "description": "Allowed and denied commands inside a permission.\n\nIf two commands clash inside of `allow` and `deny`, it should be denied by default.", - "type": "object", - "properties": { - "allow": { - "description": "Allowed command.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - }, - "deny": { - "description": "Denied command, which takes priority.", - "default": [], - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DefaultPermission": { - "description": "The default permission set of the plugin.\n\nWorks similarly to a permission with the \"default\" identifier.", - "type": "object", - "required": [ - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Permission": { - "description": "Descriptions of explicit privileges of commands.\n\nIt can enable commands to be accessible in the frontend of the application.\n\nIf the scope is defined it can be used to fine grain control the access of individual or multiple commands.", - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "commands": { - "description": "Allowed or denied commands when using this permission.", - "default": { - "allow": [], - "deny": [] - }, - "allOf": [ - { - "$ref": "#/definitions/Commands" - } - ] - }, - "description": { - "description": "Human-readable description of what the permission does.", - "type": [ - "string", - "null" - ] - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "scope": { - "description": "Allowed or denied scoped when using this permission.", - "default": { - "allow": null, - "deny": null - }, - "allOf": [ - { - "$ref": "#/definitions/Scopes" - } - ] - }, - "version": { - "description": "The version of the permission.", - "type": [ - "integer", - "null" - ], - "format": "uint64", - "minimum": 1.0 - } - } - }, - "PermissionKind": { - "type": "string", - "oneOf": [ - { - "description": "allow-restore-window-state -> Enables the restore_window_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-restore-window-state" - ] - }, - { - "description": "deny-restore-window-state -> Denies the restore_window_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-restore-window-state" - ] - }, - { - "description": "allow-save-window-state -> Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "allow-save-window-state" - ] - }, - { - "description": "deny-save-window-state -> Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "deny-save-window-state" - ] - } - ] - }, - "PermissionSet": { - "description": "A set of direct permissions grouped together under a new name.", - "type": "object", - "required": [ - "description", - "identifier", - "permissions" - ], - "properties": { - "description": { - "description": "Human-readable description of what the permission does.", - "type": "string" - }, - "identifier": { - "description": "A unique identifier for the permission.", - "type": "string" - }, - "permissions": { - "description": "All permissions this set contains.", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionKind" - } - } - } - }, - "Scopes": { - "description": "A restriction of the command/endpoint functionality.\n\nIt can be of any serde serializable type and is used for allowing or preventing certain actions inside a Tauri command.\n\nThe scope is passed to the command and handled/enforced by the command itself.", - "type": "object", - "properties": { - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - } - } -} \ No newline at end of file From 0f094a502885e92a77ce5d81a16e4c7eec0323c3 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Mon, 29 Jan 2024 13:40:43 -0300 Subject: [PATCH 17/35] use ScopeObject [skip ci] --- Cargo.lock | 16 +++--- Cargo.toml | 6 +- .../capabilities/schemas/desktop-schema.json | 4 ++ plugins/shell/src/commands.rs | 10 ++-- plugins/shell/src/error.rs | 3 + plugins/shell/src/lib.rs | 52 ----------------- plugins/shell/src/scope.rs | 56 +++++++++++++++++-- 7 files changed, 73 insertions(+), 74 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 10276d725..1bf9d8f01 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5987,7 +5987,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6039,7 +6039,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" dependencies = [ "anyhow", "cargo_toml", @@ -6064,7 +6064,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" dependencies = [ "base64 0.21.5", "brotli", @@ -6089,7 +6089,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" dependencies = [ "heck", "proc-macro2", @@ -6102,7 +6102,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" dependencies = [ "cargo_metadata", "glob", @@ -6555,7 +6555,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" dependencies = [ "gtk", "http", @@ -6572,7 +6572,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6593,7 +6593,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=feat/permission-scope-schema#22d3e7b8c4f1a2a965ce409c96736c564c28eaf5" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/Cargo.toml b/Cargo.toml index 24e97c8b9..777547c5f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,9 +10,9 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "feat/permission-scope-schema" } -tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "feat/permission-scope-schema" } -tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "feat/permission-scope-schema" } +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } serde_json = "1" thiserror = "1" url = "2" diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index 871b747a5..0d98121ba 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -6815,6 +6815,10 @@ "Value": { "description": "All supported ACL values.", "anyOf": [ + { + "description": "Represents a null JSON value.", + "type": "null" + }, { "description": "Represents a [`bool`].", "type": "boolean" diff --git a/plugins/shell/src/commands.rs b/plugins/shell/src/commands.rs index 4cc257400..7bad141c7 100644 --- a/plugins/shell/src/commands.rs +++ b/plugins/shell/src/commands.rs @@ -104,16 +104,16 @@ pub fn execute( args: ExecuteArgs, on_event: Channel, options: CommandOptions, - command_scope: CommandScope<'_, crate::scope_entry::Entry>, - global_scope: GlobalScope<'_, crate::scope_entry::Entry>, + command_scope: CommandScope<'_, crate::scope::ScopeAllowedCommand>, + global_scope: GlobalScope<'_, crate::scope::ScopeAllowedCommand>, ) -> crate::Result { - let scope = shell.shell_scope( - command_scope + let scope = crate::scope::ShellScope { + scopes: command_scope .allows() .iter() .chain(global_scope.allows()) .collect(), - )?; + }; let mut command = if options.sidecar { let program = PathBuf::from(program); diff --git a/plugins/shell/src/error.rs b/plugins/shell/src/error.rs index 0a673e8a3..c8af2343b 100644 --- a/plugins/shell/src/error.rs +++ b/plugins/shell/src/error.rs @@ -24,6 +24,9 @@ pub enum Error { ProgramNotAllowed(PathBuf), #[error("unknown encoding {0}")] UnknownEncoding(String), + /// JSON error. + #[error(transparent)] + Json(#[from] serde_json::Error), } impl Serialize for Error { diff --git a/plugins/shell/src/lib.rs b/plugins/shell/src/lib.rs index e109d59d8..8b32b7ecf 100644 --- a/plugins/shell/src/lib.rs +++ b/plugins/shell/src/lib.rs @@ -42,7 +42,6 @@ pub struct Shell { app: AppHandle, open_scope: scope::OpenScope, children: ChildStore, - resolved_scope_entry_cache: Mutex>, } impl Shell { @@ -65,56 +64,6 @@ impl Shell { pub fn open(&self, path: impl Into, with: Option) -> Result<()> { open::open(&self.open_scope, path.into(), with).map_err(Into::into) } - - fn shell_scope(&self, allowed: Vec<&crate::scope_entry::Entry>) -> Result { - let mut cache = self.resolved_scope_entry_cache.lock().unwrap(); - - let commands = allowed - .into_iter() - .map(|scope| { - if let Some(resolved_command) = cache.get(scope) { - Ok((scope.name.clone(), resolved_command.clone())) - } else { - let args = match scope.args.clone() { - crate::scope_entry::ShellAllowedArgs::Flag(true) => None, - crate::scope_entry::ShellAllowedArgs::Flag(false) => Some(Vec::new()), - crate::scope_entry::ShellAllowedArgs::List(list) => { - let list = list.into_iter().map(|arg| match arg { - crate::scope_entry::ShellAllowedArg::Fixed(fixed) => { - crate::scope::ScopeAllowedArg::Fixed(fixed) - } - crate::scope_entry::ShellAllowedArg::Var { validator } => { - let validator = Regex::new(&validator).unwrap_or_else(|e| { - panic!("invalid regex {validator}: {e}") - }); - crate::scope::ScopeAllowedArg::Var { validator } - } - }); - Some(list.collect()) - } - }; - - let command = if let Ok(path) = self.app.path().parse(&scope.command) { - path - } else { - scope.command.clone() - }; - - let resolved_command = scope::ScopeAllowedCommand { - command, - args, - sidecar: scope.sidecar, - }; - - cache.insert(scope.clone(), resolved_command.clone()); - - Ok((scope.name.clone(), resolved_command)) - } - }) - .collect::>>()?; - - Ok(scope::ShellScope { scopes: commands }) - } } pub trait ShellExt { @@ -146,7 +95,6 @@ pub fn init() -> TauriPlugin> { app: app.clone(), children: Default::default(), open_scope: open_scope(&config.open), - resolved_scope_entry_cache: Default::default(), }); Ok(()) }) diff --git a/plugins/shell/src/scope.rs b/plugins/shell/src/scope.rs index 3a9c70605..621e94b12 100644 --- a/plugins/shell/src/scope.rs +++ b/plugins/shell/src/scope.rs @@ -6,8 +6,8 @@ use crate::open::Program; use crate::process::Command; use regex::Regex; - -use std::collections::HashMap; +use tauri::command::ScopeObject; +use tauri::Manager; /// Allowed representation of `Execute` command arguments. #[derive(Debug, Clone, serde::Deserialize)] @@ -57,6 +57,9 @@ impl From> for ExecuteArgs { /// A configured scoped shell command. #[derive(Debug, Clone)] pub struct ScopeAllowedCommand { + /// Name of the command (key). + pub name: String, + /// The shell command to be called. pub command: std::path::PathBuf, @@ -67,6 +70,47 @@ pub struct ScopeAllowedCommand { pub sidecar: bool, } +impl ScopeObject for ScopeAllowedCommand { + type Error = crate::Error; + fn deserialize( + app: &tauri::AppHandle, + raw: tauri::utils::acl::Value, + ) -> Result { + let scope = serde_json::from_value::(raw.into())?; + + let args = match scope.args.clone() { + crate::scope_entry::ShellAllowedArgs::Flag(true) => None, + crate::scope_entry::ShellAllowedArgs::Flag(false) => Some(Vec::new()), + crate::scope_entry::ShellAllowedArgs::List(list) => { + let list = list.into_iter().map(|arg| match arg { + crate::scope_entry::ShellAllowedArg::Fixed(fixed) => { + crate::scope::ScopeAllowedArg::Fixed(fixed) + } + crate::scope_entry::ShellAllowedArg::Var { validator } => { + let validator = Regex::new(&validator) + .unwrap_or_else(|e| panic!("invalid regex {validator}: {e}")); + crate::scope::ScopeAllowedArg::Var { validator } + } + }); + Some(list.collect()) + } + }; + + let command = if let Ok(path) = app.path().parse(&scope.command) { + path + } else { + scope.command.clone() + }; + + Ok(Self { + name: scope.name, + command, + args, + sidecar: scope.sidecar, + }) + } +} + /// A configured argument to a scoped shell command. #[derive(Debug, Clone)] pub enum ScopeAllowedArg { @@ -95,9 +139,9 @@ pub struct OpenScope { /// Scope for shell process spawning. #[derive(Clone)] -pub struct ShellScope { +pub struct ShellScope<'a> { /// All allowed commands, using their unique command name as the keys. - pub scopes: HashMap, + pub scopes: Vec<&'a ScopeAllowedCommand>, } /// All errors that can happen while validating a scoped command. @@ -171,7 +215,7 @@ impl OpenScope { } } -impl ShellScope { +impl<'a> ShellScope<'a> { /// Validates argument inputs and creates a Tauri sidecar [`Command`]. pub fn prepare_sidecar( &self, @@ -194,7 +238,7 @@ impl ShellScope { args: ExecuteArgs, sidecar: Option<&str>, ) -> Result { - let command = match self.scopes.get(command_name) { + let command = match self.scopes.iter().find(|s| s.name == command_name) { Some(command) => command, None => return Err(Error::NotFound(command_name.into())), }; From 000f3058c7cd3c8a3171fd9c6eb404e556ef257a Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Mon, 29 Jan 2024 17:31:48 -0300 Subject: [PATCH 18/35] implement command scope for fs plugin --- Cargo.lock | 1 + plugins/dialog/src/commands.rs | 10 +- plugins/fs/Cargo.toml | 2 +- plugins/fs/build.rs | 1 + plugins/fs/src/commands.rs | 193 ++++++++++++++++++++++++++--- plugins/fs/src/error.rs | 4 + plugins/fs/src/lib.rs | 47 ++++--- plugins/fs/src/scope.rs | 113 ++++++++++++++++- plugins/persisted-scope/src/lib.rs | 73 ++++++++--- 9 files changed, 383 insertions(+), 61 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1bf9d8f01..7042d8e7a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6241,6 +6241,7 @@ dependencies = [ "notify-debouncer-mini", "schemars", "serde", + "serde_json", "serde_repr", "tauri", "tauri-plugin", diff --git a/plugins/dialog/src/commands.rs b/plugins/dialog/src/commands.rs index a7de38185..02c80f0d8 100644 --- a/plugins/dialog/src/commands.rs +++ b/plugins/dialog/src/commands.rs @@ -118,7 +118,7 @@ pub(crate) async fn open( if let Some(folders) = &folders { for folder in folders { if let Some(s) = window.try_fs_scope() { - s.allow_directory(folder, options.recursive)?; + s.allow_directory(folder, options.recursive); } } } @@ -127,7 +127,7 @@ pub(crate) async fn open( let folder = dialog_builder.blocking_pick_folder(); if let Some(path) = &folder { if let Some(s) = window.try_fs_scope() { - s.allow_directory(path, options.recursive)?; + s.allow_directory(path, options.recursive); } } OpenResponse::Folder(folder) @@ -140,7 +140,7 @@ pub(crate) async fn open( if let Some(files) = &files { for file in files { if let Some(s) = window.try_fs_scope() { - s.allow_file(&file.path)?; + s.allow_file(&file.path); } window .state::() @@ -152,7 +152,7 @@ pub(crate) async fn open( let file = dialog_builder.blocking_pick_file(); if let Some(file) = &file { if let Some(s) = window.try_fs_scope() { - s.allow_file(&file.path)?; + s.allow_file(&file.path); } window .state::() @@ -193,7 +193,7 @@ pub(crate) async fn save( let path = dialog_builder.blocking_save_file(); if let Some(p) = &path { if let Some(s) = window.try_fs_scope() { - s.allow_file(p)?; + s.allow_file(p); } window.state::().allow_file(p)?; } diff --git a/plugins/fs/Cargo.toml b/plugins/fs/Cargo.toml index 0e6b62b74..08b68f161 100644 --- a/plugins/fs/Cargo.toml +++ b/plugins/fs/Cargo.toml @@ -15,10 +15,10 @@ rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] tauri-plugin = { workspace = true, features = ["build"] } schemars = { workspace = true } -serde = { workspace = true } [dependencies] serde = { workspace = true } +serde_json = { workspace = true } schemars = { workspace = true } serde_repr = "0.1" tauri = { workspace = true } diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index 10a7d3dd9..bb1f8411e 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -1,6 +1,7 @@ use std::{fs::create_dir_all, path::Path}; #[path = "src/scope.rs"] +#[allow(dead_code)] mod scope; const BASE_DIR_VARS: &[&str] = &[ diff --git a/plugins/fs/src/commands.rs b/plugins/fs/src/commands.rs index bde9a9ea5..ad94527f9 100644 --- a/plugins/fs/src/commands.rs +++ b/plugins/fs/src/commands.rs @@ -6,7 +6,9 @@ use serde::{Deserialize, Serialize, Serializer}; use serde_repr::{Deserialize_repr, Serialize_repr}; use tauri::{ + command::{CommandScope, GlobalScope}, path::{BaseDirectory, SafePathBuf}, + utils::config::FsScope, AppHandle, Manager, Resource, ResourceId, Runtime, }; @@ -18,7 +20,7 @@ use std::{ time::{SystemTime, UNIX_EPOCH}, }; -use crate::{Error, FsExt}; +use crate::{scope::Entry, Error, FsExt}; #[derive(Debug, thiserror::Error)] pub enum CommandError { @@ -71,10 +73,18 @@ pub struct BaseOptions { #[tauri::command] pub fn create( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult { - let resolved_path = resolve_path(&app, path, options.and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.and_then(|o| o.base_dir), + )?; let file = File::create(&resolved_path).map_err(|e| { format!( "failed to create file at path: {} with error: {e}", @@ -113,10 +123,18 @@ fn default_true() -> bool { #[tauri::command] pub fn open( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base.base_dir), + )?; let mut opts = std::fs::OpenOptions::new(); // default to read-only @@ -166,17 +184,23 @@ pub struct CopyFileOptions { #[tauri::command] pub fn copy_file( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, from_path: SafePathBuf, to_path: SafePathBuf, options: Option, ) -> CommandResult<()> { let resolved_from_path = resolve_path( &app, + &global_scope, + &command_scope, from_path, options.as_ref().and_then(|o| o.from_path_base_dir), )?; let resolved_to_path = resolve_path( &app, + &global_scope, + &command_scope, to_path, options.as_ref().and_then(|o| o.to_path_base_dir), )?; @@ -202,10 +226,18 @@ pub struct MkdirOptions { #[tauri::command] pub fn mkdir( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult<()> { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base.base_dir), + )?; let mut builder = std::fs::DirBuilder::new(); builder.recursive(options.as_ref().and_then(|o| o.recursive).unwrap_or(false)); @@ -261,10 +293,18 @@ fn read_dir_inner>(path: P) -> crate::Result> { #[tauri::command] pub fn read_dir( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult> { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base_dir), + )?; read_dir_inner(&resolved_path) .map_err(|e| { @@ -292,10 +332,18 @@ pub fn read( #[tauri::command] pub fn read_file( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult> { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base_dir), + )?; std::fs::read(&resolved_path) .map_err(|e| { format!( @@ -309,10 +357,18 @@ pub fn read_file( #[tauri::command] pub fn read_text_file( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base_dir), + )?; std::fs::read_to_string(&resolved_path) .map_err(|e| { format!( @@ -326,12 +382,20 @@ pub fn read_text_file( #[tauri::command] pub fn read_text_file_lines( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult { use std::io::BufRead; - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base_dir), + )?; let file = File::open(&resolved_path).map_err(|e| { format!( @@ -374,10 +438,18 @@ pub struct RemoveOptions { #[tauri::command] pub fn remove( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult<()> { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base.base_dir), + )?; let metadata = std::fs::symlink_metadata(&resolved_path).map_err(|e| { format!( @@ -434,17 +506,23 @@ pub struct RenameOptions { #[tauri::command] pub fn rename( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, old_path: SafePathBuf, new_path: SafePathBuf, options: Option, ) -> CommandResult<()> { let resolved_old_path = resolve_path( &app, + &global_scope, + &command_scope, old_path, options.as_ref().and_then(|o| o.old_path_base_dir), )?; let resolved_new_path = resolve_path( &app, + &global_scope, + &command_scope, new_path, options.as_ref().and_then(|o| o.new_path_base_dir), )?; @@ -490,10 +568,18 @@ pub fn seek( #[tauri::command] pub fn stat( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base_dir), + )?; let metadata = std::fs::metadata(&resolved_path).map_err(|e| { format!( "failed to get metadata of path: {} with error: {e}", @@ -506,10 +592,18 @@ pub fn stat( #[tauri::command] pub fn lstat( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base_dir), + )?; let metadata = std::fs::symlink_metadata(&resolved_path).map_err(|e| { format!( "failed to get metadata of path: {} with error: {e}", @@ -530,11 +624,19 @@ pub fn fstat(app: AppHandle, rid: ResourceId) -> CommandResult( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, len: Option, options: Option, ) -> CommandResult<()> { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base_dir), + )?; let f = std::fs::OpenOptions::new() .write(true) .open(&resolved_path) @@ -590,11 +692,19 @@ pub struct WriteFileOptions { fn write_file_inner( app: AppHandle, + global_scope: &GlobalScope<'_, Entry>, + command_scope: &CommandScope<'_, Entry>, path: SafePathBuf, data: &[u8], options: Option, ) -> CommandResult<()> { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base.base_dir))?; + let resolved_path = resolve_path( + &app, + global_scope, + command_scope, + path, + options.as_ref().and_then(|o| o.base.base_dir), + )?; let mut opts = std::fs::OpenOptions::new(); opts.append(options.as_ref().map(|o| o.append.unwrap_or(false)).unwrap()); @@ -628,35 +738,56 @@ fn write_file_inner( #[tauri::command] pub fn write_file( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, data: Vec, options: Option, ) -> CommandResult<()> { - write_file_inner(app, path, &data, options) + write_file_inner(app, &global_scope, &command_scope, path, &data, options) } #[tauri::command] pub fn write_text_file( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, data: String, options: Option, ) -> CommandResult<()> { - write_file_inner(app, path, data.as_bytes(), options) + write_file_inner( + app, + &global_scope, + &command_scope, + path, + data.as_bytes(), + options, + ) } #[tauri::command] pub fn exists( app: AppHandle, + global_scope: GlobalScope<'_, Entry>, + command_scope: CommandScope<'_, Entry>, path: SafePathBuf, options: Option, ) -> CommandResult { - let resolved_path = resolve_path(&app, path, options.as_ref().and_then(|o| o.base_dir))?; + let resolved_path = resolve_path( + &app, + &global_scope, + &command_scope, + path, + options.as_ref().and_then(|o| o.base_dir), + )?; Ok(resolved_path.exists()) } pub fn resolve_path( app: &AppHandle, + global_scope: &GlobalScope<'_, Entry>, + command_scope: &CommandScope<'_, Entry>, path: SafePathBuf, base_dir: Option, ) -> CommandResult { @@ -668,7 +799,35 @@ pub fn resolve_path( } else { path.as_ref().to_path_buf() }; - if app.fs_scope().is_allowed(&path) { + + let scope = tauri::scope::fs::Scope::new( + app, + &FsScope::Scope { + allow: app + .fs_scope() + .allowed + .lock() + .unwrap() + .clone() + .into_iter() + .chain(global_scope.allows().iter().map(|e| e.path.clone())) + .chain(command_scope.allows().iter().map(|e| e.path.clone())) + .collect(), + deny: app + .fs_scope() + .denied + .lock() + .unwrap() + .clone() + .into_iter() + .chain(global_scope.denies().iter().map(|e| e.path.clone())) + .chain(command_scope.denies().iter().map(|e| e.path.clone())) + .collect(), + require_literal_leading_dot: None, + }, + )?; + + if scope.is_allowed(&path) { Ok(path) } else { Err(CommandError::Plugin(Error::PathForbidden(path))) diff --git a/plugins/fs/src/error.rs b/plugins/fs/src/error.rs index effc017f0..212714eff 100644 --- a/plugins/fs/src/error.rs +++ b/plugins/fs/src/error.rs @@ -8,6 +8,10 @@ use serde::{Serialize, Serializer}; #[derive(Debug, thiserror::Error)] pub enum Error { + #[error(transparent)] + Json(#[from] serde_json::Error), + #[error(transparent)] + Tauri(#[from] tauri::Error), #[error(transparent)] Io(#[from] std::io::Error), #[error("forbidden path: {0}")] diff --git a/plugins/fs/src/lib.rs b/plugins/fs/src/lib.rs index d9f6ed44f..1cd958193 100644 --- a/plugins/fs/src/lib.rs +++ b/plugins/fs/src/lib.rs @@ -11,11 +11,14 @@ html_favicon_url = "https://github.com/tauri-apps/tauri/raw/dev/app-icon.png" )] +use std::path::PathBuf; + +use serde::Deserialize; use tauri::{ + command::ScopeObject, plugin::{Builder as PluginBuilder, TauriPlugin}, - scope::fs::Scope, - utils::config::FsScope, - FileDropEvent, Manager, RunEvent, Runtime, WindowEvent, + utils::acl::Value, + AppHandle, FileDropEvent, Manager, RunEvent, Runtime, WindowEvent, }; mod commands; @@ -25,6 +28,7 @@ mod scope; mod watcher; pub use error::Error; +pub use scope::{Event as ScopeEvent, Scope}; type Result = std::result::Result; @@ -43,6 +47,25 @@ impl> FsExt for T { } } +impl ScopeObject for scope::Entry { + type Error = Error; + fn deserialize( + app: &AppHandle, + raw: Value, + ) -> std::result::Result { + #[derive(Deserialize)] + struct EntryRaw { + path: PathBuf, + } + + let entry = serde_json::from_value::(raw.into())?; + + Ok(Self { + path: app.path().parse(entry.path)?, + }) + } +} + pub fn init() -> TauriPlugin { PluginBuilder::::new("fs") .js_init_script(include_str!("api-iife.js").to_string()) @@ -75,18 +98,8 @@ pub fn init() -> TauriPlugin { #[cfg(feature = "watch")] watcher::unwatch ]) - .setup(|app: &tauri::AppHandle, api| { - let acl_scope = api.scope::()?; - - app.manage(Scope::new( - app, - &FsScope::Scope { - allow: acl_scope.allows().iter().map(|s| s.path.clone()).collect(), - deny: acl_scope.denies().iter().map(|s| s.path.clone()).collect(), - require_literal_leading_dot: None, - }, - )?); - + .setup(|app, _api| { + app.manage(Scope::default()); Ok(()) }) .on_event(|app, event| { @@ -99,9 +112,9 @@ pub fn init() -> TauriPlugin { let scope = app.fs_scope(); for path in paths { if path.is_file() { - let _ = scope.allow_file(path); + scope.allow_file(path); } else { - let _ = scope.allow_directory(path, false); + scope.allow_directory(path, false); } } } diff --git a/plugins/fs/src/scope.rs b/plugins/fs/src/scope.rs index 3767129b5..f6515817d 100644 --- a/plugins/fs/src/scope.rs +++ b/plugins/fs/src/scope.rs @@ -1,8 +1,113 @@ -use std::path::PathBuf; +use std::{ + collections::HashMap, + path::{Path, PathBuf}, + sync::{ + atomic::{AtomicU32, Ordering}, + Mutex, + }, +}; -use serde::Deserialize; - -#[derive(Debug, Deserialize, schemars::JsonSchema)] +#[derive(Debug, schemars::JsonSchema)] pub struct Entry { pub path: PathBuf, } + +pub type EventId = u32; +type EventListener = Box; + +/// Scope change event. +#[derive(Debug, Clone)] +pub enum Event { + /// A path has been allowed. + PathAllowed(PathBuf), + /// A path has been forbidden. + PathForbidden(PathBuf), +} + +#[derive(Default)] +pub struct Scope { + pub(crate) allowed: Mutex>, + pub(crate) denied: Mutex>, + event_listeners: Mutex>, + next_event_id: AtomicU32, +} + +impl Scope { + /// Extend the allowed patterns with the given directory. + /// + /// After this function has been called, the frontend will be able to use the Tauri API to read + /// the directory and all of its files. If `recursive` is `true`, subdirectories will be accessible too. + pub fn allow_directory>(&self, path: P, recursive: bool) { + let path = path.as_ref(); + + let mut allowed = self.allowed.lock().unwrap(); + allowed.push(path.to_path_buf()); + allowed.push(path.join(if recursive { "**" } else { "*" })); + + self.emit(Event::PathAllowed(path.to_path_buf())); + } + + /// Extend the allowed patterns with the given file path. + /// + /// After this function has been called, the frontend will be able to use the Tauri API to read the contents of this file. + pub fn allow_file>(&self, path: P) { + let path = path.as_ref(); + + self.allowed.lock().unwrap().push(path.to_path_buf()); + + self.emit(Event::PathAllowed(path.to_path_buf())); + } + + /// Set the given directory path to be forbidden by this scope. + /// + /// **Note:** this takes precedence over allowed paths, so its access gets denied **always**. + pub fn forbid_directory>(&self, path: P, recursive: bool) { + let path = path.as_ref(); + + let mut denied = self.denied.lock().unwrap(); + denied.push(path.to_path_buf()); + denied.push(path.join(if recursive { "**" } else { "*" })); + + self.emit(Event::PathForbidden(path.to_path_buf())); + } + + /// Set the given file path to be forbidden by this scope. + /// + /// **Note:** this takes precedence over allowed paths, so its access gets denied **always**. + pub fn forbid_file>(&self, path: P) { + let path = path.as_ref(); + + self.denied.lock().unwrap().push(path.to_path_buf()); + + self.emit(Event::PathForbidden(path.to_path_buf())); + } + + /// List of allowed paths. + pub fn allowed(&self) -> Vec { + self.allowed.lock().unwrap().clone() + } + + /// List of forbidden paths. + pub fn forbidden(&self) -> Vec { + self.denied.lock().unwrap().clone() + } + + fn next_event_id(&self) -> u32 { + self.next_event_id.fetch_add(1, Ordering::Relaxed) + } + + fn emit(&self, event: Event) { + let listeners = self.event_listeners.lock().unwrap(); + let handlers = listeners.values(); + for listener in handlers { + listener(&event); + } + } + + /// Listen to an event on this scope. + pub fn listen(&self, f: F) -> EventId { + let id = self.next_event_id(); + self.event_listeners.lock().unwrap().insert(id, Box::new(f)); + id + } +} diff --git a/plugins/persisted-scope/src/lib.rs b/plugins/persisted-scope/src/lib.rs index 1d289071e..d9988f8e1 100644 --- a/plugins/persisted-scope/src/lib.rs +++ b/plugins/persisted-scope/src/lib.rs @@ -14,7 +14,6 @@ use aho_corasick::AhoCorasick; use serde::{Deserialize, Serialize}; -use tauri::scope::fs::{Event as FsScopeEvent, Scope as FsScope}; use tauri::{ plugin::{Builder, TauriPlugin}, scope::fs::Pattern as GlobPattern, @@ -48,39 +47,77 @@ const PATTERNS: &[&str] = &[ const REPLACE_WITH: &[&str] = &[r"[", r"]", r"?", r"*", r"\?", r"\\?\", r"\\?\"]; trait ScopeExt { + type Pattern: ToString; + fn allow_file(&self, path: &Path); fn allow_directory(&self, path: &Path, recursive: bool); fn forbid_file(&self, path: &Path); fn forbid_directory(&self, path: &Path, recursive: bool); - fn allowed_patterns(&self) -> HashSet; - fn forbidden_patterns(&self) -> HashSet; + fn allowed_patterns(&self) -> HashSet; + fn forbidden_patterns(&self) -> HashSet; +} + +impl ScopeExt for tauri::scope::fs::Scope { + type Pattern = GlobPattern; + + fn allow_file(&self, path: &Path) { + let _ = tauri::scope::fs::Scope::allow_file(self, path); + } + + fn allow_directory(&self, path: &Path, recursive: bool) { + let _ = tauri::scope::fs::Scope::allow_directory(self, path, recursive); + } + + fn forbid_file(&self, path: &Path) { + let _ = tauri::scope::fs::Scope::forbid_file(self, path); + } + + fn forbid_directory(&self, path: &Path, recursive: bool) { + let _ = tauri::scope::fs::Scope::forbid_directory(self, path, recursive); + } + + fn allowed_patterns(&self) -> HashSet { + tauri::scope::fs::Scope::allowed_patterns(self) + } + + fn forbidden_patterns(&self) -> HashSet { + tauri::scope::fs::Scope::forbidden_patterns(self) + } } -impl ScopeExt for FsScope { +impl ScopeExt for tauri_plugin_fs::Scope { + type Pattern = String; + fn allow_file(&self, path: &Path) { - let _ = FsScope::allow_file(self, path); + tauri_plugin_fs::Scope::allow_file(self, path); } fn allow_directory(&self, path: &Path, recursive: bool) { - let _ = FsScope::allow_directory(self, path, recursive); + tauri_plugin_fs::Scope::allow_directory(self, path, recursive); } fn forbid_file(&self, path: &Path) { - let _ = FsScope::forbid_file(self, path); + tauri_plugin_fs::Scope::forbid_file(self, path); } fn forbid_directory(&self, path: &Path, recursive: bool) { - let _ = FsScope::forbid_directory(self, path, recursive); + tauri_plugin_fs::Scope::forbid_directory(self, path, recursive); } - fn allowed_patterns(&self) -> HashSet { - FsScope::allowed_patterns(self) + fn allowed_patterns(&self) -> HashSet { + self.allowed() + .into_iter() + .map(|p| p.to_string_lossy().to_string()) + .collect() } - fn forbidden_patterns(&self) -> HashSet { - FsScope::forbidden_patterns(self) + fn forbidden_patterns(&self) -> HashSet { + self.forbidden() + .into_iter() + .map(|p| p.to_string_lossy().to_string()) + .collect() } } @@ -216,7 +253,7 @@ pub fn init() -> TauriPlugin { let asset_scope_state_path = app_dir.join(ASSET_SCOPE_STATE_FILENAME); if let Some(fs_scope) = fs_scope { - let _ = fs_scope.forbid_file(&fs_scope_state_path); + fs_scope.forbid_file(&fs_scope_state_path); } #[cfg(feature = "protocol-asset")] let _ = asset_protocol_scope.forbid_file(&asset_scope_state_path); @@ -269,19 +306,21 @@ pub fn init() -> TauriPlugin { #[cfg(feature = "protocol-asset")] let app_dir_ = app_dir.clone(); + if let Some(fs_scope) = fs_scope { - let fs_scope_ = fs_scope.clone(); + let app_ = app.clone(); fs_scope.listen(move |event| { - if let FsScopeEvent::PathAllowed(_) = event { - save_scopes(&fs_scope_, &app_dir, &fs_scope_state_path); + if let tauri_plugin_fs::ScopeEvent::PathAllowed(_) = event { + save_scopes(app_.fs_scope(), &app_dir, &fs_scope_state_path); } }); } + #[cfg(feature = "protocol-asset")] { let asset_protocol_scope_ = asset_protocol_scope.clone(); asset_protocol_scope.listen(move |event| { - if let FsScopeEvent::PathAllowed(_) = event { + if let tauri::scope::fs::Event::PathAllowed(_) = event { save_scopes(&asset_protocol_scope_, &app_dir_, &asset_scope_state_path); } }); From b77fbe346c3970295e787241e8f2f49e6702f3f8 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Mon, 29 Jan 2024 17:48:26 -0300 Subject: [PATCH 19/35] add require_literal_leading_dot to fs config --- plugins/fs/src/config.rs | 14 ++++++++++++++ plugins/fs/src/lib.rs | 14 ++++++++++---- plugins/fs/src/scope.rs | 1 + 3 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 plugins/fs/src/config.rs diff --git a/plugins/fs/src/config.rs b/plugins/fs/src/config.rs new file mode 100644 index 000000000..39a5fcc7f --- /dev/null +++ b/plugins/fs/src/config.rs @@ -0,0 +1,14 @@ +use serde::Deserialize; + +#[derive(Deserialize)] +pub struct Config { + /// Whether or not paths that contain components that start with a `.` + /// will require that `.` appears literally in the pattern; `*`, `?`, `**`, + /// or `[...]` will not match. This is useful because such files are + /// conventionally considered hidden on Unix systems and it might be + /// desirable to skip them when listing files. + /// + /// Defaults to `true` on Unix systems and `false` on Windows + // dotfiles are not supposed to be exposed by default on unix + pub require_literal_leading_dot: Option, +} diff --git a/plugins/fs/src/lib.rs b/plugins/fs/src/lib.rs index 1cd958193..737e90ee0 100644 --- a/plugins/fs/src/lib.rs +++ b/plugins/fs/src/lib.rs @@ -22,6 +22,7 @@ use tauri::{ }; mod commands; +mod config; mod error; mod scope; #[cfg(feature = "watch")] @@ -66,8 +67,8 @@ impl ScopeObject for scope::Entry { } } -pub fn init() -> TauriPlugin { - PluginBuilder::::new("fs") +pub fn init() -> TauriPlugin> { + PluginBuilder::>::new("fs") .js_init_script(include_str!("api-iife.js").to_string()) .invoke_handler(tauri::generate_handler![ commands::create, @@ -98,8 +99,13 @@ pub fn init() -> TauriPlugin { #[cfg(feature = "watch")] watcher::unwatch ]) - .setup(|app, _api| { - app.manage(Scope::default()); + .setup(|app, api| { + let mut scope = Scope::default(); + scope.require_literal_leading_dot = api + .config() + .as_ref() + .and_then(|c| c.require_literal_leading_dot); + app.manage(scope); Ok(()) }) .on_event(|app, event| { diff --git a/plugins/fs/src/scope.rs b/plugins/fs/src/scope.rs index f6515817d..0fe8f2047 100644 --- a/plugins/fs/src/scope.rs +++ b/plugins/fs/src/scope.rs @@ -30,6 +30,7 @@ pub struct Scope { pub(crate) denied: Mutex>, event_listeners: Mutex>, next_event_id: AtomicU32, + pub(crate) require_literal_leading_dot: Option, } impl Scope { From b7fa943066c5081f6857259f89a76e6866940efa Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Tue, 30 Jan 2024 08:54:07 -0300 Subject: [PATCH 20/35] use impl from instead --- plugins/http/build.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/plugins/http/build.rs b/plugins/http/build.rs index 479ad66f6..2eaf72ba6 100644 --- a/plugins/http/build.rs +++ b/plugins/http/build.rs @@ -24,15 +24,16 @@ struct ScopeEntry { url: String, } -fn main() { - // ensure scope entry is up to date - let dummy = ScopeEntry { - url: "https://tauri.app/*".into(), - }; - let _ = scope::Entry { - url: dummy.url.parse().unwrap(), - }; +// ensure scope entry is up to date +impl From for scope::Entry { + fn from(value: ScopeEntry) -> Self { + scope::Entry { + url: value.url.parse().unwrap(), + } + } +} +fn main() { tauri_plugin::Builder::new(COMMANDS) .global_scope_schema(schemars::schema_for!(ScopeEntry)) .build(); From 94802f37ddd139b7de177613ef8f59d2d228fa9a Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Tue, 30 Jan 2024 08:56:08 -0300 Subject: [PATCH 21/35] license header --- .scripts/ci/check-license-header.js | 7 +++++-- plugins/fs/build.rs | 4 ++++ plugins/fs/src/config.rs | 4 ++++ plugins/fs/src/scope.rs | 4 ++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.scripts/ci/check-license-header.js b/.scripts/ci/check-license-header.js index 225e90ba9..d21d168d5 100644 --- a/.scripts/ci/check-license-header.js +++ b/.scripts/ci/check-license-header.js @@ -9,7 +9,10 @@ import readline from "readline"; const header = `Copyright 2019-2023 Tauri Programme within The Commons Conservancy SPDX-License-Identifier: Apache-2.0 SPDX-License-Identifier: MIT`; -const ignoredLicense = "// Copyright 2021 Jonas Kruckenberg"; +const ignoredLicenses = [ + "// Copyright 2021 Jonas Kruckenberg", + "// Copyright 2018-2023 the Deno authors.", +]; const extensions = [".rs", ".js", ".ts", ".yml", ".swift", ".kt"]; const ignore = [ @@ -44,7 +47,7 @@ async function checkFile(file) { line.length === 0 || line.startsWith("#!") || line.startsWith("// swift-tools-version:") || - line === ignoredLicense + ignoredLicenses.includes(line) ) { continue; } diff --git a/plugins/fs/build.rs b/plugins/fs/build.rs index bb1f8411e..1901f3a48 100644 --- a/plugins/fs/build.rs +++ b/plugins/fs/build.rs @@ -1,3 +1,7 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + use std::{fs::create_dir_all, path::Path}; #[path = "src/scope.rs"] diff --git a/plugins/fs/src/config.rs b/plugins/fs/src/config.rs index 39a5fcc7f..d8a197140 100644 --- a/plugins/fs/src/config.rs +++ b/plugins/fs/src/config.rs @@ -1,3 +1,7 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + use serde::Deserialize; #[derive(Deserialize)] diff --git a/plugins/fs/src/scope.rs b/plugins/fs/src/scope.rs index 0fe8f2047..d7040a58a 100644 --- a/plugins/fs/src/scope.rs +++ b/plugins/fs/src/scope.rs @@ -1,3 +1,7 @@ +// Copyright 2019-2023 Tauri Programme within The Commons Conservancy +// SPDX-License-Identifier: Apache-2.0 +// SPDX-License-Identifier: MIT + use std::{ collections::HashMap, path::{Path, PathBuf}, From f0a779f7b20625f8fc779127796cdbeb3810ef65 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Tue, 30 Jan 2024 09:01:08 -0300 Subject: [PATCH 22/35] fix tests --- plugins/http/src/scope.rs | 40 +++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/plugins/http/src/scope.rs b/plugins/http/src/scope.rs index 2847f5038..d80a55fbe 100644 --- a/plugins/http/src/scope.rs +++ b/plugins/http/src/scope.rs @@ -70,14 +70,24 @@ impl<'a> Scope<'a> { #[cfg(test)] mod tests { - use crate::config::HttpAllowlistScope; + use std::str::FromStr; + + use super::Entry; + + impl FromStr for Entry { + type Err = glob::PatternError; + + fn from_str(s: &str) -> Result { + let pattern = s.parse()?; + Ok(Self { url: pattern }) + } + } #[test] fn is_allowed() { // plain URL - let scope = super::Scope::new(&HttpAllowlistScope(vec!["http://localhost:8080" - .parse() - .unwrap()])); + let entry = "http://localhost:8080".parse().unwrap(); + let scope = super::Scope::new(vec![&entry], Vec::new()); assert!(scope.is_allowed(&"http://localhost:8080".parse().unwrap())); assert!(scope.is_allowed(&"http://localhost:8080/".parse().unwrap())); @@ -87,10 +97,15 @@ mod tests { assert!(!scope.is_allowed(&"http://localhost:8081".parse().unwrap())); assert!(!scope.is_allowed(&"http://local:8080".parse().unwrap())); + // deny takes precedence + let allow = "http://localhost:8080/file.png".parse().unwrap(); + let deny = "http://localhost:8080/*".parse().unwrap(); + let scope = super::Scope::new(vec![&allow], vec![&deny]); + assert!(!scope.is_allowed(&"http://localhost:8080/file.png".parse().unwrap())); + // URL with fixed path - let scope = super::Scope::new(&HttpAllowlistScope(vec!["http://localhost:8080/file.png" - .parse() - .unwrap()])); + let entry = "http://localhost:8080/file.png".parse().unwrap(); + let scope = super::Scope::new(vec![&entry], Vec::new()); assert!(scope.is_allowed(&"http://localhost:8080/file.png".parse().unwrap())); @@ -99,22 +114,23 @@ mod tests { assert!(!scope.is_allowed(&"http://localhost:8080/file.png/other.jpg".parse().unwrap())); // URL with glob pattern - let scope = super::Scope::new(&HttpAllowlistScope(vec!["http://localhost:8080/*.png" - .parse() - .unwrap()])); + let entry = "http://localhost:8080/*.png".parse().unwrap(); + let scope = super::Scope::new(vec![&entry], Vec::new()); assert!(scope.is_allowed(&"http://localhost:8080/file.png".parse().unwrap())); assert!(scope.is_allowed(&"http://localhost:8080/assets/file.png".parse().unwrap())); assert!(!scope.is_allowed(&"http://localhost:8080/file.jpeg".parse().unwrap())); - let scope = super::Scope::new(&HttpAllowlistScope(vec!["http://*".parse().unwrap()])); + let entry = "http://*".parse().unwrap(); + let scope = super::Scope::new(vec![&entry], Vec::new()); assert!(scope.is_allowed(&"http://something.else".parse().unwrap())); assert!(scope.is_allowed(&"http://something.else/path/to/file".parse().unwrap())); assert!(!scope.is_allowed(&"https://something.else".parse().unwrap())); - let scope = super::Scope::new(&HttpAllowlistScope(vec!["http://**".parse().unwrap()])); + let entry = "http://**".parse().unwrap(); + let scope = super::Scope::new(vec![&entry], Vec::new()); assert!(scope.is_allowed(&"http://something.else".parse().unwrap())); assert!(scope.is_allowed(&"http://something.else/path/to/file".parse().unwrap())); From 0f0edd9f6c1a79a75a7e01e71e5737d546905053 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Tue, 30 Jan 2024 09:09:16 -0300 Subject: [PATCH 23/35] change file --- .changes/permissions.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .changes/permissions.md diff --git a/.changes/permissions.md b/.changes/permissions.md new file mode 100644 index 000000000..390ef1c7a --- /dev/null +++ b/.changes/permissions.md @@ -0,0 +1,36 @@ +--- +"authenticator": patch +"autostart": patch +"barcode-scanner": patch +"barcode-scanner-js": patch +"biometric": patch +"cli": patch +"clipboard-manager": patch +"clipboard-manager-js": patch +"deep-link": patch +"dialog": patch +"fs": patch +"global-shortcut": patch +"global-shortcut-js": patch +"http": patch +"localhost": patch +"log-plugin": patch +"nfc": patch +"nfc-js": patch +"notification": patch +"os": patch +"persisted-scope": patch +"positioner": patch +"process": patch +"shell": patch +"single-instance": patch +"sql": patch +"store": patch +"stronghold": patch +"updater": patch +"upload": patch +"websocket": patch +"window-state": patch +--- + +Add permissions. From a19c82a83acc28f0c06c9eda37fc6a7e29e9f395 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Thu, 1 Feb 2024 09:10:39 -0300 Subject: [PATCH 24/35] update tauri --- Cargo.lock | 35 +- .../capabilities/schemas/desktop-schema.json | 42 + .../capabilities/schemas/mobile-schema.json | 4905 +++++++++++++---- examples/api/src-tauri/src/tray.rs | 17 +- .../examples/app/src-tauri/src/lib.rs | 4 +- plugins/deep-link/src/lib.rs | 5 +- plugins/fs/src/commands.rs | 2 +- plugins/fs/src/lib.rs | 2 +- plugins/http/src/commands.rs | 2 +- plugins/shell/src/commands.rs | 3 +- plugins/shell/src/scope.rs | 2 +- 11 files changed, 3843 insertions(+), 1176 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7042d8e7a..1a8863895 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5916,9 +5916,8 @@ dependencies = [ [[package]] name = "tao" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0dff18fed076d29cb5779e918ef4b8a5dbb756204e4a027794f0bce233d949" +version = "0.24.1" +source = "git+https://github.com/tauri-apps/tao?branch=dev#ae4b693dc0a5d4f556bb9e6dcdbbeb1cfbf8f862" dependencies = [ "bitflags 1.3.2", "cc", @@ -5946,7 +5945,7 @@ dependencies = [ "raw-window-handle 0.5.2", "raw-window-handle 0.6.0", "scopeguard", - "tao-macros", + "tao-macros 0.1.2 (git+https://github.com/tauri-apps/tao?branch=dev)", "unicode-segmentation", "url", "windows 0.52.0", @@ -5967,6 +5966,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "tao-macros" +version = "0.1.2" +source = "git+https://github.com/tauri-apps/tao?branch=dev#ae4b693dc0a5d4f556bb9e6dcdbbeb1cfbf8f862" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "tar" version = "0.4.40" @@ -5987,7 +5996,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6039,7 +6048,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" dependencies = [ "anyhow", "cargo_toml", @@ -6064,7 +6073,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" dependencies = [ "base64 0.21.5", "brotli", @@ -6089,7 +6098,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" dependencies = [ "heck", "proc-macro2", @@ -6102,7 +6111,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" dependencies = [ "cargo_metadata", "glob", @@ -6556,7 +6565,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" dependencies = [ "gtk", "http", @@ -6573,7 +6582,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6594,7 +6603,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#57e3d43d9626a7d0d1770d0f11f9ded53e158b78" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" dependencies = [ "aes-gcm 0.10.3", "brotli", @@ -8130,7 +8139,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "soup3", - "tao-macros", + "tao-macros 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "thiserror", "url", "webkit2gtk", diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index 0d98121ba..d4a7e9da8 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -336,6 +336,13 @@ "event:allow-emit" ] }, + { + "description": "event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit-to" + ] + }, { "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", "type": "string", @@ -357,6 +364,13 @@ "event:deny-emit" ] }, + { + "description": "event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit-to" + ] + }, { "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", "type": "string", @@ -3570,6 +3584,13 @@ "window:allow-current-monitor" ] }, + { + "description": "window:allow-destroy -> Enables the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-destroy" + ] + }, { "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", @@ -3906,6 +3927,13 @@ "window:allow-set-title" ] }, + { + "description": "window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-visible-on-all-workspaces" + ] + }, { "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", @@ -3990,6 +4018,13 @@ "window:deny-current-monitor" ] }, + { + "description": "window:deny-destroy -> Denies the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-destroy" + ] + }, { "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", @@ -4326,6 +4361,13 @@ "window:deny-set-title" ] }, + { + "description": "window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-visible-on-all-workspaces" + ] + }, { "description": "window:deny-show -> Denies the show command without any pre-configured scope.", "type": "string", diff --git a/examples/api/src-tauri/capabilities/schemas/mobile-schema.json b/examples/api/src-tauri/capabilities/schemas/mobile-schema.json index 7e9cf117a..4b379142a 100644 --- a/examples/api/src-tauri/capabilities/schemas/mobile-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/mobile-schema.json @@ -60,18 +60,21 @@ "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", "type": "array", "items": { - "$ref": "#/definitions/Identifier" + "$ref": "#/definitions/PermissionEntry" } }, "platforms": { "description": "Target platforms this capability applies. By default all platforms applies.", "default": [ - "desktop", - "mobile" + "linux", + "macOS", + "windows", + "android", + "iOS" ], "type": "array", "items": { - "$ref": "#/definitions/CapabilityPlatform" + "$ref": "#/definitions/Target" } }, "windows": { @@ -107,7 +110,7 @@ ], "properties": { "domains": { - "description": "Remote domains this capability refers to.", + "description": "Remote domains this capability refers to. Can use glob patterns.", "type": "array", "items": { "type": "string" @@ -120,68 +123,35 @@ } ] }, - "CapabilityPlatform": { - "description": "Target platform of a capability.", + "Identifier": { + "description": "Permission identifier", "oneOf": [ { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "macOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Android.", + "description": "app:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "android" + "app:default" ] }, { - "description": "iOS", + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", "type": "string", "enum": [ - "iOS" + "app:allow-app-hide" ] }, { - "description": "Desktop.", + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", "type": "string", "enum": [ - "desktop" + "app:allow-app-show" ] }, { - "description": "Mobile.", - "type": "string", - "enum": [ - "mobile" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "app:default -> Default permissions for the plugin.", + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:default" + "app:allow-name" ] }, { @@ -192,17 +162,10 @@ ] }, { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-name" - ] - }, - { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-show" + "app:allow-version" ] }, { @@ -220,17 +183,17 @@ ] }, { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-app-hide" + "app:deny-name" ] }, { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-name" + "app:deny-tauri-version" ] }, { @@ -241,17 +204,17 @@ ] }, { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "description": "barcode-scanner:allow-cancel -> Enables the cancel command without any pre-configured scope.", "type": "string", "enum": [ - "app:deny-tauri-version" + "barcode-scanner:allow-cancel" ] }, { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "description": "barcode-scanner:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "app:allow-version" + "barcode-scanner:allow-check-permissions" ] }, { @@ -269,24 +232,17 @@ ] }, { - "description": "barcode-scanner:deny-vibrate -> Denies the vibrate command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:deny-vibrate" - ] - }, - { - "description": "barcode-scanner:deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", + "description": "barcode-scanner:allow-scan -> Enables the scan command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:deny-open-app-settings" + "barcode-scanner:allow-scan" ] }, { - "description": "barcode-scanner:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", + "description": "barcode-scanner:allow-vibrate -> Enables the vibrate command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-check-permissions" + "barcode-scanner:allow-vibrate" ] }, { @@ -304,45 +260,45 @@ ] }, { - "description": "barcode-scanner:deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", + "description": "barcode-scanner:deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:deny-request-permissions" + "barcode-scanner:deny-open-app-settings" ] }, { - "description": "barcode-scanner:deny-scan -> Denies the scan command without any pre-configured scope.", + "description": "barcode-scanner:deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:deny-scan" + "barcode-scanner:deny-request-permissions" ] }, { - "description": "barcode-scanner:allow-scan -> Enables the scan command without any pre-configured scope.", + "description": "barcode-scanner:deny-scan -> Denies the scan command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-scan" + "barcode-scanner:deny-scan" ] }, { - "description": "barcode-scanner:allow-vibrate -> Enables the vibrate command without any pre-configured scope.", + "description": "barcode-scanner:deny-vibrate -> Denies the vibrate command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-vibrate" + "barcode-scanner:deny-vibrate" ] }, { - "description": "barcode-scanner:allow-cancel -> Enables the cancel command without any pre-configured scope.", + "description": "biometric:allow-authenticate -> Enables the authenticate command without any pre-configured scope.", "type": "string", "enum": [ - "barcode-scanner:allow-cancel" + "biometric:allow-authenticate" ] }, { - "description": "biometric:deny-status -> Denies the status command without any pre-configured scope.", + "description": "biometric:allow-status -> Enables the status command without any pre-configured scope.", "type": "string", "enum": [ - "biometric:deny-status" + "biometric:allow-status" ] }, { @@ -353,17 +309,10 @@ ] }, { - "description": "biometric:allow-authenticate -> Enables the authenticate command without any pre-configured scope.", - "type": "string", - "enum": [ - "biometric:allow-authenticate" - ] - }, - { - "description": "biometric:allow-status -> Enables the status command without any pre-configured scope.", + "description": "biometric:deny-status -> Denies the status command without any pre-configured scope.", "type": "string", "enum": [ - "biometric:allow-status" + "biometric:deny-status" ] }, { @@ -381,24 +330,24 @@ ] }, { - "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", + "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:deny-write" + "clipboard-manager:deny-read" ] }, { - "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "clipboard-manager:deny-read" + "clipboard-manager:deny-write" ] }, { - "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-ask" + "dialog:allow-ask" ] }, { @@ -409,31 +358,31 @@ ] }, { - "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-ask" + "dialog:allow-message" ] }, { - "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-save" + "dialog:allow-open" ] }, { - "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-save" + "dialog:allow-save" ] }, { - "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-open" + "dialog:deny-ask" ] }, { @@ -451,17 +400,17 @@ ] }, { - "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:allow-message" + "dialog:deny-open" ] }, { - "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", "type": "string", "enum": [ - "dialog:deny-open" + "dialog:deny-save" ] }, { @@ -472,17 +421,24 @@ ] }, { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-listen" + "event:allow-emit" ] }, { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "description": "event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.", "type": "string", "enum": [ - "event:allow-emit" + "event:allow-emit-to" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" ] }, { @@ -500,10 +456,10 @@ ] }, { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "description": "event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.", "type": "string", "enum": [ - "event:deny-unlisten" + "event:deny-emit-to" ] }, { @@ -514,773 +470,773 @@ ] }, { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-desktop-read-recursive" + "event:deny-unlisten" ] }, { - "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-write-recursive" + "fs:allow-app-meta" ] }, { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", + "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-write" + "fs:allow-app-meta-recursive" ] }, { - "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-public-meta" + "fs:allow-app-read" ] }, { - "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "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-template-meta-recursive" + "fs:allow-app-read-recursive" ] }, { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", + "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", "type": "string", "enum": [ - "fs:allow-runtime-read" + "fs:allow-app-write" ] }, { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-config-read-recursive" + "fs:allow-app-write-recursive" ] }, { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", + "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-write" + "fs:allow-appcache-meta" ] }, { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", + "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-write" + "fs:allow-appcache-meta-recursive" ] }, { - "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", + "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-picture-meta" + "fs:allow-appcache-read" ] }, { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", + "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-applog-read" + "fs:allow-appcache-read-recursive" ] }, { - "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", "type": "string", "enum": [ - "fs:allow-cache-write-recursive" + "fs:allow-appcache-write" ] }, { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", + "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appcache-read" + "fs:allow-appcache-write-recursive" ] }, { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", + "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-read" + "fs:allow-appconfig-meta" ] }, { - "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-meta-recursive" + "fs:allow-appconfig-meta-recursive" ] }, { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-download-read-recursive" + "fs:allow-appconfig-read" ] }, { - "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "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-font-meta-recursive" + "fs:allow-appconfig-read-recursive" ] }, { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", "type": "string", "enum": [ - "fs:allow-public-read-recursive" + "fs:allow-appconfig-write" ] }, { - "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-exe-meta" + "fs:allow-appconfig-write-recursive" ] }, { - "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.", + "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-read" + "fs:allow-appdata-meta" ] }, { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-write" + "fs:allow-appdata-meta-recursive" ] }, { - "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-template-write-recursive" + "fs:allow-appdata-read" ] }, { - "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", + "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-video-write-recursive" + "fs:allow-appdata-read-recursive" ] }, { - "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", "type": "string", "enum": [ - "fs:allow-localdata-meta-recursive" + "fs:allow-appdata-write" ] }, { - "description": "fs:allow-appdata-meta-recursive -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appdata-meta-recursive" + "fs:allow-appdata-write-recursive" ] }, { - "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-meta-recursive" + "fs:allow-applocaldata-meta" ] }, { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", + "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-read" + "fs:allow-applocaldata-meta-recursive" ] }, { - "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", + "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-exe-meta-recursive" + "fs:allow-applocaldata-read" ] }, { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", + "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-resource-write" + "fs:allow-applocaldata-read-recursive" ] }, { - "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-localdata-write-recursive" + "fs:allow-applocaldata-write" ] }, { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-picture-read-recursive" + "fs:allow-applocaldata-write-recursive" ] }, { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", + "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-read-recursive" + "fs:allow-applog-meta" ] }, { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", + "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-download-read" + "fs:allow-applog-meta-recursive" ] }, { - "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-temp-meta-recursive" + "fs:allow-applog-read" ] }, { - "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "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-desktop-meta" + "fs:allow-applog-read-recursive" ] }, { - "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", "type": "string", "enum": [ - "fs:allow-data-meta" + "fs:allow-applog-write" ] }, { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", + "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-template-write" + "fs:allow-applog-write-recursive" ] }, { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", + "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-picture-read" + "fs:allow-audio-meta" ] }, { - "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-resource-meta" + "fs:allow-audio-meta-recursive" ] }, { - "description": "fs:allow-applocaldata-meta -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta" + "fs:allow-audio-read" ] }, { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "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-applocaldata-read-recursive" + "fs:allow-audio-read-recursive" ] }, { - "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", + "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", "type": "string", "enum": [ - "fs:allow-config-write-recursive" + "fs:allow-audio-write" ] }, { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", + "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-picture-write" + "fs:allow-audio-write-recursive" ] }, { - "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", + "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-temp-meta" + "fs:allow-cache-meta" ] }, { - "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", + "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-meta-recursive" + "fs:allow-cache-meta-recursive" ] }, { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", + "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-video-read" + "fs:allow-cache-read" ] }, { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", + "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-appcache-write" + "fs:allow-cache-read-recursive" ] }, { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", + "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", "type": "string", "enum": [ - "fs:allow-appconfig-read" + "fs:allow-cache-write" ] }, { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", + "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-font-write" + "fs:allow-cache-write-recursive" ] }, { - "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.", + "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-app-write" + "fs:allow-config-meta" ] }, { - "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "description": "fs:allow-config-meta-recursive -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-meta-recursive" + "fs:allow-config-meta-recursive" ] }, { - "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", + "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-font-write-recursive" + "fs:allow-config-read" ] }, { - "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "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-download-meta-recursive" + "fs:allow-config-read-recursive" ] }, { - "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", + "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", "type": "string", "enum": [ - "fs:allow-resource-meta-recursive" + "fs:allow-config-write" ] }, { - "description": "fs:allow-applocaldata-meta-recursive -> This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-applocaldata-meta-recursive" + "fs:allow-config-write-recursive" ] }, { - "description": "fs:allow-appconfig-meta-recursive -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "fs:allow-data-meta -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-meta-recursive" + "fs:allow-data-meta" ] }, { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-data-meta-recursive -> This allows read access to metadata of the `$DATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-read-recursive" + "fs:allow-data-meta-recursive" ] }, { - "description": "fs:allow-app-meta-recursive -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-app-meta-recursive" + "fs:allow-data-read" ] }, { - "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.", + "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-audio-write-recursive" + "fs:allow-data-read-recursive" ] }, { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", + "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", "type": "string", "enum": [ - "fs:allow-appdata-write" + "fs:allow-data-write" ] }, { - "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-runtime-meta" + "fs:allow-data-write-recursive" ] }, { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "fs:allow-desktop-meta -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appconfig-read-recursive" + "fs:allow-desktop-meta" ] }, { - "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.", + "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appcache-write-recursive" + "fs:allow-desktop-meta-recursive" ] }, { - "description": "fs:allow-desktop-meta-recursive -> This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", + "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-desktop-meta-recursive" + "fs:allow-desktop-read" ] }, { - "description": "fs:allow-app-meta -> This allows read access to metadata of the `$APP` folder, including file listing and statistics.", + "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-app-meta" + "fs:allow-desktop-read-recursive" ] }, { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", + "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", "type": "string", "enum": [ - "fs:allow-applog-write" + "fs:allow-desktop-write" ] }, { - "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", + "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-meta-recursive" + "fs:allow-desktop-write-recursive" ] }, { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", + "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-log-read-recursive" + "fs:allow-document-meta" ] }, { - "description": "fs:allow-appdata-meta -> This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.", + "description": "fs:allow-document-meta-recursive -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-meta" + "fs:allow-document-meta-recursive" ] }, { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", + "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-data-write" + "fs:allow-document-read" ] }, { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", + "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-resource-read" + "fs:allow-document-read-recursive" ] }, { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", "type": "string", "enum": [ - "fs:allow-localdata-read-recursive" + "fs:allow-document-write" ] }, { - "description": "fs:allow-appconfig-meta -> This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", + "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appconfig-meta" + "fs:allow-document-write-recursive" ] }, { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", + "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-write-recursive" + "fs:allow-download-meta" ] }, { - "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "fs:allow-download-meta-recursive -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-write-recursive" + "fs:allow-download-meta-recursive" ] }, { - "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", + "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-download-write-recursive" + "fs:allow-download-read" ] }, { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", + "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-font-read-recursive" + "fs:allow-download-read-recursive" ] }, { - "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", "type": "string", "enum": [ - "fs:allow-runtime-write-recursive" + "fs:allow-download-write" ] }, { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", + "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-runtime-write" + "fs:allow-download-write-recursive" ] }, { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", + "description": "fs:allow-exe-meta -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-video-write" + "fs:allow-exe-meta" ] }, { - "description": "fs:allow-audio-meta -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "fs:allow-exe-meta-recursive -> This allows read access to metadata of the `$EXE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-meta" + "fs:allow-exe-meta-recursive" ] }, { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", + "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:allow-document-write" + "fs:allow-exe-read" ] }, { - "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "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-video-meta" + "fs:allow-exe-read-recursive" ] }, { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", + "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", "type": "string", "enum": [ - "fs:deny-default" + "fs:allow-exe-write" ] }, { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", + "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appdata-read" + "fs:allow-exe-write-recursive" ] }, { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", + "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-desktop-write" + "fs:allow-font-meta" ] }, { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", + "description": "fs:allow-font-meta-recursive -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-write" + "fs:allow-font-meta-recursive" ] }, { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", + "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-public-read" + "fs:allow-font-read" ] }, { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", + "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-home-read-recursive" + "fs:allow-font-read-recursive" ] }, { - "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", + "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", "type": "string", "enum": [ - "fs:allow-video-meta-recursive" + "fs:allow-font-write" ] }, { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", + "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-data-read-recursive" + "fs:allow-font-write-recursive" ] }, { - "description": "fs:allow-applog-meta -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-meta" + "fs:allow-home-meta" ] }, { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-read-recursive" + "fs:allow-home-meta-recursive" ] }, { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", + "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-font-read" + "fs:allow-home-read" ] }, { - "description": "fs:allow-font-meta -> This allows read access to metadata of the `$FONT` folder, including file listing and statistics.", + "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-font-meta" + "fs:allow-home-read-recursive" ] }, { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", + "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", "type": "string", "enum": [ - "fs:allow-runtime-read-recursive" + "fs:allow-home-write" ] }, { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", + "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-download-write" + "fs:allow-home-write-recursive" ] }, { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", + "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-data-read" + "fs:allow-localdata-meta" ] }, { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", + "description": "fs:allow-localdata-meta-recursive -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-localdata-read" + "fs:allow-localdata-meta-recursive" ] }, { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-app-read-recursive" + "fs:allow-localdata-read" ] }, { - "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", + "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-log-write-recursive" + "fs:allow-localdata-read-recursive" ] }, { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", "type": "string", "enum": [ - "fs:allow-temp-read-recursive" + "fs:allow-localdata-write" ] }, { - "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", + "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-temp-write-recursive" + "fs:allow-localdata-write-recursive" ] }, { - "description": "fs:allow-cache-meta -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-cache-meta" + "fs:allow-log-meta" ] }, { - "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.", + "description": "fs:allow-log-meta-recursive -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-exe-write-recursive" + "fs:allow-log-meta-recursive" ] }, { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", + "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-temp-read" + "fs:allow-log-read" ] }, { - "description": "fs:allow-home-meta -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "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-home-meta" + "fs:allow-log-read-recursive" ] }, { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", + "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", "type": "string", "enum": [ - "fs:allow-temp-write" + "fs:allow-log-write" ] }, { - "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.", + "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-app-write-recursive" + "fs:allow-log-write-recursive" ] }, { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", + "description": "fs:allow-picture-meta -> This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-read" + "fs:allow-picture-meta" ] }, { @@ -1291,1207 +1247,1221 @@ ] }, { - "description": "fs:allow-log-meta -> This allows read access to metadata of the `$LOG` folder, including file listing and statistics.", + "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-log-meta" + "fs:allow-picture-read" ] }, { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", + "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-log-read" + "fs:allow-picture-read-recursive" ] }, { - "description": "fs:allow-appcache-meta-recursive -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", "type": "string", "enum": [ - "fs:allow-appcache-meta-recursive" + "fs:allow-picture-write" ] }, { - "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", + "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-template-meta" + "fs:allow-picture-write-recursive" ] }, { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", + "description": "fs:allow-public-meta -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-desktop-read" + "fs:allow-public-meta" ] }, { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", + "description": "fs:allow-public-meta-recursive -> This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-read" + "fs:allow-public-meta-recursive" ] }, { - "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", + "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-resource-write-recursive" + "fs:allow-public-read" ] }, { - "description": "fs:allow-config-meta -> This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.", + "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-config-meta" + "fs:allow-public-read-recursive" ] }, { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", + "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", "type": "string", "enum": [ - "fs:allow-cache-write" + "fs:allow-public-write" ] }, { - "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.", + "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-desktop-write-recursive" + "fs:allow-public-write-recursive" ] }, { - "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-resource-meta -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-document-write-recursive" + "fs:allow-resource-meta" ] }, { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", + "description": "fs:allow-resource-meta-recursive -> This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-template-read-recursive" + "fs:allow-resource-meta-recursive" ] }, { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", + "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-cache-read-recursive" + "fs:allow-resource-read" ] }, { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", + "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-appdata-read-recursive" + "fs:allow-resource-read-recursive" ] }, { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", + "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", "type": "string", "enum": [ - "fs:allow-home-read" + "fs:allow-resource-write" ] }, { - "description": "fs:allow-localdata-meta -> This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", + "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-localdata-meta" + "fs:allow-resource-write-recursive" ] }, { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", + "description": "fs:allow-runtime-meta -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-config-write" + "fs:allow-runtime-meta" ] }, { - "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.", + "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-write-recursive" + "fs:allow-runtime-meta-recursive" ] }, { - "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.", + "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-picture-write-recursive" + "fs:allow-runtime-read" ] }, { - "description": "fs:allow-document-meta -> This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", + "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-document-meta" + "fs:allow-runtime-read-recursive" ] }, { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", + "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", "type": "string", "enum": [ - "fs:allow-exe-read" + "fs:allow-runtime-write" ] }, { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", + "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-public-write" + "fs:allow-runtime-write-recursive" ] }, { - "description": "fs:allow-audio-meta-recursive -> This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.", + "description": "fs:allow-temp-meta -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-audio-meta-recursive" + "fs:allow-temp-meta" ] }, { - "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.", + "description": "fs:allow-temp-meta-recursive -> This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-public-write-recursive" + "fs:allow-temp-meta-recursive" ] }, { - "description": "fs:allow-appcache-meta -> This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", + "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-appcache-meta" + "fs:allow-temp-read" ] }, { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", + "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-resource-read-recursive" + "fs:allow-temp-read-recursive" ] }, { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", + "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", "type": "string", "enum": [ - "fs:allow-cache-read" + "fs:allow-temp-write" ] }, { - "description": "fs:allow-download-meta -> This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", + "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-download-meta" + "fs:allow-temp-write-recursive" ] }, { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", + "description": "fs:allow-template-meta -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-home-write" + "fs:allow-template-meta" ] }, { - "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.", + "description": "fs:allow-template-meta-recursive -> This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-appdata-write-recursive" + "fs:allow-template-meta-recursive" ] }, { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", + "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-applog-read-recursive" + "fs:allow-template-read" ] }, { - "description": "fs:allow-runtime-meta-recursive -> This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", + "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-runtime-meta-recursive" + "fs:allow-template-read-recursive" ] }, { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", + "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", "type": "string", "enum": [ - "fs:allow-exe-write" + "fs:allow-template-write" ] }, { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", + "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-document-read-recursive" + "fs:allow-template-write-recursive" ] }, { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", + "description": "fs:allow-video-meta -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applocaldata-read" + "fs:allow-video-meta" ] }, { - "description": "fs:allow-applog-meta-recursive -> This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.", + "description": "fs:allow-video-meta-recursive -> This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.", "type": "string", "enum": [ - "fs:allow-applog-meta-recursive" + "fs:allow-video-meta-recursive" ] }, { - "description": "fs:allow-cache-meta-recursive -> This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.", + "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-cache-meta-recursive" + "fs:allow-video-read" ] }, { - "description": "fs:allow-home-meta-recursive -> This allows read access to metadata of the `$HOME` folder, including file listing and statistics.", + "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-home-meta-recursive" + "fs:allow-video-read-recursive" ] }, { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", + "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", "type": "string", "enum": [ - "fs:allow-audio-read-recursive" + "fs:allow-video-write" ] }, { - "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.", + "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.", "type": "string", "enum": [ - "fs:allow-appconfig-write-recursive" + "fs:allow-video-write-recursive" ] }, { - "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", "type": "string", "enum": [ - "fs:default" + "fs:deny-default" ] }, { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", + "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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:read-files" + "fs:default" ] }, { - "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", + "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-document-recursive" + "fs:allow-copy-file" ] }, { - "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", + "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-log-recursive" + "fs:allow-create" ] }, { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.", + "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-app" + "fs:allow-exists" ] }, { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", + "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp-index" + "fs:allow-fstat" ] }, { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.", + "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-template" + "fs:allow-ftruncate" ] }, { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", + "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:read-all" + "fs:allow-lstat" ] }, { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", + "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-copy-file" + "fs:allow-mkdir" ] }, { - "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", + "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-home-recursive" + "fs:allow-open" ] }, { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", + "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:write-files" + "fs:allow-read" ] }, { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", + "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-text-file" + "fs:allow-read-dir" ] }, { - "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", + "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applog-recursive" + "fs:allow-read-file" ] }, { - "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", + "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-desktop-recursive" + "fs:allow-read-text-file" ] }, { - "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", + "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-template-recursive" + "fs:allow-read-text-file-lines" ] }, { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", + "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:deny-seek" + "fs:allow-read-text-file-lines-next" ] }, { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", + "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-cache-index" + "fs:allow-remove" ] }, { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", + "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appdata-index" + "fs:allow-rename" ] }, { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", + "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:read-meta" + "fs:allow-seek" ] }, { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", + "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-write-text-file" + "fs:allow-stat" ] }, { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", + "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-exe-index" + "fs:allow-truncate" ] }, { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.", + "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource" + "fs:allow-unwatch" ] }, { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", + "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:write-all" + "fs:allow-watch" ] }, { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", + "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-audio-index" + "fs:allow-write" ] }, { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", + "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-dir" + "fs:allow-write-file" ] }, { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.", + "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-video" + "fs:allow-write-text-file" ] }, { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.", + "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-exe" + "fs:deny-copy-file" ] }, { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.", + "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-audio" + "fs:deny-create" ] }, { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", + "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-desktop-index" + "fs:deny-exists" ] }, { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.", + "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applocaldata" + "fs:deny-fstat" ] }, { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", + "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-config-index" + "fs:deny-ftruncate" ] }, { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", + "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-open" + "fs:deny-lstat" ] }, { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", + "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines" + "fs:deny-mkdir" ] }, { - "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": "fs:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-webview-data-windows" + "fs:deny-open" ] }, { - "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", + "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font-recursive" + "fs:deny-read" ] }, { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", + "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-appconfig-index" + "fs:deny-read-dir" ] }, { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", + "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:allow-fstat" + "fs:deny-read-file" ] }, { - "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", + "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-download-recursive" + "fs:deny-read-text-file" ] }, { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.", + "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-data" + "fs:deny-read-text-file-lines" ] }, { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", + "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-stat" + "fs:deny-read-text-file-lines-next" ] }, { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", + "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-read-text-file-lines" + "fs:deny-remove" ] }, { - "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", + "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-picture-recursive" + "fs:deny-rename" ] }, { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", + "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-document-index" + "fs:deny-seek" ] }, { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", + "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-localdata-index" + "fs:deny-stat" ] }, { - "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", + "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-resource-index" + "fs:deny-truncate" ] }, { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.", + "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-font" + "fs:deny-unwatch" ] }, { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.", + "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-temp" + "fs:deny-watch" ] }, { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", + "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-read" + "fs:deny-webview-data-linux" ] }, { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", + "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:allow-ftruncate" + "fs:deny-webview-data-windows" ] }, { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.", + "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-log" + "fs:deny-write" ] }, { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", + "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:scope-applocaldata-index" + "fs:deny-write-file" ] }, { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", + "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", "type": "string", "enum": [ - "fs:deny-write" + "fs:deny-write-text-file" ] }, { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", + "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:deny-read-file" + "fs:read-all" ] }, { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.", + "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-appdata" + "fs:read-dirs" ] }, { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", + "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:deny-fstat" + "fs:read-files" ] }, { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.", + "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", "type": "string", "enum": [ - "fs:scope-applog" + "fs:read-meta" ] }, { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", + "description": "fs:scope -> An empty permission you can use to modify the global scope.", "type": "string", "enum": [ - "fs:allow-copy-file" + "fs:scope" ] }, { - "description": "fs:deny-open -> Denies the open command without any pre-configured 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:deny-open" + "fs:scope-app" ] }, { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", + "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", "type": "string", "enum": [ - "fs:allow-read-text-file" + "fs:scope-app-index" ] }, { - "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", + "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-appconfig-recursive" + "fs:scope-app-recursive" ] }, { - "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", + "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-appdata-recursive" + "fs:scope-appcache" ] }, { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", + "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", "type": "string", "enum": [ - "fs:scope-log-index" + "fs:scope-appcache-index" ] }, { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", + "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-watch" + "fs:scope-appcache-recursive" ] }, { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", + "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:allow-write-file" + "fs:scope-appconfig" ] }, { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", + "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", "type": "string", "enum": [ - "fs:deny-write-file" + "fs:scope-appconfig-index" ] }, { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", + "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-public-index" + "fs:scope-appconfig-recursive" ] }, { - "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", + "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-video-recursive" + "fs:scope-appdata" ] }, { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", + "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", "type": "string", "enum": [ - "fs:allow-seek" + "fs:scope-appdata-index" ] }, { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.", + "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-config" + "fs:scope-appdata-recursive" ] }, { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", + "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:allow-truncate" + "fs:scope-applocaldata" ] }, { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", + "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", "type": "string", "enum": [ - "fs:deny-truncate" + "fs:scope-applocaldata-index" ] }, { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.", + "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-localdata" + "fs:scope-applocaldata-recursive" ] }, { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", + "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:deny-remove" + "fs:scope-applog" ] }, { - "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", + "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", "type": "string", "enum": [ - "fs:scope-applocaldata-recursive" + "fs:scope-applog-index" ] }, { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.", + "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-home" + "fs:scope-applog-recursive" ] }, { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", + "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:deny-exists" + "fs:scope-audio" ] }, { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", + "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", "type": "string", "enum": [ - "fs:allow-exists" + "fs:scope-audio-index" ] }, { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.", + "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-appconfig" + "fs:scope-audio-recursive" ] }, { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", + "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:deny-rename" + "fs:scope-cache" ] }, { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", + "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", "type": "string", "enum": [ - "fs:scope-video-index" + "fs:scope-cache-index" ] }, { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", + "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-watch" + "fs:scope-cache-recursive" ] }, { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", + "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-applog-index" + "fs:scope-config" ] }, { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", + "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", "type": "string", "enum": [ - "fs:scope-appcache-index" + "fs:scope-config-index" ] }, { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.", + "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-download" + "fs:scope-config-recursive" ] }, { - "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", + "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-localdata-recursive" + "fs:scope-data" ] }, { - "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", + "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", "type": "string", "enum": [ - "fs:scope-temp-recursive" + "fs:scope-data-index" ] }, { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.", + "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-appcache" + "fs:scope-data-recursive" ] }, { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", + "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:allow-create" + "fs:scope-desktop" ] }, { - "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.", + "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", "type": "string", "enum": [ - "fs:scope-cache-recursive" + "fs:scope-desktop-index" ] }, { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.", + "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-document" + "fs:scope-desktop-recursive" ] }, { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", + "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:deny-create" + "fs:scope-document" ] }, { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", + "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", "type": "string", "enum": [ - "fs:allow-lstat" + "fs:scope-document-index" ] }, { - "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.", + "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-data-recursive" + "fs:scope-document-recursive" ] }, { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", + "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-picture-index" + "fs:scope-download" ] }, { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", + "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", "type": "string", "enum": [ - "fs:allow-unwatch" + "fs:scope-download-index" ] }, { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", + "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-ftruncate" + "fs:scope-download-recursive" ] }, { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", + "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:allow-write" + "fs:scope-exe" ] }, { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", + "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", "type": "string", "enum": [ - "fs:scope-template-index" + "fs:scope-exe-index" ] }, { - "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.", + "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-audio-recursive" + "fs:scope-exe-recursive" ] }, { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", + "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:deny-unwatch" + "fs:scope-font" ] }, { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", + "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", "type": "string", "enum": [ - "fs:allow-write-text-file" + "fs:scope-font-index" ] }, { - "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.", + "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-config-recursive" + "fs:scope-font-recursive" ] }, { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", + "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-download-index" + "fs:scope-home" ] }, { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.", + "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", "type": "string", "enum": [ - "fs:scope-runtime" + "fs:scope-home-index" ] }, { - "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.", + "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-appcache-recursive" + "fs:scope-home-recursive" ] }, { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", + "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:allow-rename" + "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": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", "type": "string", "enum": [ - "fs:scope-picture" + "fs:scope-localdata-index" ] }, { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", + "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-read-text-file-lines-next" + "fs:scope-localdata-recursive" ] }, { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", + "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-font-index" + "fs:scope-log" ] }, { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", + "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", "type": "string", "enum": [ - "fs:scope-runtime-index" + "fs:scope-log-index" ] }, { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", + "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-read-dir" + "fs:scope-log-recursive" ] }, { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", + "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-home-index" + "fs:scope-picture" ] }, { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", + "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", "type": "string", "enum": [ - "fs:deny-lstat" + "fs:scope-picture-index" ] }, { - "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": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-webview-data-linux" + "fs:scope-picture-recursive" ] }, { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", + "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:allow-mkdir" + "fs:scope-public" ] }, { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.", + "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", "type": "string", "enum": [ - "fs:scope-cache" + "fs:scope-public-index" ] }, { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.", + "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-app-index" + "fs:scope-public-recursive" ] }, { - "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.", + "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-exe-recursive" + "fs:scope-resource" ] }, { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", + "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", "type": "string", "enum": [ - "fs:allow-stat" + "fs:scope-resource-index" ] }, { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.", + "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-desktop" + "fs:scope-resource-recursive" ] }, { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", + "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:read-dirs" + "fs:scope-runtime" ] }, { - "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.", + "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", "type": "string", "enum": [ - "fs:scope-public" + "fs:scope-runtime-index" ] }, { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-remove" + "fs:scope-runtime-recursive" ] }, { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", + "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:deny-read-text-file-lines-next" + "fs:scope-temp" ] }, { - "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.", + "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", "type": "string", "enum": [ - "fs:scope-runtime-recursive" + "fs:scope-temp-index" ] }, { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", + "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:allow-read-file" + "fs:scope-temp-recursive" ] }, { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", + "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:allow-read" + "fs:scope-template" ] }, { - "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.", + "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", "type": "string", "enum": [ - "fs:scope-public-recursive" + "fs:scope-template-index" ] }, { - "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.", + "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:scope-app-recursive" + "fs:scope-template-recursive" ] }, { - "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.", + "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-resource-recursive" + "fs:scope-video" ] }, { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", + "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", "type": "string", "enum": [ - "fs:scope-data-index" + "fs:scope-video-index" ] }, { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", + "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.", "type": "string", "enum": [ - "fs:deny-mkdir" + "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" ] }, { @@ -2508,6 +2478,13 @@ "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", @@ -2523,10 +2500,10 @@ ] }, { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", + "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", "type": "string", "enum": [ - "http:allow-fetch-cancel" + "http:deny-fetch" ] }, { @@ -2536,13 +2513,6 @@ "http:deny-fetch-cancel" ] }, - { - "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:deny-fetch-send" - ] - }, { "description": "http:deny-fetch-read-body -> Denies the fetch_read_body command without any pre-configured scope.", "type": "string", @@ -2551,10 +2521,10 @@ ] }, { - "description": "http:deny-fetch -> Denies the fetch command without any pre-configured scope.", + "description": "http:deny-fetch-send -> Denies the fetch_send command without any pre-configured scope.", "type": "string", "enum": [ - "http:deny-fetch" + "http:deny-fetch-send" ] }, { @@ -2586,318 +2556,318 @@ ] }, { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-popup" + "menu:allow-append" ] }, { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-window-menu" + "menu:allow-create-default" ] }, { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-append" + "menu:allow-get" ] }, { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-popup" + "menu:allow-insert" ] }, { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-icon" + "menu:allow-is-checked" ] }, { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" + "menu:allow-is-enabled" ] }, { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-new" + "menu:allow-items" ] }, { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-icon" + "menu:allow-new" ] }, { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-text" + "menu:allow-popup" ] }, { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-new" + "menu:allow-prepend" ] }, { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-accelerator" + "menu:allow-remove" ] }, { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-checked" + "menu:allow-remove-at" ] }, { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove" + "menu:allow-set-accelerator" ] }, { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" + "menu:allow-set-as-app-menu" ] }, { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-app-menu" + "menu:allow-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-text" + "menu:allow-set-as-window-menu" ] }, { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove" + "menu:allow-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-insert" + "menu:allow-set-checked" ] }, { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-text" + "menu:allow-set-enabled" ] }, { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" + "menu:allow-set-icon" ] }, { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-items" + "menu:allow-set-text" ] }, { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-enabled" + "menu:allow-text" ] }, { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-accelerator" + "menu:deny-append" ] }, { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-remove-at" + "menu:deny-create-default" ] }, { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-app-menu" + "menu:deny-get" ] }, { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-create-default" + "menu:deny-insert" ] }, { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-is-enabled" + "menu:deny-is-checked" ] }, { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-text" + "menu:deny-is-enabled" ] }, { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-checked" + "menu:deny-items" ] }, { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-enabled" + "menu:deny-new" ] }, { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-create-default" + "menu:deny-popup" ] }, { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-get" + "menu:deny-prepend" ] }, { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-enabled" + "menu:deny-remove" ] }, { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-prepend" + "menu:deny-remove-at" ] }, { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-remove-at" + "menu:deny-set-accelerator" ] }, { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-is-checked" + "menu:deny-set-as-app-menu" ] }, { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-get" + "menu:deny-set-as-help-menu-for-nsapp" ] }, { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-prepend" + "menu:deny-set-as-window-menu" ] }, { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" + "menu:deny-set-as-windows-menu-for-nsapp" ] }, { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-insert" + "menu:deny-set-checked" ] }, { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-items" + "menu:deny-set-enabled" ] }, { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-set-as-window-menu" + "menu:deny-set-icon" ] }, { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:deny-set-checked" + "menu:deny-set-text" ] }, { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", "type": "string", "enum": [ - "menu:allow-append" + "menu:deny-text" ] }, { - "description": "nfc:deny-scan -> Denies the scan command without any pre-configured scope.", + "description": "nfc:allow-is-available -> Enables the is_available command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:deny-scan" + "nfc:allow-is-available" ] }, { @@ -2908,31 +2878,31 @@ ] }, { - "description": "nfc:deny-is-available -> Denies the is_available command without any pre-configured scope.", + "description": "nfc:allow-write -> Enables the write command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:deny-is-available" + "nfc:allow-write" ] }, { - "description": "nfc:deny-write -> Denies the write command without any pre-configured scope.", + "description": "nfc:deny-is-available -> Denies the is_available command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:deny-write" + "nfc:deny-is-available" ] }, { - "description": "nfc:allow-is-available -> Enables the is_available command without any pre-configured scope.", + "description": "nfc:deny-scan -> Denies the scan command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:allow-is-available" + "nfc:deny-scan" ] }, { - "description": "nfc:allow-write -> Enables the write command without any pre-configured scope.", + "description": "nfc:deny-write -> Denies the write command without any pre-configured scope.", "type": "string", "enum": [ - "nfc:allow-write" + "nfc:deny-write" ] }, { @@ -2943,10 +2913,10 @@ ] }, { - "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", "type": "string", "enum": [ - "notification:deny-notify" + "notification:allow-is-permission-granted" ] }, { @@ -2956,20 +2926,6 @@ "notification:allow-notify" ] }, - { - "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-request-permission" - ] - }, - { - "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-is-permission-granted" - ] - }, { "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", "type": "string", @@ -2985,73 +2941,73 @@ ] }, { - "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-locale" + "notification:deny-notify" ] }, { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-exe-extension" + "notification:deny-request-permission" ] }, { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-os-type" + "os:allow-arch" ] }, { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-platform" + "os:allow-exe-extension" ] }, { - "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-locale" + "os:allow-family" ] }, { - "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-version" + "os:allow-hostname" ] }, { - "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-family" + "os:allow-locale" ] }, { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-os-type" + "os:allow-os-type" ] }, { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-hostname" + "os:allow-platform" ] }, { - "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-exe-extension" + "os:allow-version" ] }, { @@ -3062,10 +3018,10 @@ ] }, { - "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-arch" + "os:deny-exe-extension" ] }, { @@ -3076,17 +3032,24 @@ ] }, { - "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", "type": "string", "enum": [ - "os:allow-hostname" + "os:deny-hostname" ] }, { - "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", "type": "string", "enum": [ - "os:deny-version" + "os:deny-locale" + ] + }, + { + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-os-type" ] }, { @@ -3096,6 +3059,13 @@ "os:deny-platform" ] }, + { + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-version" + ] + }, { "description": "path:default -> Default permissions for the plugin.", "type": "string", @@ -3104,17 +3074,17 @@ ] }, { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-normalize" + "path:allow-basename" ] }, { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-is-absolute" + "path:allow-dirname" ] }, { @@ -3125,24 +3095,24 @@ ] }, { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-dirname" + "path:allow-is-absolute" ] }, { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-normalize" + "path:allow-join" ] }, { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-extname" + "path:allow-normalize" ] }, { @@ -3152,13 +3122,6 @@ "path:allow-resolve" ] }, - { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-is-absolute" - ] - }, { "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", "type": "string", @@ -3174,38 +3137,38 @@ ] }, { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-join" + "path:deny-dirname" ] }, { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-join" + "path:deny-extname" ] }, { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", "type": "string", "enum": [ - "path:deny-resolve-directory" + "path:deny-is-absolute" ] }, { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-dirname" + "path:deny-join" ] }, { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", "type": "string", "enum": [ - "path:allow-basename" + "path:deny-normalize" ] }, { @@ -3216,24 +3179,31 @@ ] }, { - "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-restart" + "path:deny-resolve-directory" ] }, { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", "type": "string", "enum": [ - "process:deny-exit" + "process:allow-exit" ] }, { - "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", "type": "string", "enum": [ - "process:allow-exit" + "process:allow-restart" + ] + }, + { + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-exit" ] }, { @@ -3251,45 +3221,45 @@ ] }, { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "resources:deny-close" + "resources:allow-close" ] }, { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "resources:allow-close" + "resources:deny-close" ] }, { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-stdin-write" + "shell:allow-execute" ] }, { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", + "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-open" + "shell:allow-kill" ] }, { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", + "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-execute" + "shell:allow-open" ] }, { - "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", + "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-kill" + "shell:allow-stdin-write" ] }, { @@ -3300,24 +3270,24 @@ ] }, { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-open" + "shell:deny-kill" ] }, { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", + "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", "type": "string", "enum": [ - "shell:allow-stdin-write" + "shell:deny-open" ] }, { - "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", "type": "string", "enum": [ - "shell:deny-kill" + "shell:deny-stdin-write" ] }, { @@ -3335,10 +3305,10 @@ ] }, { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-show-menu-on-left-click" + "tray:allow-set-icon" ] }, { @@ -3349,94 +3319,94 @@ ] }, { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-show-menu-on-left-click" + "tray:allow-set-menu" ] }, { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-menu" + "tray:allow-set-show-menu-on-left-click" ] }, { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-title" + "tray:allow-set-temp-dir-path" ] }, { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon" + "tray:allow-set-title" ] }, { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-icon-as-template" + "tray:allow-set-tooltip" ] }, { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-tooltip" + "tray:allow-set-visible" ] }, { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-menu" + "tray:deny-new" ] }, { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-title" + "tray:deny-set-icon" ] }, { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-new" + "tray:deny-set-icon-as-template" ] }, { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-icon" + "tray:deny-set-menu" ] }, { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-temp-dir-path" + "tray:deny-set-show-menu-on-left-click" ] }, { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", "type": "string", "enum": [ - "tray:allow-set-visible" + "tray:deny-set-temp-dir-path" ] }, { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-visible" + "tray:deny-set-title" ] }, { @@ -3447,318 +3417,325 @@ ] }, { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", "type": "string", "enum": [ - "tray:deny-set-temp-dir-path" + "tray:deny-set-visible" ] }, { - "description": "window:default -> Default permissions for the plugin.", + "description": "webview:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "window:default" + "webview:default" ] }, { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-close" + "webview:allow-create-webview" ] }, { - "description": "window:allow-print -> Enables the print command without any pre-configured scope.", + "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-print" + "webview:allow-create-webview-window" ] }, { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "description": "webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-min-size" + "webview:allow-internal-toggle-devtools" ] }, { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "description": "webview:allow-print -> Enables the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-center" + "webview:allow-print" ] }, { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-closable" + "webview:allow-set-webview-focus" ] }, { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-theme" + "webview:allow-set-webview-position" ] }, { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-maximize" + "webview:allow-set-webview-size" ] }, { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-grab" + "webview:allow-webview-close" ] }, { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-scale-factor" + "webview:allow-webview-position" ] }, { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-minimizable" + "webview:allow-webview-size" ] }, { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-content-protected" + "webview:deny-create-webview" ] }, { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-create" + "webview:deny-create-webview-window" ] }, { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-minimize" + "webview:deny-internal-toggle-devtools" ] }, { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "description": "webview:deny-print -> Denies the print command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-resizable" + "webview:deny-print" ] }, { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "description": "webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-resizable" + "webview:deny-set-webview-focus" ] }, { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-toggle-maximize" + "webview:deny-set-webview-position" ] }, { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-position" + "webview:deny-set-webview-size" ] }, { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-effects" + "webview:deny-webview-close" ] }, { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-grab" + "webview:deny-webview-position" ] }, { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-minimizable" + "webview:deny-webview-size" ] }, { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "description": "window:default -> Default permissions for the plugin.", "type": "string", "enum": [ - "window:deny-start-dragging" + "window:default" ] }, { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-icon" + "window:allow-available-monitors" ] }, { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-visible" + "window:allow-center" ] }, { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-maximizable" + "window:allow-close" ] }, { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-maximizable" + "window:allow-create" ] }, { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-content-protected" + "window:allow-current-monitor" ] }, { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-destroy -> Enables the destroy command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-position" + "window:allow-destroy" ] }, { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-bottom" + "window:allow-hide" ] }, { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-ignore-cursor-events" + "window:allow-inner-position" ] }, { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-maximize" + "window:allow-inner-size" ] }, { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "description": "window:allow-internal-on-mousedown -> Enables the internal_on_mousedown command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-focused" + "window:allow-internal-on-mousedown" ] }, { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "description": "window:allow-internal-on-mousemove -> Enables the internal_on_mousemove command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-focus" + "window:allow-internal-on-mousemove" ] }, { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-closable" + "window:allow-internal-toggle-maximize" ] }, { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-resizable" + "window:allow-is-closable" ] }, { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-size" + "window:allow-is-decorated" ] }, { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-icon" + "window:allow-is-focused" ] }, { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-size" + "window:allow-is-fullscreen" ] }, { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-title" + "window:allow-is-maximizable" ] }, { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-shadow" + "window:allow-is-maximized" ] }, { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unmaximize" + "window:allow-is-minimizable" ] }, { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unmaximize" + "window:allow-is-minimized" ] }, { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-scale-factor" + "window:allow-is-resizable" ] }, { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-primary-monitor" + "window:allow-is-visible" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" ] }, { @@ -3769,17 +3746,17 @@ ] }, { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-position" + "window:allow-outer-position" ] }, { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-bottom" + "window:allow-outer-size" ] }, { @@ -3790,353 +3767,353 @@ ] }, { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-unminimize" + "window:allow-request-user-attention" ] }, { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-fullscreen" + "window:allow-scale-factor" ] }, { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-show" + "window:allow-set-always-on-bottom" ] }, { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-effects" + "window:allow-set-always-on-top" ] }, { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-cursor-visible" + "window:allow-set-closable" ] }, { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-create" + "window:allow-set-content-protected" ] }, { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-fullscreen" + "window:allow-set-cursor-grab" ] }, { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-always-on-top" + "window:allow-set-cursor-icon" ] }, { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-unminimize" + "window:allow-set-cursor-position" ] }, { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-progress-bar" + "window:allow-set-cursor-visible" ] }, { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-toggle-maximize" + "window:allow-set-decorations" ] }, { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-available-monitors" + "window:allow-set-effects" ] }, { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-skip-taskbar" + "window:allow-set-focus" ] }, { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-focused" + "window:allow-set-fullscreen" ] }, { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-position" + "window:allow-set-icon" ] }, { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-decorations" + "window:allow-set-ignore-cursor-events" ] }, { - "description": "window:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-devtools" + "window:allow-set-max-size" ] }, { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-ignore-cursor-events" + "window:allow-set-maximizable" ] }, { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximizable" + "window:allow-set-min-size" ] }, { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimizable" + "window:allow-set-minimizable" ] }, { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-title" + "window:allow-set-position" ] }, { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-title" + "window:allow-set-progress-bar" ] }, { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-available-monitors" + "window:allow-set-resizable" ] }, { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-minimized" + "window:allow-set-shadow" ] }, { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-minimizable" + "window:allow-set-size" ] }, { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximized" + "window:allow-set-skip-taskbar" ] }, { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-outer-position" + "window:allow-set-title" ] }, { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "description": "window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-maximize" + "window:allow-set-visible-on-all-workspaces" ] }, { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-max-size" + "window:allow-show" ] }, { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-shadow" + "window:allow-start-dragging" ] }, { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-maximized" + "window:allow-theme" ] }, { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-theme" + "window:allow-title" ] }, { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-start-dragging" + "window:allow-toggle-maximize" ] }, { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-size" + "window:allow-unmaximize" ] }, { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-closable" + "window:allow-unminimize" ] }, { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-cursor-visible" + "window:deny-available-monitors" ] }, { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-internal-toggle-maximize" + "window:deny-center" ] }, { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-resizable" + "window:deny-close" ] }, { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-outer-size" + "window:deny-create" ] }, { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-request-user-attention" + "window:deny-current-monitor" ] }, { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "description": "window:deny-destroy -> Denies the destroy command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-inner-position" + "window:deny-destroy" ] }, { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-position" + "window:deny-hide" ] }, { - "description": "window:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-internal-toggle-devtools" + "window:deny-inner-position" ] }, { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-decorations" + "window:deny-inner-size" ] }, { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "description": "window:deny-internal-on-mousedown -> Denies the internal_on_mousedown command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-title" + "window:deny-internal-on-mousedown" ] }, { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "description": "window:deny-internal-on-mousemove -> Denies the internal_on_mousemove command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-fullscreen" + "window:deny-internal-on-mousemove" ] }, { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-decorated" + "window:deny-internal-toggle-maximize" ] }, { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-hide" + "window:deny-is-closable" ] }, { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-min-size" + "window:deny-is-decorated" ] }, { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-close" + "window:deny-is-focused" ] }, { @@ -4147,24 +4124,24 @@ ] }, { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-request-user-attention" + "window:deny-is-maximizable" ] }, { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-size" + "window:deny-is-maximized" ] }, { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-skip-taskbar" + "window:deny-is-minimizable" ] }, { @@ -4174,6 +4151,13 @@ "window:deny-is-minimized" ] }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, { "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", "type": "string", @@ -4182,10 +4166,17 @@ ] }, { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-current-monitor" + "window:deny-maximize" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" ] }, { @@ -4196,31 +4187,66 @@ ] }, { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-inner-size" + "window:deny-outer-size" ] }, { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-hide" + "window:deny-primary-monitor" ] }, { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-is-closable" + "window:deny-request-user-attention" ] }, { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-focus" + "window:deny-scale-factor" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, + { + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-cursor-grab" ] }, { @@ -4231,38 +4257,143 @@ ] }, { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-center" + "window:deny-set-cursor-position" ] }, { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-maximizable" + "window:deny-set-cursor-visible" ] }, { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-icon" + "window:deny-set-decorations" ] }, { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-set-always-on-top" + "window:deny-set-effects" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" ] }, { - "description": "window:deny-print -> Denies the print command without any pre-configured scope.", + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-print" + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-visible-on-all-workspaces" ] }, { @@ -4273,34 +4404,2522 @@ ] }, { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-progress-bar" + "window:deny-start-dragging" ] }, { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-current-monitor" + "window:deny-theme" ] }, { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", "type": "string", "enum": [ - "window:allow-set-max-size" + "window:deny-title" ] }, { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", "type": "string", "enum": [ - "window:deny-is-decorated" + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" ] } ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ + { + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } + ] + }, + { + "description": "Reference a permission or permission set by identifier and extends its scope.", + "type": "object", + "oneOf": [ + { + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "allow": { + "items": { + "title": "Entry", + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "deny": { + "items": { + "title": "Entry", + "type": "object", + "required": [ + "path" + ], + "properties": { + "path": { + "type": "string" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "identifier": { + "oneOf": [ + { + "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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: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-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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" + ] + } + ] + } + } + }, + { + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "allow": { + "items": { + "title": "ScopeEntry", + "description": "HTTP scope entry object definition.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "deny": { + "items": { + "title": "ScopeEntry", + "description": "HTTP scope entry object definition.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "identifier": { + "oneOf": [ + { + "description": "http:default -> Allows all fetch operations", + "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": "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" + ] + } + ] + } + } + }, + { + "type": "object", + "required": [ + "identifier" + ], + "properties": { + "allow": { + "items": { + "title": "Entry", + "description": "A command allowed to be executed by the webview API.", + "type": "object", + "required": [ + "args", + "command", + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellAllowedArgs" + } + ] + }, + "command": { + "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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "ShellAllowedArg": { + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "additionalProperties": false, + "description": "A variable that is set while calling the command from the webview API.", + "properties": { + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax", + "type": "string" + } + }, + "required": [ + "validator" + ], + "type": "object" + } + ], + "description": "A command argument allowed to be executed by the webview API." + }, + "ShellAllowedArgs": { + "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.", + "items": { + "$ref": "#/definitions/ShellAllowedArg" + }, + "type": "array" + } + ], + "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." + } + } + } + }, + "deny": { + "items": { + "title": "Entry", + "description": "A command allowed to be executed by the webview API.", + "type": "object", + "required": [ + "args", + "command", + "name", + "sidecar" + ], + "properties": { + "args": { + "description": "The allowed arguments for the command execution.", + "allOf": [ + { + "$ref": "#/definitions/ShellAllowedArgs" + } + ] + }, + "command": { + "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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "ShellAllowedArg": { + "anyOf": [ + { + "description": "A non-configurable argument that is passed to the command in the order it was specified.", + "type": "string" + }, + { + "additionalProperties": false, + "description": "A variable that is set while calling the command from the webview API.", + "properties": { + "validator": { + "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax", + "type": "string" + } + }, + "required": [ + "validator" + ], + "type": "object" + } + ], + "description": "A command argument allowed to be executed by the webview API." + }, + "ShellAllowedArgs": { + "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.", + "items": { + "$ref": "#/definitions/ShellAllowedArg" + }, + "type": "array" + } + ], + "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." + } + } + } + }, + "identifier": { + "oneOf": [ + { + "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-open" + ] + }, + { + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" + ] + } + ] + } + } + } + ] + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS.", + "type": "string", + "enum": [ + "iOS" + ] + } + ] + }, + "Value": { + "description": "All supported ACL values.", + "anyOf": [ + { + "description": "Represents a null JSON value.", + "type": "null" + }, + { + "description": "Represents a [`bool`].", + "type": "boolean" + }, + { + "description": "Represents a valid ACL [`Number`].", + "allOf": [ + { + "$ref": "#/definitions/Number" + } + ] + }, + { + "description": "Represents a [`String`].", + "type": "string" + }, + { + "description": "Represents a list of other [`Value`]s.", + "type": "array", + "items": { + "$ref": "#/definitions/Value" + } + }, + { + "description": "Represents a map of [`String`] keys to [`Value`]s.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Value" + } + } + ] } } } \ No newline at end of file diff --git a/examples/api/src-tauri/src/tray.rs b/examples/api/src-tauri/src/tray.rs index f045cfcf1..470764f87 100644 --- a/examples/api/src-tauri/src/tray.rs +++ b/examples/api/src-tauri/src/tray.rs @@ -10,15 +10,16 @@ use tauri::{ }; pub fn create_tray(app: &tauri::AppHandle) -> tauri::Result<()> { - let toggle_i = MenuItem::with_id(app, "toggle", "Toggle", true, None); - let new_window_i = MenuItem::with_id(app, "new-window", "New window", true, None); - let icon_i_1 = MenuItem::with_id(app, "icon-1", "Icon 1", true, None); - let icon_i_2 = MenuItem::with_id(app, "icon-2", "Icon 2", true, None); + let toggle_i = MenuItem::with_id(app, "toggle", "Toggle", true, None::<&str>)?; + let new_window_i = MenuItem::with_id(app, "new-window", "New window", true, None::<&str>)?; + let icon_i_1 = MenuItem::with_id(app, "icon-1", "Icon 1", true, None::<&str>)?; + let icon_i_2 = MenuItem::with_id(app, "icon-2", "Icon 2", true, None::<&str>)?; #[cfg(target_os = "macos")] - let set_title_i = MenuItem::with_id(app, "set-title", "Set Title", true, None); - let switch_i = MenuItem::with_id(app, "switch-menu", "Switch Menu", true, None); - let quit_i = MenuItem::with_id(app, "quit", "Quit", true, None); - let remove_tray_i = MenuItem::with_id(app, "remove-tray", "Remove Tray icon", true, None); + let set_title_i = MenuItem::with_id(app, "set-title", "Set Title", true, None::<&str>)?; + let switch_i = MenuItem::with_id(app, "switch-menu", "Switch Menu", true, None::<&str>)?; + let quit_i = MenuItem::with_id(app, "quit", "Quit", true, None::<&str>)?; + let remove_tray_i = + MenuItem::with_id(app, "remove-tray", "Remove Tray icon", true, None::<&str>)?; let menu1 = Menu::with_items( app, &[ diff --git a/plugins/deep-link/examples/app/src-tauri/src/lib.rs b/plugins/deep-link/examples/app/src-tauri/src/lib.rs index 524f56cb0..5fcb3b237 100644 --- a/plugins/deep-link/examples/app/src-tauri/src/lib.rs +++ b/plugins/deep-link/examples/app/src-tauri/src/lib.rs @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT -use tauri::Manager; - // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command #[tauri::command] fn greet(name: &str) -> String { @@ -15,7 +13,7 @@ pub fn run() { tauri::Builder::default() .plugin(tauri_plugin_deep_link::init()) .setup(|app| { - app.listen_global("deep-link://new-url", |url| { + app.listen("deep-link://new-url", |url| { dbg!(url); }); Ok(()) diff --git a/plugins/deep-link/src/lib.rs b/plugins/deep-link/src/lib.rs index 75223dcad..b30668301 100644 --- a/plugins/deep-link/src/lib.rs +++ b/plugins/deep-link/src/lib.rs @@ -43,11 +43,10 @@ fn init_deep_link( }; let payload = vec![url]; - app_handle.trigger_global( + app_handle.emit( "deep-link://new-url", Some(serde_json::to_string(&payload).unwrap()), - ); - let _ = app_handle.emit_all("deep-link://new-url", payload); + )?; Ok(()) }), }, diff --git a/plugins/fs/src/commands.rs b/plugins/fs/src/commands.rs index ad94527f9..24241dc40 100644 --- a/plugins/fs/src/commands.rs +++ b/plugins/fs/src/commands.rs @@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize, Serializer}; use serde_repr::{Deserialize_repr, Serialize_repr}; use tauri::{ - command::{CommandScope, GlobalScope}, + ipc::{CommandScope, GlobalScope}, path::{BaseDirectory, SafePathBuf}, utils::config::FsScope, AppHandle, Manager, Resource, ResourceId, Runtime, diff --git a/plugins/fs/src/lib.rs b/plugins/fs/src/lib.rs index 737e90ee0..5bd6545c5 100644 --- a/plugins/fs/src/lib.rs +++ b/plugins/fs/src/lib.rs @@ -15,7 +15,7 @@ use std::path::PathBuf; use serde::Deserialize; use tauri::{ - command::ScopeObject, + ipc::ScopeObject, plugin::{Builder as PluginBuilder, TauriPlugin}, utils::acl::Value, AppHandle, FileDropEvent, Manager, RunEvent, Runtime, WindowEvent, diff --git a/plugins/http/src/commands.rs b/plugins/http/src/commands.rs index 64eaa263b..229df3198 100644 --- a/plugins/http/src/commands.rs +++ b/plugins/http/src/commands.rs @@ -8,7 +8,7 @@ use http::{header, HeaderName, HeaderValue, Method, StatusCode}; use reqwest::redirect::Policy; use serde::Serialize; use tauri::{ - command::{CommandScope, GlobalScope}, + ipc::{CommandScope, GlobalScope}, AppHandle, Runtime, }; diff --git a/plugins/shell/src/commands.rs b/plugins/shell/src/commands.rs index 7bad141c7..551a2ffb8 100644 --- a/plugins/shell/src/commands.rs +++ b/plugins/shell/src/commands.rs @@ -7,8 +7,7 @@ use std::{collections::HashMap, path::PathBuf, string::FromUtf8Error}; use encoding_rs::Encoding; use serde::{Deserialize, Serialize}; use tauri::{ - command::{CommandScope, GlobalScope}, - ipc::Channel, + ipc::{Channel, CommandScope, GlobalScope}, Manager, Runtime, State, Window, }; diff --git a/plugins/shell/src/scope.rs b/plugins/shell/src/scope.rs index 621e94b12..6351196b5 100644 --- a/plugins/shell/src/scope.rs +++ b/plugins/shell/src/scope.rs @@ -6,7 +6,7 @@ use crate::open::Program; use crate::process::Command; use regex::Regex; -use tauri::command::ScopeObject; +use tauri::ipc::ScopeObject; use tauri::Manager; /// Allowed representation of `Execute` command arguments. From 4f80f4afccb1b9007d15e9ed215ef61cb6839372 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Thu, 1 Feb 2024 09:17:42 -0300 Subject: [PATCH 25/35] update tauri --- Cargo.lock | 17 +- .../capabilities/schemas/desktop-schema.json | 8936 ++++++++--------- 2 files changed, 4477 insertions(+), 4476 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1a8863895..62b275716 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5043,6 +5043,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" dependencies = [ "dyn-clone", + "indexmap 1.9.3", "schemars_derive", "serde", "serde_json", @@ -5996,7 +5997,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6048,7 +6049,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" dependencies = [ "anyhow", "cargo_toml", @@ -6073,7 +6074,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" dependencies = [ "base64 0.21.5", "brotli", @@ -6098,7 +6099,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" dependencies = [ "heck", "proc-macro2", @@ -6111,7 +6112,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" dependencies = [ "cargo_metadata", "glob", @@ -6565,7 +6566,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" dependencies = [ "gtk", "http", @@ -6582,7 +6583,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6603,7 +6604,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#f492efd7144fdd8d25cac0c4d2389a95ab75fb02" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json index d4a7e9da8..4f6efb0e6 100644 --- a/examples/api/src-tauri/capabilities/schemas/desktop-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/desktop-schema.json @@ -38,6 +38,15 @@ "windows" ], "properties": { + "identifier": { + "description": "Identifier of the capability.", + "type": "string" + }, + "description": { + "description": "Description of the capability.", + "default": "", + "type": "string" + }, "context": { "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", "default": "local", @@ -47,14 +56,12 @@ } ] }, - "description": { - "description": "Description of the capability.", - "default": "", - "type": "string" - }, - "identifier": { - "description": "Identifier of the capability.", - "type": "string" + "windows": { + "description": "List of windows that uses this capability. Can be a glob pattern.", + "type": "array", + "items": { + "type": "string" + } }, "permissions": { "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", @@ -76,13 +83,6 @@ "items": { "$ref": "#/definitions/Target" } - }, - "windows": { - "description": "List of windows that uses this capability. Can be a glob pattern.", - "type": "array", - "items": { - "type": "string" - } } } }, @@ -123,4326 +123,15 @@ } ] }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "app:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "app:default" - ] - }, - { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-hide" - ] - }, - { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-show" - ] - }, - { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-name" - ] - }, - { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-tauri-version" - ] - }, - { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-version" - ] - }, - { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-hide" - ] - }, - { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-show" - ] - }, - { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-name" - ] - }, - { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-tauri-version" - ] - }, - { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-version" - ] - }, - { - "description": "cli:default -> Allows reading the CLI matches", - "type": "string", - "enum": [ - "cli:default" - ] - }, - { - "description": "cli:allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", - "type": "string", - "enum": [ - "cli:allow-cli-matches" - ] - }, - { - "description": "cli:deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", - "type": "string", - "enum": [ - "cli:deny-cli-matches" - ] - }, - { - "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-read" - ] - }, - { - "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-write" - ] - }, - { - "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-read" - ] - }, - { - "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-write" - ] - }, - { - "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-ask" - ] - }, - { - "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-confirm" - ] - }, - { - "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-message" - ] - }, - { - "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-open" - ] - }, - { - "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-save" - ] - }, - { - "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-ask" - ] - }, - { - "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-confirm" - ] - }, - { - "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-message" - ] - }, - { - "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-open" - ] - }, - { - "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-save" - ] - }, - { - "description": "event:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "event:default" - ] - }, - { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-emit" - ] - }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ { - "description": "event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-emit-to" - ] - }, - { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-listen" - ] - }, - { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-unlisten" - ] - }, - { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-emit" - ] - }, - { - "description": "event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-emit-to" - ] - }, - { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-listen" - ] - }, - { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-unlisten" - ] - }, - { - "description": "fs:allow-app-meta -> This allows 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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-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: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-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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" - ] - }, - { - "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:allow-is-registered" - ] - }, - { - "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:allow-register" - ] - }, - { - "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:allow-register-all" - ] - }, - { - "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:allow-unregister" - ] - }, - { - "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:allow-unregister-all" - ] - }, - { - "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:deny-is-registered" - ] - }, - { - "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:deny-register" - ] - }, - { - "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:deny-register-all" - ] - }, - { - "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:deny-unregister" - ] - }, - { - "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", - "type": "string", - "enum": [ - "global-shortcut:deny-unregister-all" - ] - }, - { - "description": "http:default -> Allows all fetch operations", - "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": "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" - ] - }, - { - "description": "log:default -> Allows the log command", - "type": "string", - "enum": [ - "log:default" - ] - }, - { - "description": "log:allow-log -> Enables the log command without any pre-configured scope.", - "type": "string", - "enum": [ - "log:allow-log" - ] - }, - { - "description": "log:deny-log -> Denies the log command without any pre-configured scope.", - "type": "string", - "enum": [ - "log:deny-log" - ] - }, - { - "description": "menu:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "menu:default" - ] - }, - { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-append" - ] - }, - { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-create-default" - ] - }, - { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-get" - ] - }, - { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-insert" - ] - }, - { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-checked" - ] - }, - { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-enabled" - ] - }, - { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-items" - ] - }, - { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-new" - ] - }, - { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-popup" - ] - }, - { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-prepend" - ] - }, - { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove" - ] - }, - { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove-at" - ] - }, - { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-accelerator" - ] - }, - { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-app-menu" - ] - }, - { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-window-menu" - ] - }, - { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-checked" - ] - }, - { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-enabled" - ] - }, - { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-icon" - ] - }, - { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-text" - ] - }, - { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-text" - ] - }, - { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-append" - ] - }, - { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-create-default" - ] - }, - { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-get" - ] - }, - { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-insert" - ] - }, - { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-checked" - ] - }, - { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-enabled" - ] - }, - { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-items" - ] - }, - { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-new" - ] - }, - { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-popup" - ] - }, - { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-prepend" - ] - }, - { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove" - ] - }, - { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove-at" - ] - }, - { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-accelerator" - ] - }, - { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-app-menu" - ] - }, - { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-window-menu" - ] - }, - { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-checked" - ] - }, - { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-enabled" - ] - }, - { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-icon" - ] - }, - { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-text" - ] - }, - { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-text" - ] - }, - { - "description": "notification:default -> Allows requesting permission, checking permission state and sending notifications", - "type": "string", - "enum": [ - "notification:default" - ] - }, - { - "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-is-permission-granted" - ] - }, - { - "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-notify" - ] - }, - { - "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-request-permission" - ] - }, - { - "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-is-permission-granted" - ] - }, - { - "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-notify" - ] - }, - { - "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-request-permission" - ] - }, - { - "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-arch" - ] - }, - { - "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-exe-extension" - ] - }, - { - "description": "os:allow-family -> Enables the family command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-family" - ] - }, - { - "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-hostname" - ] - }, - { - "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-locale" - ] - }, - { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-os-type" - ] - }, - { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-platform" - ] - }, - { - "description": "os:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-version" - ] - }, - { - "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-arch" - ] - }, - { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-exe-extension" - ] - }, - { - "description": "os:deny-family -> Denies the family command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-family" - ] - }, - { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-hostname" - ] - }, - { - "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-locale" - ] - }, - { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-os-type" - ] - }, - { - "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-platform" - ] - }, - { - "description": "os:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-version" - ] - }, - { - "description": "path:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "path:default" - ] - }, - { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-basename" - ] - }, - { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-dirname" - ] - }, - { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-extname" - ] - }, - { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-is-absolute" - ] - }, - { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-join" - ] - }, - { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-normalize" - ] - }, - { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve" - ] - }, - { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve-directory" - ] - }, - { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-basename" - ] - }, - { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-dirname" - ] - }, - { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-extname" - ] - }, - { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-is-absolute" - ] - }, - { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-join" - ] - }, - { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-normalize" - ] - }, - { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve" - ] - }, - { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve-directory" - ] - }, - { - "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", - "type": "string", - "enum": [ - "process:allow-exit" - ] - }, - { - "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", - "type": "string", - "enum": [ - "process:allow-restart" - ] - }, - { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", - "type": "string", - "enum": [ - "process:deny-exit" - ] - }, - { - "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", - "type": "string", - "enum": [ - "process:deny-restart" - ] - }, - { - "description": "resources:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "resources:default" - ] - }, - { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:allow-close" - ] - }, - { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:deny-close" - ] - }, - { - "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-open" - ] - }, - { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-stdin-write" - ] - }, - { - "description": "tray:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "tray:default" - ] - }, - { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-new" - ] - }, - { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon" - ] - }, - { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon-as-template" - ] - }, - { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-menu" - ] - }, - { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-temp-dir-path" - ] - }, - { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-title" - ] - }, - { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-tooltip" - ] - }, - { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-visible" - ] - }, - { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-new" - ] - }, - { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon" - ] - }, - { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon-as-template" - ] - }, - { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-menu" - ] - }, - { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-temp-dir-path" - ] - }, - { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-title" - ] - }, - { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-tooltip" - ] - }, - { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-visible" - ] - }, - { - "description": "updater:default -> Allows checking for new updates and installing them", - "type": "string", - "enum": [ - "updater:default" - ] - }, - { - "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", - "type": "string", - "enum": [ - "updater:allow-check" - ] - }, - { - "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "enum": [ - "updater:allow-download-and-install" - ] - }, - { - "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", - "type": "string", - "enum": [ - "updater:deny-check" - ] - }, - { - "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "enum": [ - "updater:deny-download-and-install" - ] - }, - { - "description": "webview:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "webview:default" - ] - }, - { - "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-create-webview" - ] - }, - { - "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-create-webview-window" - ] - }, - { - "description": "webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-internal-toggle-devtools" - ] - }, - { - "description": "webview:allow-print -> Enables the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-print" - ] - }, - { - "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-set-webview-focus" - ] - }, - { - "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-set-webview-position" - ] - }, - { - "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-set-webview-size" - ] - }, - { - "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-webview-close" - ] - }, - { - "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-webview-position" - ] - }, - { - "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-webview-size" - ] - }, - { - "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-create-webview" - ] - }, - { - "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-create-webview-window" - ] - }, - { - "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-internal-toggle-devtools" - ] - }, - { - "description": "webview:deny-print -> Denies the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-print" - ] - }, - { - "description": "webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-set-webview-focus" - ] - }, - { - "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-set-webview-position" - ] - }, - { - "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-set-webview-size" - ] - }, - { - "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-webview-close" - ] - }, - { - "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-webview-position" - ] - }, - { - "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-webview-size" - ] - }, - { - "description": "window:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "window:default" - ] - }, - { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-available-monitors" - ] - }, - { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-center" - ] - }, - { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-close" - ] - }, - { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-create" - ] - }, - { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-current-monitor" - ] - }, - { - "description": "window:allow-destroy -> Enables the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-destroy" - ] - }, - { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-hide" - ] - }, - { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-position" - ] - }, - { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-size" - ] - }, - { - "description": "window:allow-internal-on-mousedown -> Enables the internal_on_mousedown command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-on-mousedown" - ] - }, - { - "description": "window:allow-internal-on-mousemove -> Enables the internal_on_mousemove command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-on-mousemove" - ] - }, - { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-maximize" - ] - }, - { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-closable" - ] - }, - { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-decorated" - ] - }, - { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-focused" - ] - }, - { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-fullscreen" - ] - }, - { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximizable" - ] - }, - { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximized" - ] - }, - { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimizable" - ] - }, - { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimized" - ] - }, - { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-resizable" - ] - }, - { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-visible" - ] - }, - { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-maximize" - ] - }, - { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-minimize" - ] - }, - { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-position" - ] - }, - { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-size" - ] - }, - { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-primary-monitor" - ] - }, - { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-request-user-attention" - ] - }, - { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-scale-factor" - ] - }, - { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-bottom" - ] - }, - { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-top" - ] - }, - { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-closable" - ] - }, - { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-content-protected" - ] - }, - { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-grab" - ] - }, - { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-icon" - ] - }, - { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-position" - ] - }, - { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-visible" - ] - }, - { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-decorations" - ] - }, - { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-effects" - ] - }, - { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-focus" - ] - }, - { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-fullscreen" - ] - }, - { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-icon" - ] - }, - { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-max-size" - ] - }, - { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-maximizable" - ] - }, - { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-min-size" - ] - }, - { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-minimizable" - ] - }, - { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-position" - ] - }, - { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-progress-bar" - ] - }, - { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-resizable" - ] - }, - { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-shadow" - ] - }, - { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-size" - ] - }, - { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-skip-taskbar" - ] - }, - { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-title" - ] - }, - { - "description": "window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-visible-on-all-workspaces" - ] - }, - { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-show" - ] - }, - { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-start-dragging" - ] - }, - { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-theme" - ] - }, - { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-title" - ] - }, - { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-toggle-maximize" - ] - }, - { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unmaximize" - ] - }, - { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unminimize" - ] - }, - { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-available-monitors" - ] - }, - { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-center" - ] - }, - { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-close" - ] - }, - { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-create" - ] - }, - { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-current-monitor" - ] - }, - { - "description": "window:deny-destroy -> Denies the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-destroy" - ] - }, - { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-hide" - ] - }, - { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-position" - ] - }, - { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-size" - ] - }, - { - "description": "window:deny-internal-on-mousedown -> Denies the internal_on_mousedown command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-on-mousedown" - ] - }, - { - "description": "window:deny-internal-on-mousemove -> Denies the internal_on_mousemove command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-on-mousemove" - ] - }, - { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-maximize" - ] - }, - { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-closable" - ] - }, - { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-decorated" - ] - }, - { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-focused" - ] - }, - { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-fullscreen" - ] - }, - { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximizable" - ] - }, - { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximized" - ] - }, - { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimizable" - ] - }, - { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimized" - ] - }, - { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-resizable" - ] - }, - { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-visible" - ] - }, - { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-maximize" - ] - }, - { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-minimize" - ] - }, - { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-position" - ] - }, - { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-size" - ] - }, - { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-primary-monitor" - ] - }, - { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-request-user-attention" - ] - }, - { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-scale-factor" - ] - }, - { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-bottom" - ] - }, - { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-top" - ] - }, - { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-closable" - ] - }, - { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-content-protected" - ] - }, - { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-grab" - ] - }, - { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-icon" - ] - }, - { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-position" - ] - }, - { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-visible" - ] - }, - { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-decorations" - ] - }, - { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-effects" - ] - }, - { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-focus" - ] - }, - { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-fullscreen" - ] - }, - { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-icon" - ] - }, - { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-ignore-cursor-events" - ] - }, - { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-max-size" - ] - }, - { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-maximizable" - ] - }, - { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-min-size" - ] - }, - { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-minimizable" - ] - }, - { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-position" - ] - }, - { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-progress-bar" - ] - }, - { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-resizable" - ] - }, - { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-shadow" - ] - }, - { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-size" - ] - }, - { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-skip-taskbar" - ] - }, - { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-title" - ] - }, - { - "description": "window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-visible-on-all-workspaces" - ] - }, - { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-show" - ] - }, - { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-start-dragging" - ] - }, - { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-theme" - ] - }, - { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-title" - ] - }, - { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-toggle-maximize" - ] - }, - { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unmaximize" - ] - }, - { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unminimize" - ] - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } ] }, { @@ -4455,36 +144,6 @@ "identifier" ], "properties": { - "allow": { - "items": { - "title": "Entry", - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - }, - "$schema": "http://json-schema.org/draft-07/schema#" - } - }, - "deny": { - "items": { - "title": "Entry", - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - }, - "$schema": "http://json-schema.org/draft-07/schema#" - } - }, "identifier": { "oneOf": [ { @@ -6476,26 +2135,16 @@ ] } ] - } - } - }, - { - "type": "object", - "required": [ - "identifier" - ], - "properties": { + }, "allow": { "items": { - "title": "ScopeEntry", - "description": "HTTP scope entry object definition.", + "title": "Entry", "type": "object", "required": [ - "url" + "path" ], "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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/\"", + "path": { "type": "string" } }, @@ -6504,21 +2153,27 @@ }, "deny": { "items": { - "title": "ScopeEntry", - "description": "HTTP scope entry object definition.", + "title": "Entry", "type": "object", "required": [ - "url" + "path" ], "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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/\"", + "path": { "type": "string" } }, "$schema": "http://json-schema.org/draft-07/schema#" } - }, + } + } + }, + { + "type": "object", + "required": [ + "identifier" + ], + "properties": { "identifier": { "oneOf": [ { @@ -6585,6 +2240,40 @@ ] } ] + }, + "allow": { + "items": { + "title": "ScopeEntry", + "description": "HTTP scope entry object definition.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "deny": { + "items": { + "title": "ScopeEntry", + "description": "HTTP scope entry object definition.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } } } }, @@ -6594,6 +2283,66 @@ "identifier" ], "properties": { + "identifier": { + "oneOf": [ + { + "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-open" + ] + }, + { + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" + ] + } + ] + }, "allow": { "items": { "title": "Entry", @@ -6738,118 +2487,4314 @@ { "description": "A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.", "items": { - "$ref": "#/definitions/ShellAllowedArg" - }, - "type": "array" - } - ], - "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." - } - } - } - }, - "identifier": { - "oneOf": [ - { - "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-open" - ] - }, - { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-stdin-write" - ] + "$ref": "#/definitions/ShellAllowedArg" + }, + "type": "array" + } + ], + "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." + } } - ] + } } } } ] - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" + ] + }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, + { + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-show" + ] + }, + { + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-name" + ] + }, + { + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-tauri-version" + ] + }, + { + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-version" + ] + }, + { + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-hide" + ] + }, + { + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-show" + ] + }, + { + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-name" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" + ] + }, + { + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-version" + ] + }, + { + "description": "cli:default -> Allows reading the CLI matches", + "type": "string", + "enum": [ + "cli:default" + ] + }, + { + "description": "cli:allow-cli-matches -> Enables the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "cli:allow-cli-matches" + ] + }, + { + "description": "cli:deny-cli-matches -> Denies the cli_matches command without any pre-configured scope.", + "type": "string", + "enum": [ + "cli:deny-cli-matches" + ] + }, + { + "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-read" + ] + }, + { + "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-write" + ] + }, + { + "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:deny-read" + ] + }, + { + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:deny-write" + ] + }, + { + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-ask" + ] + }, + { + "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-confirm" + ] + }, + { + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-message" + ] + }, + { + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-open" + ] + }, + { + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-save" + ] + }, + { + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-ask" + ] + }, + { + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-confirm" + ] + }, + { + "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-message" + ] + }, + { + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-open" + ] + }, + { + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-save" + ] + }, + { + "description": "event:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "event:default" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" + ] + }, + { + "description": "event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit-to" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" + ] + }, + { + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit" + ] + }, + { + "description": "event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit-to" + ] + }, + { + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-listen" + ] + }, + { + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-unlisten" + ] + }, + { + "description": "fs:allow-app-meta -> This allows 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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-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: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-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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" + ] + }, + { + "description": "global-shortcut:allow-is-registered -> Enables the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-is-registered" + ] + }, + { + "description": "global-shortcut:allow-register -> Enables the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-register" + ] + }, + { + "description": "global-shortcut:allow-register-all -> Enables the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-register-all" + ] + }, + { + "description": "global-shortcut:allow-unregister -> Enables the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-unregister" + ] + }, + { + "description": "global-shortcut:allow-unregister-all -> Enables the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:allow-unregister-all" + ] + }, + { + "description": "global-shortcut:deny-is-registered -> Denies the is_registered command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-is-registered" + ] + }, + { + "description": "global-shortcut:deny-register -> Denies the register command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-register" + ] + }, + { + "description": "global-shortcut:deny-register-all -> Denies the register_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-register-all" + ] + }, + { + "description": "global-shortcut:deny-unregister -> Denies the unregister command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-unregister" + ] + }, + { + "description": "global-shortcut:deny-unregister-all -> Denies the unregister_all command without any pre-configured scope.", + "type": "string", + "enum": [ + "global-shortcut:deny-unregister-all" + ] + }, + { + "description": "http:default -> Allows all fetch operations", + "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": "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" + ] + }, + { + "description": "log:default -> Allows the log command", + "type": "string", + "enum": [ + "log:default" + ] + }, + { + "description": "log:allow-log -> Enables the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "log:allow-log" + ] + }, + { + "description": "log:deny-log -> Denies the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "log:deny-log" + ] + }, + { + "description": "menu:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "menu:default" + ] + }, + { + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-append" + ] + }, + { + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-create-default" + ] + }, + { + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-get" + ] + }, + { + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-insert" + ] + }, + { + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-checked" + ] + }, + { + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-enabled" + ] + }, + { + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-items" + ] + }, + { + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-new" + ] + }, + { + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-popup" + ] + }, + { + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-prepend" + ] + }, + { + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove" + ] + }, + { + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove-at" + ] + }, + { + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-accelerator" + ] + }, + { + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-app-menu" + ] + }, + { + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-window-menu" + ] + }, + { + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-checked" + ] + }, + { + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-enabled" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" + ] + }, + { + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-text" + ] + }, + { + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-text" + ] + }, + { + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-append" + ] + }, + { + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-create-default" + ] + }, + { + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-get" + ] + }, + { + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-insert" + ] + }, + { + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-checked" + ] + }, + { + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-enabled" + ] + }, + { + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-items" + ] + }, + { + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-new" + ] + }, + { + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-popup" + ] + }, + { + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-prepend" + ] + }, + { + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove" + ] + }, + { + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove-at" + ] + }, + { + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-accelerator" + ] + }, + { + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-app-menu" + ] + }, + { + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-window-menu" + ] + }, + { + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-checked" + ] + }, + { + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-enabled" + ] + }, + { + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-icon" + ] + }, + { + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-text" + ] + }, + { + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-text" + ] + }, + { + "description": "notification:default -> Allows requesting permission, checking permission state and sending notifications", + "type": "string", + "enum": [ + "notification:default" + ] + }, + { + "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-is-permission-granted" + ] + }, + { + "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-notify" + ] + }, + { + "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-request-permission" + ] + }, + { + "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-is-permission-granted" + ] + }, + { + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-notify" + ] + }, + { + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-request-permission" + ] + }, + { + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-arch" + ] + }, + { + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-exe-extension" + ] + }, + { + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-family" + ] + }, + { + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-hostname" + ] + }, + { + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-locale" + ] + }, + { + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-os-type" + ] + }, + { + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-platform" + ] + }, + { + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-version" + ] + }, + { + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-arch" + ] + }, + { + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-exe-extension" + ] + }, + { + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-family" + ] + }, + { + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-hostname" + ] + }, + { + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-locale" + ] + }, + { + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-os-type" + ] + }, + { + "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-platform" + ] + }, + { + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-version" + ] + }, + { + "description": "path:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "path:default" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" + ] + }, + { + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-extname" + ] + }, + { + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-is-absolute" + ] + }, + { + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-join" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, + { + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-extname" + ] + }, + { + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-is-absolute" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve" + ] + }, + { + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve-directory" + ] + }, + { + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:allow-exit" + ] + }, + { + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:allow-restart" + ] + }, + { + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-exit" + ] + }, + { + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-restart" + ] + }, + { + "description": "resources:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "resources:default" + ] + }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, + { + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:deny-close" + ] + }, + { + "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-open" + ] + }, + { + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" + ] + }, + { + "description": "tray:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "tray:default" + ] + }, + { + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-new" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" + ] + }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, + { + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-temp-dir-path" + ] + }, + { + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-title" + ] + }, + { + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-tooltip" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" + ] + }, + { + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-new" + ] + }, + { + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon" + ] + }, + { + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon-as-template" + ] + }, + { + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-menu" + ] + }, + { + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-title" + ] + }, + { + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-tooltip" + ] + }, + { + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-visible" + ] + }, + { + "description": "updater:default -> Allows checking for new updates and installing them", + "type": "string", + "enum": [ + "updater:default" + ] + }, + { + "description": "updater:allow-check -> Enables the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:allow-check" + ] + }, + { + "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:allow-download-and-install" + ] + }, + { + "description": "updater:deny-check -> Denies the check command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:deny-check" + ] + }, + { + "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.", + "type": "string", + "enum": [ + "updater:deny-download-and-install" + ] + }, + { + "description": "webview:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "webview:default" + ] + }, + { + "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-create-webview" + ] + }, + { + "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-create-webview-window" + ] + }, + { + "description": "webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-internal-toggle-devtools" + ] + }, + { + "description": "webview:allow-print -> Enables the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-print" + ] + }, + { + "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-set-webview-focus" + ] + }, + { + "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-set-webview-position" + ] + }, + { + "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-set-webview-size" + ] + }, + { + "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-webview-close" + ] + }, + { + "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-webview-position" + ] + }, + { + "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-webview-size" + ] + }, + { + "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-create-webview" + ] + }, + { + "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-create-webview-window" + ] + }, + { + "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-internal-toggle-devtools" + ] + }, + { + "description": "webview:deny-print -> Denies the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-print" + ] + }, + { + "description": "webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-set-webview-focus" + ] + }, + { + "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-set-webview-position" + ] + }, + { + "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-set-webview-size" + ] + }, + { + "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-webview-close" + ] + }, + { + "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-webview-position" + ] + }, + { + "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-webview-size" + ] + }, + { + "description": "window:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "window:default" + ] + }, + { + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-available-monitors" + ] + }, + { + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-center" + ] + }, + { + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-close" + ] + }, + { + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-create" + ] + }, + { + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-current-monitor" + ] + }, + { + "description": "window:allow-destroy -> Enables the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-destroy" + ] + }, + { + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-hide" + ] + }, + { + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-position" + ] + }, + { + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-size" + ] + }, + { + "description": "window:allow-internal-on-mousedown -> Enables the internal_on_mousedown command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-on-mousedown" + ] + }, + { + "description": "window:allow-internal-on-mousemove -> Enables the internal_on_mousemove command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-on-mousemove" + ] + }, + { + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-closable" + ] + }, + { + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-decorated" + ] + }, + { + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-focused" + ] + }, + { + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-fullscreen" + ] + }, + { + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximizable" + ] + }, + { + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximized" + ] + }, + { + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimizable" + ] + }, + { + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimized" + ] + }, + { + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-resizable" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" + ] + }, + { + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-minimize" + ] + }, + { + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-position" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-primary-monitor" + ] + }, + { + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-request-user-attention" + ] + }, + { + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-scale-factor" + ] + }, + { + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-bottom" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" + ] + }, + { + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-closable" + ] + }, + { + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-content-protected" + ] + }, + { + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-grab" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" + ] + }, + { + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-position" + ] + }, + { + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-visible" + ] + }, + { + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-decorations" + ] + }, + { + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-effects" + ] + }, + { + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-focus" + ] + }, + { + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-fullscreen" + ] + }, + { + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-icon" + ] + }, + { + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-max-size" + ] + }, + { + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-maximizable" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-minimizable" + ] + }, + { + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-position" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-resizable" + ] + }, + { + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-shadow" + ] + }, + { + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-size" + ] + }, + { + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-skip-taskbar" + ] + }, + { + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-title" + ] + }, + { + "description": "window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-visible-on-all-workspaces" + ] + }, + { + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-show" + ] + }, + { + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-start-dragging" + ] + }, + { + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-theme" + ] + }, + { + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-title" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" + ] + }, + { + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unmaximize" + ] + }, + { + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unminimize" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" + ] + }, + { + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-center" + ] + }, + { + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-close" + ] + }, + { + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-create" + ] + }, + { + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-current-monitor" + ] + }, + { + "description": "window:deny-destroy -> Denies the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-destroy" + ] + }, + { + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-hide" + ] + }, + { + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-position" + ] + }, + { + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-size" + ] + }, + { + "description": "window:deny-internal-on-mousedown -> Denies the internal_on_mousedown command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-on-mousedown" + ] + }, + { + "description": "window:deny-internal-on-mousemove -> Denies the internal_on_mousemove command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-on-mousemove" + ] + }, + { + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-closable" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" + ] + }, + { + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-focused" + ] + }, + { + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-fullscreen" + ] + }, + { + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximizable" + ] + }, + { + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximized" + ] + }, + { + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimizable" + ] + }, + { + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimized" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-visible" + ] + }, + { + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-maximize" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" + ] + }, + { + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-position" + ] + }, + { + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-size" + ] + }, + { + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-primary-monitor" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-request-user-attention" + ] + }, + { + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-scale-factor" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, { - "description": "MacOS.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "macOS" + "window:deny-set-cursor-grab" ] }, { - "description": "Windows.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "windows" + "window:deny-set-cursor-icon" ] }, { - "description": "Linux.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "linux" + "window:deny-set-cursor-position" ] }, { - "description": "Android.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "android" + "window:deny-set-cursor-visible" ] }, { - "description": "iOS.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "iOS" + "window:deny-set-decorations" + ] + }, + { + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-effects" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-visible-on-all-workspaces" + ] + }, + { + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-show" + ] + }, + { + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-start-dragging" + ] + }, + { + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-theme" + ] + }, + { + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-title" + ] + }, + { + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" ] } ] @@ -6892,6 +6837,61 @@ } } ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS.", + "type": "string", + "enum": [ + "iOS" + ] + } + ] } } } \ No newline at end of file From c5818654d2c2a610f441e9f0fba9f38f03f60983 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Fri, 2 Feb 2024 13:59:05 -0300 Subject: [PATCH 26/35] update tauri --- Cargo.lock | 16 +- .../capabilities/schemas/mobile-schema.json | 8976 ++++++++--------- .../permissions/autogenerated/reference.md | 42 + .../permissions/autogenerated/reference.md | 26 + .../permissions/autogenerated/reference.md | 50 + .../permissions/autogenerated/reference.md | 18 + .../permissions/autogenerated/reference.md | 14 + .../permissions/autogenerated/reference.md | 18 + .../permissions/autogenerated/reference.md | 14 + .../permissions/autogenerated/reference.md | 42 + .../fs/permissions/autogenerated/reference.md | 1164 +++ .../permissions/autogenerated/reference.md | 42 + .../permissions/autogenerated/reference.md | 38 + .../permissions/autogenerated/reference.md | 14 + .../permissions/autogenerated/reference.md | 26 + .../permissions/autogenerated/reference.md | 30 + .../os/permissions/autogenerated/reference.md | 66 + .../permissions/autogenerated/reference.md | 14 + .../permissions/autogenerated/reference.md | 18 + .../permissions/autogenerated/reference.md | 34 + .../permissions/autogenerated/reference.md | 34 + .../permissions/autogenerated/reference.md | 98 + .../permissions/autogenerated/reference.md | 90 + .../permissions/autogenerated/reference.md | 22 + .../permissions/autogenerated/reference.md | 18 + .../permissions/autogenerated/reference.md | 22 + .../permissions/autogenerated/reference.md | 18 + 27 files changed, 6468 insertions(+), 4496 deletions(-) create mode 100644 plugins/authenticator/permissions/autogenerated/reference.md create mode 100644 plugins/autostart/permissions/autogenerated/reference.md create mode 100644 plugins/barcode-scanner/permissions/autogenerated/reference.md create mode 100644 plugins/biometric/permissions/autogenerated/reference.md create mode 100644 plugins/cli/permissions/autogenerated/reference.md create mode 100644 plugins/clipboard-manager/permissions/autogenerated/reference.md create mode 100644 plugins/deep-link/permissions/autogenerated/reference.md create mode 100644 plugins/dialog/permissions/autogenerated/reference.md create mode 100644 plugins/fs/permissions/autogenerated/reference.md create mode 100644 plugins/global-shortcut/permissions/autogenerated/reference.md create mode 100644 plugins/http/permissions/autogenerated/reference.md create mode 100644 plugins/log/permissions/autogenerated/reference.md create mode 100644 plugins/nfc/permissions/autogenerated/reference.md create mode 100644 plugins/notification/permissions/autogenerated/reference.md create mode 100644 plugins/os/permissions/autogenerated/reference.md create mode 100644 plugins/positioner/permissions/autogenerated/reference.md create mode 100644 plugins/process/permissions/autogenerated/reference.md create mode 100644 plugins/shell/permissions/autogenerated/reference.md create mode 100644 plugins/sql/permissions/autogenerated/reference.md create mode 100644 plugins/store/permissions/autogenerated/reference.md create mode 100644 plugins/stronghold/permissions/autogenerated/reference.md create mode 100644 plugins/updater/permissions/autogenerated/reference.md create mode 100644 plugins/upload/permissions/autogenerated/reference.md create mode 100644 plugins/websocket/permissions/autogenerated/reference.md create mode 100644 plugins/window-state/permissions/autogenerated/reference.md diff --git a/Cargo.lock b/Cargo.lock index 62b275716..b9a71fc63 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5997,7 +5997,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6049,7 +6049,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" dependencies = [ "anyhow", "cargo_toml", @@ -6074,7 +6074,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" dependencies = [ "base64 0.21.5", "brotli", @@ -6099,7 +6099,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" dependencies = [ "heck", "proc-macro2", @@ -6112,7 +6112,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" dependencies = [ "cargo_metadata", "glob", @@ -6566,7 +6566,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" dependencies = [ "gtk", "http", @@ -6583,7 +6583,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6604,7 +6604,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#7315189e7666c91890194c456975054abf316016" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/examples/api/src-tauri/capabilities/schemas/mobile-schema.json b/examples/api/src-tauri/capabilities/schemas/mobile-schema.json index 4b379142a..c296543f8 100644 --- a/examples/api/src-tauri/capabilities/schemas/mobile-schema.json +++ b/examples/api/src-tauri/capabilities/schemas/mobile-schema.json @@ -38,6 +38,15 @@ "windows" ], "properties": { + "identifier": { + "description": "Identifier of the capability.", + "type": "string" + }, + "description": { + "description": "Description of the capability.", + "default": "", + "type": "string" + }, "context": { "description": "Execution context of the capability.\n\nAt runtime, Tauri filters the IPC command together with the context to determine wheter it is allowed or not and its scope.", "default": "local", @@ -47,14 +56,12 @@ } ] }, - "description": { - "description": "Description of the capability.", - "default": "", - "type": "string" - }, - "identifier": { - "description": "Identifier of the capability.", - "type": "string" + "windows": { + "description": "List of windows that uses this capability. Can be a glob pattern.", + "type": "array", + "items": { + "type": "string" + } }, "permissions": { "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.", @@ -76,13 +83,6 @@ "items": { "$ref": "#/definitions/Target" } - }, - "windows": { - "description": "List of windows that uses this capability. Can be a glob pattern.", - "type": "array", - "items": { - "type": "string" - } } } }, @@ -123,4354 +123,15 @@ } ] }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "app:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "app:default" - ] - }, - { - "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-hide" - ] - }, - { - "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-app-show" - ] - }, - { - "description": "app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-name" - ] - }, - { - "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-tauri-version" - ] - }, - { - "description": "app:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:allow-version" - ] - }, - { - "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-hide" - ] - }, - { - "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-app-show" - ] - }, - { - "description": "app:deny-name -> Denies the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-name" - ] - }, - { - "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-tauri-version" - ] - }, - { - "description": "app:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "app:deny-version" - ] - }, - { - "description": "barcode-scanner:allow-cancel -> Enables the cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:allow-cancel" - ] - }, - { - "description": "barcode-scanner:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:allow-check-permissions" - ] - }, - { - "description": "barcode-scanner:allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:allow-open-app-settings" - ] - }, - { - "description": "barcode-scanner:allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:allow-request-permissions" - ] - }, - { - "description": "barcode-scanner:allow-scan -> Enables the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:allow-scan" - ] - }, - { - "description": "barcode-scanner:allow-vibrate -> Enables the vibrate command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:allow-vibrate" - ] - }, - { - "description": "barcode-scanner:deny-cancel -> Denies the cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:deny-cancel" - ] - }, - { - "description": "barcode-scanner:deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:deny-check-permissions" - ] - }, - { - "description": "barcode-scanner:deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:deny-open-app-settings" - ] - }, - { - "description": "barcode-scanner:deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:deny-request-permissions" - ] - }, - { - "description": "barcode-scanner:deny-scan -> Denies the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:deny-scan" - ] - }, - { - "description": "barcode-scanner:deny-vibrate -> Denies the vibrate command without any pre-configured scope.", - "type": "string", - "enum": [ - "barcode-scanner:deny-vibrate" - ] - }, - { - "description": "biometric:allow-authenticate -> Enables the authenticate command without any pre-configured scope.", - "type": "string", - "enum": [ - "biometric:allow-authenticate" - ] - }, - { - "description": "biometric:allow-status -> Enables the status command without any pre-configured scope.", - "type": "string", - "enum": [ - "biometric:allow-status" - ] - }, - { - "description": "biometric:deny-authenticate -> Denies the authenticate command without any pre-configured scope.", - "type": "string", - "enum": [ - "biometric:deny-authenticate" - ] - }, - { - "description": "biometric:deny-status -> Denies the status command without any pre-configured scope.", - "type": "string", - "enum": [ - "biometric:deny-status" - ] - }, - { - "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-read" - ] - }, - { - "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-write" - ] - }, - { - "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-read" - ] - }, + "PermissionEntry": { + "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", + "anyOf": [ { - "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-write" - ] - }, - { - "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-ask" - ] - }, - { - "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-confirm" - ] - }, - { - "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-message" - ] - }, - { - "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-open" - ] - }, - { - "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:allow-save" - ] - }, - { - "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-ask" - ] - }, - { - "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-confirm" - ] - }, - { - "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-message" - ] - }, - { - "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-open" - ] - }, - { - "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "dialog:deny-save" - ] - }, - { - "description": "event:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "event:default" - ] - }, - { - "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-emit" - ] - }, - { - "description": "event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-emit-to" - ] - }, - { - "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-listen" - ] - }, - { - "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:allow-unlisten" - ] - }, - { - "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-emit" - ] - }, - { - "description": "event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-emit-to" - ] - }, - { - "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-listen" - ] - }, - { - "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "event:deny-unlisten" - ] - }, - { - "description": "fs:allow-app-meta -> This allows 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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-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: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-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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" - ] - }, - { - "description": "http:default -> Allows all fetch operations", - "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": "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" - ] - }, - { - "description": "log:default -> Allows the log command", - "type": "string", - "enum": [ - "log:default" - ] - }, - { - "description": "log:allow-log -> Enables the log command without any pre-configured scope.", - "type": "string", - "enum": [ - "log:allow-log" - ] - }, - { - "description": "log:deny-log -> Denies the log command without any pre-configured scope.", - "type": "string", - "enum": [ - "log:deny-log" - ] - }, - { - "description": "menu:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "menu:default" - ] - }, - { - "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-append" - ] - }, - { - "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-create-default" - ] - }, - { - "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-get" - ] - }, - { - "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-insert" - ] - }, - { - "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-checked" - ] - }, - { - "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-is-enabled" - ] - }, - { - "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-items" - ] - }, - { - "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-new" - ] - }, - { - "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-popup" - ] - }, - { - "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-prepend" - ] - }, - { - "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove" - ] - }, - { - "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-remove-at" - ] - }, - { - "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-accelerator" - ] - }, - { - "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-app-menu" - ] - }, - { - "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-window-menu" - ] - }, - { - "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-checked" - ] - }, - { - "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-enabled" - ] - }, - { - "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-icon" - ] - }, - { - "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-set-text" - ] - }, - { - "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:allow-text" - ] - }, - { - "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-append" - ] - }, - { - "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-create-default" - ] - }, - { - "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-get" - ] - }, - { - "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-insert" - ] - }, - { - "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-checked" - ] - }, - { - "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-is-enabled" - ] - }, - { - "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-items" - ] - }, - { - "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-new" - ] - }, - { - "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-popup" - ] - }, - { - "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-prepend" - ] - }, - { - "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove" - ] - }, - { - "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-remove-at" - ] - }, - { - "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-accelerator" - ] - }, - { - "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-app-menu" - ] - }, - { - "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-window-menu" - ] - }, - { - "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-checked" - ] - }, - { - "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-enabled" - ] - }, - { - "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-icon" - ] - }, - { - "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-set-text" - ] - }, - { - "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "menu:deny-text" - ] - }, - { - "description": "nfc:allow-is-available -> Enables the is_available command without any pre-configured scope.", - "type": "string", - "enum": [ - "nfc:allow-is-available" - ] - }, - { - "description": "nfc:allow-scan -> Enables the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "nfc:allow-scan" - ] - }, - { - "description": "nfc:allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "nfc:allow-write" - ] - }, - { - "description": "nfc:deny-is-available -> Denies the is_available command without any pre-configured scope.", - "type": "string", - "enum": [ - "nfc:deny-is-available" - ] - }, - { - "description": "nfc:deny-scan -> Denies the scan command without any pre-configured scope.", - "type": "string", - "enum": [ - "nfc:deny-scan" - ] - }, - { - "description": "nfc:deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "nfc:deny-write" - ] - }, - { - "description": "notification:default -> Allows requesting permission, checking permission state and sending notifications", - "type": "string", - "enum": [ - "notification:default" - ] - }, - { - "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-is-permission-granted" - ] - }, - { - "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-notify" - ] - }, - { - "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-request-permission" - ] - }, - { - "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-is-permission-granted" - ] - }, - { - "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-notify" - ] - }, - { - "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-request-permission" - ] - }, - { - "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-arch" - ] - }, - { - "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-exe-extension" - ] - }, - { - "description": "os:allow-family -> Enables the family command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-family" - ] - }, - { - "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-hostname" - ] - }, - { - "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-locale" - ] - }, - { - "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-os-type" - ] - }, - { - "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-platform" - ] - }, - { - "description": "os:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:allow-version" - ] - }, - { - "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-arch" - ] - }, - { - "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-exe-extension" - ] - }, - { - "description": "os:deny-family -> Denies the family command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-family" - ] - }, - { - "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-hostname" - ] - }, - { - "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-locale" - ] - }, - { - "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-os-type" - ] - }, - { - "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-platform" - ] - }, - { - "description": "os:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "os:deny-version" - ] - }, - { - "description": "path:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "path:default" - ] - }, - { - "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-basename" - ] - }, - { - "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-dirname" - ] - }, - { - "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-extname" - ] - }, - { - "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-is-absolute" - ] - }, - { - "description": "path:allow-join -> Enables the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-join" - ] - }, - { - "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-normalize" - ] - }, - { - "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve" - ] - }, - { - "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:allow-resolve-directory" - ] - }, - { - "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-basename" - ] - }, - { - "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-dirname" - ] - }, - { - "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-extname" - ] - }, - { - "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-is-absolute" - ] - }, - { - "description": "path:deny-join -> Denies the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-join" - ] - }, - { - "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-normalize" - ] - }, - { - "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve" - ] - }, - { - "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "path:deny-resolve-directory" - ] - }, - { - "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", - "type": "string", - "enum": [ - "process:allow-exit" - ] - }, - { - "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", - "type": "string", - "enum": [ - "process:allow-restart" - ] - }, - { - "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", - "type": "string", - "enum": [ - "process:deny-exit" - ] - }, - { - "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", - "type": "string", - "enum": [ - "process:deny-restart" - ] - }, - { - "description": "resources:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "resources:default" - ] - }, - { - "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:allow-close" - ] - }, - { - "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "resources:deny-close" - ] - }, - { - "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-open" - ] - }, - { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-stdin-write" - ] - }, - { - "description": "tray:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "tray:default" - ] - }, - { - "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-new" - ] - }, - { - "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon" - ] - }, - { - "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-icon-as-template" - ] - }, - { - "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-menu" - ] - }, - { - "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-temp-dir-path" - ] - }, - { - "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-title" - ] - }, - { - "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-tooltip" - ] - }, - { - "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:allow-set-visible" - ] - }, - { - "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-new" - ] - }, - { - "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon" - ] - }, - { - "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-icon-as-template" - ] - }, - { - "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-menu" - ] - }, - { - "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-show-menu-on-left-click" - ] - }, - { - "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-temp-dir-path" - ] - }, - { - "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-title" - ] - }, - { - "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-tooltip" - ] - }, - { - "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "tray:deny-set-visible" - ] - }, - { - "description": "webview:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "webview:default" - ] - }, - { - "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-create-webview" - ] - }, - { - "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-create-webview-window" - ] - }, - { - "description": "webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-internal-toggle-devtools" - ] - }, - { - "description": "webview:allow-print -> Enables the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-print" - ] - }, - { - "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-set-webview-focus" - ] - }, - { - "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-set-webview-position" - ] - }, - { - "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-set-webview-size" - ] - }, - { - "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-webview-close" - ] - }, - { - "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-webview-position" - ] - }, - { - "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:allow-webview-size" - ] - }, - { - "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-create-webview" - ] - }, - { - "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-create-webview-window" - ] - }, - { - "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-internal-toggle-devtools" - ] - }, - { - "description": "webview:deny-print -> Denies the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-print" - ] - }, - { - "description": "webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-set-webview-focus" - ] - }, - { - "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-set-webview-position" - ] - }, - { - "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-set-webview-size" - ] - }, - { - "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-webview-close" - ] - }, - { - "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-webview-position" - ] - }, - { - "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "webview:deny-webview-size" - ] - }, - { - "description": "window:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "window:default" - ] - }, - { - "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-available-monitors" - ] - }, - { - "description": "window:allow-center -> Enables the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-center" - ] - }, - { - "description": "window:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-close" - ] - }, - { - "description": "window:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-create" - ] - }, - { - "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-current-monitor" - ] - }, - { - "description": "window:allow-destroy -> Enables the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-destroy" - ] - }, - { - "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-hide" - ] - }, - { - "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-position" - ] - }, - { - "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-inner-size" - ] - }, - { - "description": "window:allow-internal-on-mousedown -> Enables the internal_on_mousedown command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-on-mousedown" - ] - }, - { - "description": "window:allow-internal-on-mousemove -> Enables the internal_on_mousemove command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-on-mousemove" - ] - }, - { - "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-internal-toggle-maximize" - ] - }, - { - "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-closable" - ] - }, - { - "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-decorated" - ] - }, - { - "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-focused" - ] - }, - { - "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-fullscreen" - ] - }, - { - "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximizable" - ] - }, - { - "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-maximized" - ] - }, - { - "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimizable" - ] - }, - { - "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-minimized" - ] - }, - { - "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-resizable" - ] - }, - { - "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-is-visible" - ] - }, - { - "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-maximize" - ] - }, - { - "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-minimize" - ] - }, - { - "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-position" - ] - }, - { - "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-outer-size" - ] - }, - { - "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-primary-monitor" - ] - }, - { - "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-request-user-attention" - ] - }, - { - "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-scale-factor" - ] - }, - { - "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-bottom" - ] - }, - { - "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-always-on-top" - ] - }, - { - "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-closable" - ] - }, - { - "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-content-protected" - ] - }, - { - "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-grab" - ] - }, - { - "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-icon" - ] - }, - { - "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-position" - ] - }, - { - "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-cursor-visible" - ] - }, - { - "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-decorations" - ] - }, - { - "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-effects" - ] - }, - { - "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-focus" - ] - }, - { - "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-fullscreen" - ] - }, - { - "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-icon" - ] - }, - { - "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-ignore-cursor-events" - ] - }, - { - "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-max-size" - ] - }, - { - "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-maximizable" - ] - }, - { - "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-min-size" - ] - }, - { - "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-minimizable" - ] - }, - { - "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-position" - ] - }, - { - "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-progress-bar" - ] - }, - { - "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-resizable" - ] - }, - { - "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-shadow" - ] - }, - { - "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-size" - ] - }, - { - "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-skip-taskbar" - ] - }, - { - "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-title" - ] - }, - { - "description": "window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-set-visible-on-all-workspaces" - ] - }, - { - "description": "window:allow-show -> Enables the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-show" - ] - }, - { - "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-start-dragging" - ] - }, - { - "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-theme" - ] - }, - { - "description": "window:allow-title -> Enables the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-title" - ] - }, - { - "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-toggle-maximize" - ] - }, - { - "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unmaximize" - ] - }, - { - "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:allow-unminimize" - ] - }, - { - "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-available-monitors" - ] - }, - { - "description": "window:deny-center -> Denies the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-center" - ] - }, - { - "description": "window:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-close" - ] - }, - { - "description": "window:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-create" - ] - }, - { - "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-current-monitor" - ] - }, - { - "description": "window:deny-destroy -> Denies the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-destroy" - ] - }, - { - "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-hide" - ] - }, - { - "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-position" - ] - }, - { - "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-inner-size" - ] - }, - { - "description": "window:deny-internal-on-mousedown -> Denies the internal_on_mousedown command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-on-mousedown" - ] - }, - { - "description": "window:deny-internal-on-mousemove -> Denies the internal_on_mousemove command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-on-mousemove" - ] - }, - { - "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-internal-toggle-maximize" - ] - }, - { - "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-closable" - ] - }, - { - "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-decorated" - ] - }, - { - "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-focused" - ] - }, - { - "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-fullscreen" - ] - }, - { - "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximizable" - ] - }, - { - "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-maximized" - ] - }, - { - "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimizable" - ] - }, - { - "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-minimized" - ] - }, - { - "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-resizable" - ] - }, - { - "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-is-visible" - ] - }, - { - "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-maximize" - ] - }, - { - "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-minimize" - ] - }, - { - "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-position" - ] - }, - { - "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-outer-size" - ] - }, - { - "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-primary-monitor" - ] - }, - { - "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-request-user-attention" - ] - }, - { - "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-scale-factor" - ] - }, - { - "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-bottom" - ] - }, - { - "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-always-on-top" - ] - }, - { - "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-closable" - ] - }, - { - "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-content-protected" - ] - }, - { - "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-grab" - ] - }, - { - "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-icon" - ] - }, - { - "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-position" - ] - }, - { - "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-cursor-visible" - ] - }, - { - "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-decorations" - ] - }, - { - "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-effects" - ] - }, - { - "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-focus" - ] - }, - { - "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-fullscreen" - ] - }, - { - "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-icon" - ] - }, - { - "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-ignore-cursor-events" - ] - }, - { - "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-max-size" - ] - }, - { - "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-maximizable" - ] - }, - { - "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-min-size" - ] - }, - { - "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-minimizable" - ] - }, - { - "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-position" - ] - }, - { - "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-progress-bar" - ] - }, - { - "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-resizable" - ] - }, - { - "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-shadow" - ] - }, - { - "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-size" - ] - }, - { - "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-skip-taskbar" - ] - }, - { - "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-title" - ] - }, - { - "description": "window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-set-visible-on-all-workspaces" - ] - }, - { - "description": "window:deny-show -> Denies the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-show" - ] - }, - { - "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-start-dragging" - ] - }, - { - "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-theme" - ] - }, - { - "description": "window:deny-title -> Denies the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-title" - ] - }, - { - "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-toggle-maximize" - ] - }, - { - "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unmaximize" - ] - }, - { - "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "window:deny-unminimize" - ] - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } + "description": "Reference a permission or permission set by identifier.", + "allOf": [ + { + "$ref": "#/definitions/Identifier" + } ] }, { @@ -4483,36 +144,6 @@ "identifier" ], "properties": { - "allow": { - "items": { - "title": "Entry", - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - }, - "$schema": "http://json-schema.org/draft-07/schema#" - } - }, - "deny": { - "items": { - "title": "Entry", - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - }, - "$schema": "http://json-schema.org/draft-07/schema#" - } - }, "identifier": { "oneOf": [ { @@ -6504,26 +2135,16 @@ ] } ] - } - } - }, - { - "type": "object", - "required": [ - "identifier" - ], - "properties": { + }, "allow": { "items": { - "title": "ScopeEntry", - "description": "HTTP scope entry object definition.", + "title": "Entry", "type": "object", "required": [ - "url" + "path" ], "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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/\"", + "path": { "type": "string" } }, @@ -6532,21 +2153,27 @@ }, "deny": { "items": { - "title": "ScopeEntry", - "description": "HTTP scope entry object definition.", + "title": "Entry", "type": "object", "required": [ - "url" + "path" ], "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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/\"", + "path": { "type": "string" } }, "$schema": "http://json-schema.org/draft-07/schema#" } - }, + } + } + }, + { + "type": "object", + "required": [ + "identifier" + ], + "properties": { "identifier": { "oneOf": [ { @@ -6613,6 +2240,40 @@ ] } ] + }, + "allow": { + "items": { + "title": "ScopeEntry", + "description": "HTTP scope entry object definition.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } + }, + "deny": { + "items": { + "title": "ScopeEntry", + "description": "HTTP scope entry object definition.", + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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" + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" + } } } }, @@ -6622,6 +2283,66 @@ "identifier" ], "properties": { + "identifier": { + "oneOf": [ + { + "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-open" + ] + }, + { + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" + ] + } + ] + }, "allow": { "items": { "title": "Entry", @@ -6775,109 +2496,4333 @@ } } } - }, - "identifier": { - "oneOf": [ - { - "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-open" - ] - }, - { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-stdin-write" - ] - } - ] } } } ] - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ + } + ] + }, + "Identifier": { + "description": "Permission identifier", + "oneOf": [ + { + "description": "app:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "app:default" + ] + }, + { + "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-hide" + ] + }, + { + "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-app-show" + ] + }, + { + "description": "app:allow-name -> Enables the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-name" + ] + }, + { + "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-tauri-version" + ] + }, + { + "description": "app:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:allow-version" + ] + }, + { + "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-hide" + ] + }, + { + "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-app-show" + ] + }, + { + "description": "app:deny-name -> Denies the name command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-name" + ] + }, + { + "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-tauri-version" + ] + }, + { + "description": "app:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "app:deny-version" + ] + }, + { + "description": "barcode-scanner:allow-cancel -> Enables the cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:allow-cancel" + ] + }, + { + "description": "barcode-scanner:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:allow-check-permissions" + ] + }, + { + "description": "barcode-scanner:allow-open-app-settings -> Enables the open_app_settings command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:allow-open-app-settings" + ] + }, + { + "description": "barcode-scanner:allow-request-permissions -> Enables the request_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:allow-request-permissions" + ] + }, + { + "description": "barcode-scanner:allow-scan -> Enables the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:allow-scan" + ] + }, + { + "description": "barcode-scanner:allow-vibrate -> Enables the vibrate command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:allow-vibrate" + ] + }, + { + "description": "barcode-scanner:deny-cancel -> Denies the cancel command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:deny-cancel" + ] + }, + { + "description": "barcode-scanner:deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:deny-check-permissions" + ] + }, + { + "description": "barcode-scanner:deny-open-app-settings -> Denies the open_app_settings command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:deny-open-app-settings" + ] + }, + { + "description": "barcode-scanner:deny-request-permissions -> Denies the request_permissions command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:deny-request-permissions" + ] + }, + { + "description": "barcode-scanner:deny-scan -> Denies the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:deny-scan" + ] + }, + { + "description": "barcode-scanner:deny-vibrate -> Denies the vibrate command without any pre-configured scope.", + "type": "string", + "enum": [ + "barcode-scanner:deny-vibrate" + ] + }, + { + "description": "biometric:allow-authenticate -> Enables the authenticate command without any pre-configured scope.", + "type": "string", + "enum": [ + "biometric:allow-authenticate" + ] + }, + { + "description": "biometric:allow-status -> Enables the status command without any pre-configured scope.", + "type": "string", + "enum": [ + "biometric:allow-status" + ] + }, + { + "description": "biometric:deny-authenticate -> Denies the authenticate command without any pre-configured scope.", + "type": "string", + "enum": [ + "biometric:deny-authenticate" + ] + }, + { + "description": "biometric:deny-status -> Denies the status command without any pre-configured scope.", + "type": "string", + "enum": [ + "biometric:deny-status" + ] + }, + { + "description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-read" + ] + }, + { + "description": "clipboard-manager:allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:allow-write" + ] + }, + { + "description": "clipboard-manager:deny-read -> Denies the read command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:deny-read" + ] + }, + { + "description": "clipboard-manager:deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "clipboard-manager:deny-write" + ] + }, + { + "description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-ask" + ] + }, + { + "description": "dialog:allow-confirm -> Enables the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-confirm" + ] + }, + { + "description": "dialog:allow-message -> Enables the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-message" + ] + }, + { + "description": "dialog:allow-open -> Enables the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-open" + ] + }, + { + "description": "dialog:allow-save -> Enables the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:allow-save" + ] + }, + { + "description": "dialog:deny-ask -> Denies the ask command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-ask" + ] + }, + { + "description": "dialog:deny-confirm -> Denies the confirm command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-confirm" + ] + }, + { + "description": "dialog:deny-message -> Denies the message command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-message" + ] + }, + { + "description": "dialog:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-open" + ] + }, + { + "description": "dialog:deny-save -> Denies the save command without any pre-configured scope.", + "type": "string", + "enum": [ + "dialog:deny-save" + ] + }, + { + "description": "event:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "event:default" + ] + }, + { + "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit" + ] + }, + { + "description": "event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-emit-to" + ] + }, + { + "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-listen" + ] + }, + { + "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:allow-unlisten" + ] + }, + { + "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit" + ] + }, + { + "description": "event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-emit-to" + ] + }, + { + "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-listen" + ] + }, + { + "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", + "type": "string", + "enum": [ + "event:deny-unlisten" + ] + }, + { + "description": "fs:allow-app-meta -> This allows 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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 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 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 recusrive 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:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\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-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: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-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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" + ] + }, + { + "description": "http:default -> Allows all fetch operations", + "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": "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" + ] + }, + { + "description": "log:default -> Allows the log command", + "type": "string", + "enum": [ + "log:default" + ] + }, + { + "description": "log:allow-log -> Enables the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "log:allow-log" + ] + }, + { + "description": "log:deny-log -> Denies the log command without any pre-configured scope.", + "type": "string", + "enum": [ + "log:deny-log" + ] + }, + { + "description": "menu:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "menu:default" + ] + }, + { + "description": "menu:allow-append -> Enables the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-append" + ] + }, + { + "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-create-default" + ] + }, + { + "description": "menu:allow-get -> Enables the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-get" + ] + }, + { + "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-insert" + ] + }, + { + "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-checked" + ] + }, + { + "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-is-enabled" + ] + }, + { + "description": "menu:allow-items -> Enables the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-items" + ] + }, + { + "description": "menu:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-new" + ] + }, + { + "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-popup" + ] + }, + { + "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-prepend" + ] + }, + { + "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove" + ] + }, + { + "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-remove-at" + ] + }, + { + "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-accelerator" + ] + }, + { + "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-app-menu" + ] + }, + { + "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-window-menu" + ] + }, + { + "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-checked" + ] + }, + { + "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-enabled" + ] + }, + { + "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-icon" + ] + }, + { + "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-set-text" + ] + }, + { + "description": "menu:allow-text -> Enables the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:allow-text" + ] + }, + { + "description": "menu:deny-append -> Denies the append command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-append" + ] + }, + { + "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-create-default" + ] + }, + { + "description": "menu:deny-get -> Denies the get command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-get" + ] + }, + { + "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-insert" + ] + }, + { + "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-checked" + ] + }, + { + "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-is-enabled" + ] + }, + { + "description": "menu:deny-items -> Denies the items command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-items" + ] + }, + { + "description": "menu:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-new" + ] + }, + { + "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-popup" + ] + }, + { + "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-prepend" + ] + }, + { + "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove" + ] + }, + { + "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-remove-at" + ] + }, + { + "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-accelerator" + ] + }, + { + "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-app-menu" + ] + }, + { + "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-help-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-window-menu" + ] + }, + { + "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-as-windows-menu-for-nsapp" + ] + }, + { + "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-checked" + ] + }, + { + "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-enabled" + ] + }, + { + "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-icon" + ] + }, + { + "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-set-text" + ] + }, + { + "description": "menu:deny-text -> Denies the text command without any pre-configured scope.", + "type": "string", + "enum": [ + "menu:deny-text" + ] + }, + { + "description": "nfc:allow-is-available -> Enables the is_available command without any pre-configured scope.", + "type": "string", + "enum": [ + "nfc:allow-is-available" + ] + }, + { + "description": "nfc:allow-scan -> Enables the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "nfc:allow-scan" + ] + }, + { + "description": "nfc:allow-write -> Enables the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "nfc:allow-write" + ] + }, + { + "description": "nfc:deny-is-available -> Denies the is_available command without any pre-configured scope.", + "type": "string", + "enum": [ + "nfc:deny-is-available" + ] + }, + { + "description": "nfc:deny-scan -> Denies the scan command without any pre-configured scope.", + "type": "string", + "enum": [ + "nfc:deny-scan" + ] + }, + { + "description": "nfc:deny-write -> Denies the write command without any pre-configured scope.", + "type": "string", + "enum": [ + "nfc:deny-write" + ] + }, + { + "description": "notification:default -> Allows requesting permission, checking permission state and sending notifications", + "type": "string", + "enum": [ + "notification:default" + ] + }, + { + "description": "notification:allow-is-permission-granted -> Enables the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-is-permission-granted" + ] + }, + { + "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-notify" + ] + }, + { + "description": "notification:allow-request-permission -> Enables the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:allow-request-permission" + ] + }, + { + "description": "notification:deny-is-permission-granted -> Denies the is_permission_granted command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-is-permission-granted" + ] + }, + { + "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-notify" + ] + }, + { + "description": "notification:deny-request-permission -> Denies the request_permission command without any pre-configured scope.", + "type": "string", + "enum": [ + "notification:deny-request-permission" + ] + }, + { + "description": "os:allow-arch -> Enables the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-arch" + ] + }, + { + "description": "os:allow-exe-extension -> Enables the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-exe-extension" + ] + }, + { + "description": "os:allow-family -> Enables the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-family" + ] + }, + { + "description": "os:allow-hostname -> Enables the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-hostname" + ] + }, + { + "description": "os:allow-locale -> Enables the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-locale" + ] + }, + { + "description": "os:allow-os-type -> Enables the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-os-type" + ] + }, + { + "description": "os:allow-platform -> Enables the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-platform" + ] + }, + { + "description": "os:allow-version -> Enables the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:allow-version" + ] + }, + { + "description": "os:deny-arch -> Denies the arch command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-arch" + ] + }, + { + "description": "os:deny-exe-extension -> Denies the exe_extension command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-exe-extension" + ] + }, + { + "description": "os:deny-family -> Denies the family command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-family" + ] + }, + { + "description": "os:deny-hostname -> Denies the hostname command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-hostname" + ] + }, + { + "description": "os:deny-locale -> Denies the locale command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-locale" + ] + }, + { + "description": "os:deny-os-type -> Denies the os_type command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-os-type" + ] + }, + { + "description": "os:deny-platform -> Denies the platform command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-platform" + ] + }, + { + "description": "os:deny-version -> Denies the version command without any pre-configured scope.", + "type": "string", + "enum": [ + "os:deny-version" + ] + }, + { + "description": "path:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "path:default" + ] + }, + { + "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-basename" + ] + }, + { + "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-dirname" + ] + }, + { + "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-extname" + ] + }, + { + "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-is-absolute" + ] + }, + { + "description": "path:allow-join -> Enables the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-join" + ] + }, + { + "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-normalize" + ] + }, + { + "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve" + ] + }, + { + "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:allow-resolve-directory" + ] + }, + { + "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-basename" + ] + }, + { + "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-dirname" + ] + }, + { + "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-extname" + ] + }, + { + "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-is-absolute" + ] + }, + { + "description": "path:deny-join -> Denies the join command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-join" + ] + }, + { + "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-normalize" + ] + }, + { + "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve" + ] + }, + { + "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "enum": [ + "path:deny-resolve-directory" + ] + }, + { + "description": "process:allow-exit -> Enables the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:allow-exit" + ] + }, + { + "description": "process:allow-restart -> Enables the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:allow-restart" + ] + }, + { + "description": "process:deny-exit -> Denies the exit command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-exit" + ] + }, + { + "description": "process:deny-restart -> Denies the restart command without any pre-configured scope.", + "type": "string", + "enum": [ + "process:deny-restart" + ] + }, + { + "description": "resources:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "resources:default" + ] + }, + { + "description": "resources:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:allow-close" + ] + }, + { + "description": "resources:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "resources:deny-close" + ] + }, + { + "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-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": "shell:deny-open -> Denies the open command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-open" + ] + }, + { + "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", + "type": "string", + "enum": [ + "shell:deny-stdin-write" + ] + }, + { + "description": "tray:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "tray:default" + ] + }, + { + "description": "tray:allow-new -> Enables the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-new" + ] + }, + { + "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon" + ] + }, + { + "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-icon-as-template" + ] + }, + { + "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-menu" + ] + }, + { + "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-temp-dir-path" + ] + }, + { + "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-title" + ] + }, + { + "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-tooltip" + ] + }, + { + "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:allow-set-visible" + ] + }, + { + "description": "tray:deny-new -> Denies the new command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-new" + ] + }, + { + "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon" + ] + }, + { + "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-icon-as-template" + ] + }, + { + "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-menu" + ] + }, + { + "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-show-menu-on-left-click" + ] + }, + { + "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-temp-dir-path" + ] + }, + { + "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-title" + ] + }, + { + "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-tooltip" + ] + }, + { + "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "tray:deny-set-visible" + ] + }, + { + "description": "webview:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "webview:default" + ] + }, + { + "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-create-webview" + ] + }, + { + "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-create-webview-window" + ] + }, + { + "description": "webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-internal-toggle-devtools" + ] + }, + { + "description": "webview:allow-print -> Enables the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-print" + ] + }, + { + "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-set-webview-focus" + ] + }, + { + "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-set-webview-position" + ] + }, + { + "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-set-webview-size" + ] + }, + { + "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-webview-close" + ] + }, + { + "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-webview-position" + ] + }, + { + "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:allow-webview-size" + ] + }, + { + "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-create-webview" + ] + }, + { + "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-create-webview-window" + ] + }, + { + "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-internal-toggle-devtools" + ] + }, + { + "description": "webview:deny-print -> Denies the print command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-print" + ] + }, + { + "description": "webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-set-webview-focus" + ] + }, + { + "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-set-webview-position" + ] + }, + { + "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-set-webview-size" + ] + }, + { + "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-webview-close" + ] + }, + { + "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-webview-position" + ] + }, + { + "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "webview:deny-webview-size" + ] + }, + { + "description": "window:default -> Default permissions for the plugin.", + "type": "string", + "enum": [ + "window:default" + ] + }, + { + "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-available-monitors" + ] + }, + { + "description": "window:allow-center -> Enables the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-center" + ] + }, + { + "description": "window:allow-close -> Enables the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-close" + ] + }, + { + "description": "window:allow-create -> Enables the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-create" + ] + }, + { + "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-current-monitor" + ] + }, + { + "description": "window:allow-destroy -> Enables the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-destroy" + ] + }, + { + "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-hide" + ] + }, + { + "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-position" + ] + }, + { + "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-inner-size" + ] + }, + { + "description": "window:allow-internal-on-mousedown -> Enables the internal_on_mousedown command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-on-mousedown" + ] + }, + { + "description": "window:allow-internal-on-mousemove -> Enables the internal_on_mousemove command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-on-mousemove" + ] + }, + { + "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-internal-toggle-maximize" + ] + }, + { + "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-closable" + ] + }, + { + "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-decorated" + ] + }, + { + "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-focused" + ] + }, + { + "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-fullscreen" + ] + }, + { + "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximizable" + ] + }, + { + "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-maximized" + ] + }, + { + "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimizable" + ] + }, + { + "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-minimized" + ] + }, + { + "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-resizable" + ] + }, + { + "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-is-visible" + ] + }, + { + "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-maximize" + ] + }, + { + "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-minimize" + ] + }, + { + "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-position" + ] + }, + { + "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-outer-size" + ] + }, + { + "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-primary-monitor" + ] + }, + { + "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-request-user-attention" + ] + }, + { + "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-scale-factor" + ] + }, + { + "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-bottom" + ] + }, + { + "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-always-on-top" + ] + }, + { + "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-closable" + ] + }, + { + "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-content-protected" + ] + }, + { + "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-grab" + ] + }, + { + "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-icon" + ] + }, + { + "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-position" + ] + }, + { + "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-cursor-visible" + ] + }, + { + "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-decorations" + ] + }, + { + "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-effects" + ] + }, + { + "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-focus" + ] + }, + { + "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-fullscreen" + ] + }, + { + "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-icon" + ] + }, + { + "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-ignore-cursor-events" + ] + }, + { + "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-max-size" + ] + }, + { + "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-maximizable" + ] + }, + { + "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-min-size" + ] + }, + { + "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-minimizable" + ] + }, + { + "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-position" + ] + }, + { + "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-progress-bar" + ] + }, + { + "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-resizable" + ] + }, + { + "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-shadow" + ] + }, + { + "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-size" + ] + }, + { + "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-skip-taskbar" + ] + }, + { + "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-title" + ] + }, + { + "description": "window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-set-visible-on-all-workspaces" + ] + }, + { + "description": "window:allow-show -> Enables the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-show" + ] + }, + { + "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-start-dragging" + ] + }, + { + "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-theme" + ] + }, + { + "description": "window:allow-title -> Enables the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-title" + ] + }, + { + "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-toggle-maximize" + ] + }, + { + "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unmaximize" + ] + }, + { + "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:allow-unminimize" + ] + }, + { + "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-available-monitors" + ] + }, + { + "description": "window:deny-center -> Denies the center command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-center" + ] + }, + { + "description": "window:deny-close -> Denies the close command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-close" + ] + }, + { + "description": "window:deny-create -> Denies the create command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-create" + ] + }, + { + "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-current-monitor" + ] + }, + { + "description": "window:deny-destroy -> Denies the destroy command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-destroy" + ] + }, + { + "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-hide" + ] + }, + { + "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-position" + ] + }, + { + "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-inner-size" + ] + }, + { + "description": "window:deny-internal-on-mousedown -> Denies the internal_on_mousedown command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-on-mousedown" + ] + }, + { + "description": "window:deny-internal-on-mousemove -> Denies the internal_on_mousemove command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-on-mousemove" + ] + }, + { + "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-internal-toggle-maximize" + ] + }, + { + "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-closable" + ] + }, + { + "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-decorated" + ] + }, + { + "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-focused" + ] + }, + { + "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-fullscreen" + ] + }, + { + "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximizable" + ] + }, + { + "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-maximized" + ] + }, + { + "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimizable" + ] + }, + { + "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-minimized" + ] + }, + { + "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-resizable" + ] + }, + { + "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-is-visible" + ] + }, + { + "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-maximize" + ] + }, + { + "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-minimize" + ] + }, + { + "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-position" + ] + }, + { + "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-outer-size" + ] + }, + { + "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-primary-monitor" + ] + }, + { + "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-request-user-attention" + ] + }, + { + "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-scale-factor" + ] + }, + { + "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-bottom" + ] + }, + { + "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-always-on-top" + ] + }, + { + "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-closable" + ] + }, + { + "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-content-protected" + ] + }, { - "description": "MacOS.", + "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", "type": "string", "enum": [ - "macOS" + "window:deny-set-cursor-grab" ] }, { - "description": "Windows.", + "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", "type": "string", "enum": [ - "windows" + "window:deny-set-cursor-icon" ] }, { - "description": "Linux.", + "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", "type": "string", "enum": [ - "linux" + "window:deny-set-cursor-position" ] }, { - "description": "Android.", + "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", "type": "string", "enum": [ - "android" + "window:deny-set-cursor-visible" ] }, { - "description": "iOS.", + "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", "type": "string", "enum": [ - "iOS" + "window:deny-set-decorations" + ] + }, + { + "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-effects" + ] + }, + { + "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-focus" + ] + }, + { + "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-fullscreen" + ] + }, + { + "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-icon" + ] + }, + { + "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-ignore-cursor-events" + ] + }, + { + "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-max-size" + ] + }, + { + "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-maximizable" + ] + }, + { + "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-min-size" + ] + }, + { + "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-minimizable" + ] + }, + { + "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-position" + ] + }, + { + "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-progress-bar" + ] + }, + { + "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-resizable" + ] + }, + { + "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-shadow" + ] + }, + { + "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-size" + ] + }, + { + "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-skip-taskbar" + ] + }, + { + "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-title" + ] + }, + { + "description": "window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-set-visible-on-all-workspaces" + ] + }, + { + "description": "window:deny-show -> Denies the show command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-show" + ] + }, + { + "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-start-dragging" + ] + }, + { + "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-theme" + ] + }, + { + "description": "window:deny-title -> Denies the title command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-title" + ] + }, + { + "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-toggle-maximize" + ] + }, + { + "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unmaximize" + ] + }, + { + "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", + "type": "string", + "enum": [ + "window:deny-unminimize" ] } ] @@ -6920,6 +6865,61 @@ } } ] + }, + "Number": { + "description": "A valid ACL number.", + "anyOf": [ + { + "description": "Represents an [`i64`].", + "type": "integer", + "format": "int64" + }, + { + "description": "Represents a [`f64`].", + "type": "number", + "format": "double" + } + ] + }, + "Target": { + "description": "Platform target.", + "oneOf": [ + { + "description": "MacOS.", + "type": "string", + "enum": [ + "macOS" + ] + }, + { + "description": "Windows.", + "type": "string", + "enum": [ + "windows" + ] + }, + { + "description": "Linux.", + "type": "string", + "enum": [ + "linux" + ] + }, + { + "description": "Android.", + "type": "string", + "enum": [ + "android" + ] + }, + { + "description": "iOS.", + "type": "string", + "enum": [ + "iOS" + ] + } + ] } } } \ No newline at end of file diff --git a/plugins/authenticator/permissions/autogenerated/reference.md b/plugins/authenticator/permissions/autogenerated/reference.md new file mode 100644 index 000000000..8e3cbb525 --- /dev/null +++ b/plugins/authenticator/permissions/autogenerated/reference.md @@ -0,0 +1,42 @@ +# Permissions + +## allow-init-auth + +Enables the init_auth command without any pre-configured scope. + +## deny-init-auth + +Denies the init_auth command without any pre-configured scope. + +## allow-register + +Enables the register command without any pre-configured scope. + +## deny-register + +Denies the register command without any pre-configured scope. + +## allow-sign + +Enables the sign command without any pre-configured scope. + +## deny-sign + +Denies the sign command without any pre-configured scope. + +## allow-verify-registration + +Enables the verify_registration command without any pre-configured scope. + +## deny-verify-registration + +Denies the verify_registration command without any pre-configured scope. + +## allow-verify-signature + +Enables the verify_signature command without any pre-configured scope. + +## deny-verify-signature + +Denies the verify_signature command without any pre-configured scope. + diff --git a/plugins/autostart/permissions/autogenerated/reference.md b/plugins/autostart/permissions/autogenerated/reference.md new file mode 100644 index 000000000..e129ae027 --- /dev/null +++ b/plugins/autostart/permissions/autogenerated/reference.md @@ -0,0 +1,26 @@ +# Permissions + +## allow-disable + +Enables the disable command without any pre-configured scope. + +## deny-disable + +Denies the disable command without any pre-configured scope. + +## allow-enable + +Enables the enable command without any pre-configured scope. + +## deny-enable + +Denies the enable command without any pre-configured scope. + +## allow-is-enabled + +Enables the is_enabled command without any pre-configured scope. + +## deny-is-enabled + +Denies the is_enabled command without any pre-configured scope. + diff --git a/plugins/barcode-scanner/permissions/autogenerated/reference.md b/plugins/barcode-scanner/permissions/autogenerated/reference.md new file mode 100644 index 000000000..d20ff1480 --- /dev/null +++ b/plugins/barcode-scanner/permissions/autogenerated/reference.md @@ -0,0 +1,50 @@ +# Permissions + +## allow-cancel + +Enables the cancel command without any pre-configured scope. + +## deny-cancel + +Denies the cancel command without any pre-configured scope. + +## allow-check-permissions + +Enables the check_permissions command without any pre-configured scope. + +## deny-check-permissions + +Denies the check_permissions command without any pre-configured scope. + +## allow-open-app-settings + +Enables the open_app_settings command without any pre-configured scope. + +## deny-open-app-settings + +Denies the open_app_settings command without any pre-configured scope. + +## allow-request-permissions + +Enables the request_permissions command without any pre-configured scope. + +## deny-request-permissions + +Denies the request_permissions command without any pre-configured scope. + +## allow-scan + +Enables the scan command without any pre-configured scope. + +## deny-scan + +Denies the scan command without any pre-configured scope. + +## allow-vibrate + +Enables the vibrate command without any pre-configured scope. + +## deny-vibrate + +Denies the vibrate command without any pre-configured scope. + diff --git a/plugins/biometric/permissions/autogenerated/reference.md b/plugins/biometric/permissions/autogenerated/reference.md new file mode 100644 index 000000000..ef091dfa1 --- /dev/null +++ b/plugins/biometric/permissions/autogenerated/reference.md @@ -0,0 +1,18 @@ +# Permissions + +## allow-authenticate + +Enables the authenticate command without any pre-configured scope. + +## deny-authenticate + +Denies the authenticate command without any pre-configured scope. + +## allow-status + +Enables the status command without any pre-configured scope. + +## deny-status + +Denies the status command without any pre-configured scope. + diff --git a/plugins/cli/permissions/autogenerated/reference.md b/plugins/cli/permissions/autogenerated/reference.md new file mode 100644 index 000000000..0f231dc30 --- /dev/null +++ b/plugins/cli/permissions/autogenerated/reference.md @@ -0,0 +1,14 @@ +# Permissions + +## allow-cli-matches + +Enables the cli_matches command without any pre-configured scope. + +## deny-cli-matches + +Denies the cli_matches command without any pre-configured scope. + +## default + +Allows reading the CLI matches + diff --git a/plugins/clipboard-manager/permissions/autogenerated/reference.md b/plugins/clipboard-manager/permissions/autogenerated/reference.md new file mode 100644 index 000000000..02d3e533f --- /dev/null +++ b/plugins/clipboard-manager/permissions/autogenerated/reference.md @@ -0,0 +1,18 @@ +# Permissions + +## allow-read + +Enables the read command without any pre-configured scope. + +## deny-read + +Denies the read command without any pre-configured scope. + +## allow-write + +Enables the write command without any pre-configured scope. + +## deny-write + +Denies the write command without any pre-configured scope. + diff --git a/plugins/deep-link/permissions/autogenerated/reference.md b/plugins/deep-link/permissions/autogenerated/reference.md new file mode 100644 index 000000000..d0791ef90 --- /dev/null +++ b/plugins/deep-link/permissions/autogenerated/reference.md @@ -0,0 +1,14 @@ +# Permissions + +## allow-get-current + +Enables the get_current command without any pre-configured scope. + +## deny-get-current + +Denies the get_current command without any pre-configured scope. + +## default + +Allows reading the opened deep link via the get_current command + diff --git a/plugins/dialog/permissions/autogenerated/reference.md b/plugins/dialog/permissions/autogenerated/reference.md new file mode 100644 index 000000000..9c000f9ec --- /dev/null +++ b/plugins/dialog/permissions/autogenerated/reference.md @@ -0,0 +1,42 @@ +# Permissions + +## allow-ask + +Enables the ask command without any pre-configured scope. + +## deny-ask + +Denies the ask command without any pre-configured scope. + +## allow-confirm + +Enables the confirm command without any pre-configured scope. + +## deny-confirm + +Denies the confirm command without any pre-configured scope. + +## allow-message + +Enables the message command without any pre-configured scope. + +## deny-message + +Denies the message command without any pre-configured scope. + +## allow-open + +Enables the open command without any pre-configured scope. + +## deny-open + +Denies the open command without any pre-configured scope. + +## allow-save + +Enables the save command without any pre-configured scope. + +## deny-save + +Denies the save command without any pre-configured scope. + diff --git a/plugins/fs/permissions/autogenerated/reference.md b/plugins/fs/permissions/autogenerated/reference.md new file mode 100644 index 000000000..6e1d78d84 --- /dev/null +++ b/plugins/fs/permissions/autogenerated/reference.md @@ -0,0 +1,1164 @@ +# Permissions + +## allow-app-read-recursive + +This allows full recursive read access to the complete `$APP` folder, files and subdirectories. + +## allow-app-write-recursive + +This allows full recusrive write access to the complete `$APP` folder, files and subdirectories. + +## allow-app-read + +This allows non-recursive read access to the `$APP` folder. + +## allow-app-write + +This allows non-recursive write access to the `$APP` folder. + +## allow-app-meta-recursive + +This allows read access to metadata of the `$APP` folder, including file listing and statistics. + +## allow-app-meta + +This allows read access to metadata of the `$APP` folder, including file listing and statistics. + +## scope-app-recursive + +This scope recursive access to the complete `$APP` folder, including sub directories and files. + +## scope-app + +This scope permits access to all files and list content of top level directories in the `$APP`folder. + +## scope-app-index + +This scope permits to list all files and folders in the `$APP`folder. + +## allow-appcache-read-recursive + +This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories. + +## allow-appcache-write-recursive + +This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories. + +## allow-appcache-read + +This allows non-recursive read access to the `$APPCACHE` folder. + +## allow-appcache-write + +This allows non-recursive write access to the `$APPCACHE` folder. + +## allow-appcache-meta-recursive + +This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics. + +## allow-appcache-meta + +This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics. + +## scope-appcache-recursive + +This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files. + +## scope-appcache + +This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder. + +## scope-appcache-index + +This scope permits to list all files and folders in the `$APPCACHE`folder. + +## allow-appconfig-read-recursive + +This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories. + +## allow-appconfig-write-recursive + +This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories. + +## allow-appconfig-read + +This allows non-recursive read access to the `$APPCONFIG` folder. + +## allow-appconfig-write + +This allows non-recursive write access to the `$APPCONFIG` folder. + +## allow-appconfig-meta-recursive + +This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics. + +## allow-appconfig-meta + +This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics. + +## scope-appconfig-recursive + +This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files. + +## scope-appconfig + +This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder. + +## scope-appconfig-index + +This scope permits to list all files and folders in the `$APPCONFIG`folder. + +## allow-appdata-read-recursive + +This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories. + +## allow-appdata-write-recursive + +This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories. + +## allow-appdata-read + +This allows non-recursive read access to the `$APPDATA` folder. + +## allow-appdata-write + +This allows non-recursive write access to the `$APPDATA` folder. + +## allow-appdata-meta-recursive + +This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics. + +## allow-appdata-meta + +This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics. + +## scope-appdata-recursive + +This scope recursive access to the complete `$APPDATA` folder, including sub directories and files. + +## scope-appdata + +This scope permits access to all files and list content of top level directories in the `$APPDATA`folder. + +## scope-appdata-index + +This scope permits to list all files and folders in the `$APPDATA`folder. + +## allow-applocaldata-read-recursive + +This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories. + +## allow-applocaldata-write-recursive + +This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories. + +## allow-applocaldata-read + +This allows non-recursive read access to the `$APPLOCALDATA` folder. + +## allow-applocaldata-write + +This allows non-recursive write access to the `$APPLOCALDATA` folder. + +## allow-applocaldata-meta-recursive + +This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics. + +## allow-applocaldata-meta + +This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics. + +## scope-applocaldata-recursive + +This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files. + +## scope-applocaldata + +This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder. + +## scope-applocaldata-index + +This scope permits to list all files and folders in the `$APPLOCALDATA`folder. + +## allow-applog-read-recursive + +This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories. + +## allow-applog-write-recursive + +This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories. + +## allow-applog-read + +This allows non-recursive read access to the `$APPLOG` folder. + +## allow-applog-write + +This allows non-recursive write access to the `$APPLOG` folder. + +## allow-applog-meta-recursive + +This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics. + +## allow-applog-meta + +This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics. + +## scope-applog-recursive + +This scope recursive access to the complete `$APPLOG` folder, including sub directories and files. + +## scope-applog + +This scope permits access to all files and list content of top level directories in the `$APPLOG`folder. + +## scope-applog-index + +This scope permits to list all files and folders in the `$APPLOG`folder. + +## allow-audio-read-recursive + +This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories. + +## allow-audio-write-recursive + +This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories. + +## allow-audio-read + +This allows non-recursive read access to the `$AUDIO` folder. + +## allow-audio-write + +This allows non-recursive write access to the `$AUDIO` folder. + +## allow-audio-meta-recursive + +This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics. + +## allow-audio-meta + +This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics. + +## scope-audio-recursive + +This scope recursive access to the complete `$AUDIO` folder, including sub directories and files. + +## scope-audio + +This scope permits access to all files and list content of top level directories in the `$AUDIO`folder. + +## scope-audio-index + +This scope permits to list all files and folders in the `$AUDIO`folder. + +## allow-cache-read-recursive + +This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories. + +## allow-cache-write-recursive + +This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories. + +## allow-cache-read + +This allows non-recursive read access to the `$CACHE` folder. + +## allow-cache-write + +This allows non-recursive write access to the `$CACHE` folder. + +## allow-cache-meta-recursive + +This allows read access to metadata of the `$CACHE` folder, including file listing and statistics. + +## allow-cache-meta + +This allows read access to metadata of the `$CACHE` folder, including file listing and statistics. + +## scope-cache-recursive + +This scope recursive access to the complete `$CACHE` folder, including sub directories and files. + +## scope-cache + +This scope permits access to all files and list content of top level directories in the `$CACHE`folder. + +## scope-cache-index + +This scope permits to list all files and folders in the `$CACHE`folder. + +## allow-config-read-recursive + +This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories. + +## allow-config-write-recursive + +This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories. + +## allow-config-read + +This allows non-recursive read access to the `$CONFIG` folder. + +## allow-config-write + +This allows non-recursive write access to the `$CONFIG` folder. + +## allow-config-meta-recursive + +This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics. + +## allow-config-meta + +This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics. + +## scope-config-recursive + +This scope recursive access to the complete `$CONFIG` folder, including sub directories and files. + +## scope-config + +This scope permits access to all files and list content of top level directories in the `$CONFIG`folder. + +## scope-config-index + +This scope permits to list all files and folders in the `$CONFIG`folder. + +## allow-data-read-recursive + +This allows full recursive read access to the complete `$DATA` folder, files and subdirectories. + +## allow-data-write-recursive + +This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories. + +## allow-data-read + +This allows non-recursive read access to the `$DATA` folder. + +## allow-data-write + +This allows non-recursive write access to the `$DATA` folder. + +## allow-data-meta-recursive + +This allows read access to metadata of the `$DATA` folder, including file listing and statistics. + +## allow-data-meta + +This allows read access to metadata of the `$DATA` folder, including file listing and statistics. + +## scope-data-recursive + +This scope recursive access to the complete `$DATA` folder, including sub directories and files. + +## scope-data + +This scope permits access to all files and list content of top level directories in the `$DATA`folder. + +## scope-data-index + +This scope permits to list all files and folders in the `$DATA`folder. + +## allow-desktop-read-recursive + +This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories. + +## allow-desktop-write-recursive + +This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories. + +## allow-desktop-read + +This allows non-recursive read access to the `$DESKTOP` folder. + +## allow-desktop-write + +This allows non-recursive write access to the `$DESKTOP` folder. + +## allow-desktop-meta-recursive + +This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics. + +## allow-desktop-meta + +This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics. + +## scope-desktop-recursive + +This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files. + +## scope-desktop + +This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder. + +## scope-desktop-index + +This scope permits to list all files and folders in the `$DESKTOP`folder. + +## allow-document-read-recursive + +This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories. + +## allow-document-write-recursive + +This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories. + +## allow-document-read + +This allows non-recursive read access to the `$DOCUMENT` folder. + +## allow-document-write + +This allows non-recursive write access to the `$DOCUMENT` folder. + +## allow-document-meta-recursive + +This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics. + +## allow-document-meta + +This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics. + +## scope-document-recursive + +This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files. + +## scope-document + +This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder. + +## scope-document-index + +This scope permits to list all files and folders in the `$DOCUMENT`folder. + +## allow-download-read-recursive + +This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories. + +## allow-download-write-recursive + +This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories. + +## allow-download-read + +This allows non-recursive read access to the `$DOWNLOAD` folder. + +## allow-download-write + +This allows non-recursive write access to the `$DOWNLOAD` folder. + +## allow-download-meta-recursive + +This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics. + +## allow-download-meta + +This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics. + +## scope-download-recursive + +This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files. + +## scope-download + +This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder. + +## scope-download-index + +This scope permits to list all files and folders in the `$DOWNLOAD`folder. + +## allow-exe-read-recursive + +This allows full recursive read access to the complete `$EXE` folder, files and subdirectories. + +## allow-exe-write-recursive + +This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories. + +## allow-exe-read + +This allows non-recursive read access to the `$EXE` folder. + +## allow-exe-write + +This allows non-recursive write access to the `$EXE` folder. + +## allow-exe-meta-recursive + +This allows read access to metadata of the `$EXE` folder, including file listing and statistics. + +## allow-exe-meta + +This allows read access to metadata of the `$EXE` folder, including file listing and statistics. + +## scope-exe-recursive + +This scope recursive access to the complete `$EXE` folder, including sub directories and files. + +## scope-exe + +This scope permits access to all files and list content of top level directories in the `$EXE`folder. + +## scope-exe-index + +This scope permits to list all files and folders in the `$EXE`folder. + +## allow-font-read-recursive + +This allows full recursive read access to the complete `$FONT` folder, files and subdirectories. + +## allow-font-write-recursive + +This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories. + +## allow-font-read + +This allows non-recursive read access to the `$FONT` folder. + +## allow-font-write + +This allows non-recursive write access to the `$FONT` folder. + +## allow-font-meta-recursive + +This allows read access to metadata of the `$FONT` folder, including file listing and statistics. + +## allow-font-meta + +This allows read access to metadata of the `$FONT` folder, including file listing and statistics. + +## scope-font-recursive + +This scope recursive access to the complete `$FONT` folder, including sub directories and files. + +## scope-font + +This scope permits access to all files and list content of top level directories in the `$FONT`folder. + +## scope-font-index + +This scope permits to list all files and folders in the `$FONT`folder. + +## allow-home-read-recursive + +This allows full recursive read access to the complete `$HOME` folder, files and subdirectories. + +## allow-home-write-recursive + +This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories. + +## allow-home-read + +This allows non-recursive read access to the `$HOME` folder. + +## allow-home-write + +This allows non-recursive write access to the `$HOME` folder. + +## allow-home-meta-recursive + +This allows read access to metadata of the `$HOME` folder, including file listing and statistics. + +## allow-home-meta + +This allows read access to metadata of the `$HOME` folder, including file listing and statistics. + +## scope-home-recursive + +This scope recursive access to the complete `$HOME` folder, including sub directories and files. + +## scope-home + +This scope permits access to all files and list content of top level directories in the `$HOME`folder. + +## scope-home-index + +This scope permits to list all files and folders in the `$HOME`folder. + +## allow-localdata-read-recursive + +This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories. + +## allow-localdata-write-recursive + +This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories. + +## allow-localdata-read + +This allows non-recursive read access to the `$LOCALDATA` folder. + +## allow-localdata-write + +This allows non-recursive write access to the `$LOCALDATA` folder. + +## allow-localdata-meta-recursive + +This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics. + +## allow-localdata-meta + +This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics. + +## scope-localdata-recursive + +This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files. + +## scope-localdata + +This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder. + +## scope-localdata-index + +This scope permits to list all files and folders in the `$LOCALDATA`folder. + +## allow-log-read-recursive + +This allows full recursive read access to the complete `$LOG` folder, files and subdirectories. + +## allow-log-write-recursive + +This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories. + +## allow-log-read + +This allows non-recursive read access to the `$LOG` folder. + +## allow-log-write + +This allows non-recursive write access to the `$LOG` folder. + +## allow-log-meta-recursive + +This allows read access to metadata of the `$LOG` folder, including file listing and statistics. + +## allow-log-meta + +This allows read access to metadata of the `$LOG` folder, including file listing and statistics. + +## scope-log-recursive + +This scope recursive access to the complete `$LOG` folder, including sub directories and files. + +## scope-log + +This scope permits access to all files and list content of top level directories in the `$LOG`folder. + +## scope-log-index + +This scope permits to list all files and folders in the `$LOG`folder. + +## allow-picture-read-recursive + +This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories. + +## allow-picture-write-recursive + +This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories. + +## allow-picture-read + +This allows non-recursive read access to the `$PICTURE` folder. + +## allow-picture-write + +This allows non-recursive write access to the `$PICTURE` folder. + +## allow-picture-meta-recursive + +This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics. + +## allow-picture-meta + +This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics. + +## scope-picture-recursive + +This scope recursive access to the complete `$PICTURE` folder, including sub directories and files. + +## scope-picture + +This scope permits access to all files and list content of top level directories in the `$PICTURE`folder. + +## scope-picture-index + +This scope permits to list all files and folders in the `$PICTURE`folder. + +## allow-public-read-recursive + +This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories. + +## allow-public-write-recursive + +This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories. + +## allow-public-read + +This allows non-recursive read access to the `$PUBLIC` folder. + +## allow-public-write + +This allows non-recursive write access to the `$PUBLIC` folder. + +## allow-public-meta-recursive + +This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics. + +## allow-public-meta + +This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics. + +## scope-public-recursive + +This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files. + +## scope-public + +This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder. + +## scope-public-index + +This scope permits to list all files and folders in the `$PUBLIC`folder. + +## allow-resource-read-recursive + +This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories. + +## allow-resource-write-recursive + +This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories. + +## allow-resource-read + +This allows non-recursive read access to the `$RESOURCE` folder. + +## allow-resource-write + +This allows non-recursive write access to the `$RESOURCE` folder. + +## allow-resource-meta-recursive + +This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics. + +## allow-resource-meta + +This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics. + +## scope-resource-recursive + +This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files. + +## scope-resource + +This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder. + +## scope-resource-index + +This scope permits to list all files and folders in the `$RESOURCE`folder. + +## allow-runtime-read-recursive + +This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories. + +## allow-runtime-write-recursive + +This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories. + +## allow-runtime-read + +This allows non-recursive read access to the `$RUNTIME` folder. + +## allow-runtime-write + +This allows non-recursive write access to the `$RUNTIME` folder. + +## allow-runtime-meta-recursive + +This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics. + +## allow-runtime-meta + +This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics. + +## scope-runtime-recursive + +This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files. + +## scope-runtime + +This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder. + +## scope-runtime-index + +This scope permits to list all files and folders in the `$RUNTIME`folder. + +## allow-temp-read-recursive + +This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories. + +## allow-temp-write-recursive + +This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories. + +## allow-temp-read + +This allows non-recursive read access to the `$TEMP` folder. + +## allow-temp-write + +This allows non-recursive write access to the `$TEMP` folder. + +## allow-temp-meta-recursive + +This allows read access to metadata of the `$TEMP` folder, including file listing and statistics. + +## allow-temp-meta + +This allows read access to metadata of the `$TEMP` folder, including file listing and statistics. + +## scope-temp-recursive + +This scope recursive access to the complete `$TEMP` folder, including sub directories and files. + +## scope-temp + +This scope permits access to all files and list content of top level directories in the `$TEMP`folder. + +## scope-temp-index + +This scope permits to list all files and folders in the `$TEMP`folder. + +## allow-template-read-recursive + +This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories. + +## allow-template-write-recursive + +This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories. + +## allow-template-read + +This allows non-recursive read access to the `$TEMPLATE` folder. + +## allow-template-write + +This allows non-recursive write access to the `$TEMPLATE` folder. + +## allow-template-meta-recursive + +This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics. + +## allow-template-meta + +This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics. + +## scope-template-recursive + +This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files. + +## scope-template + +This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder. + +## scope-template-index + +This scope permits to list all files and folders in the `$TEMPLATE`folder. + +## allow-video-read-recursive + +This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories. + +## allow-video-write-recursive + +This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories. + +## allow-video-read + +This allows non-recursive read access to the `$VIDEO` folder. + +## allow-video-write + +This allows non-recursive write access to the `$VIDEO` folder. + +## allow-video-meta-recursive + +This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics. + +## allow-video-meta + +This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics. + +## scope-video-recursive + +This scope recursive access to the complete `$VIDEO` folder, including sub directories and files. + +## scope-video + +This scope permits access to all files and list content of top level directories in the `$VIDEO`folder. + +## scope-video-index + +This scope permits to list all files and folders in the `$VIDEO`folder. + +## allow-copy-file + +Enables the copy_file command without any pre-configured scope. + +## deny-copy-file + +Denies the copy_file command without any pre-configured scope. + +## allow-create + +Enables the create command without any pre-configured scope. + +## deny-create + +Denies the create command without any pre-configured scope. + +## allow-exists + +Enables the exists command without any pre-configured scope. + +## deny-exists + +Denies the exists command without any pre-configured scope. + +## allow-fstat + +Enables the fstat command without any pre-configured scope. + +## deny-fstat + +Denies the fstat command without any pre-configured scope. + +## allow-ftruncate + +Enables the ftruncate command without any pre-configured scope. + +## deny-ftruncate + +Denies the ftruncate command without any pre-configured scope. + +## allow-lstat + +Enables the lstat command without any pre-configured scope. + +## deny-lstat + +Denies the lstat command without any pre-configured scope. + +## allow-mkdir + +Enables the mkdir command without any pre-configured scope. + +## deny-mkdir + +Denies the mkdir command without any pre-configured scope. + +## allow-open + +Enables the open command without any pre-configured scope. + +## deny-open + +Denies the open command without any pre-configured scope. + +## allow-read + +Enables the read command without any pre-configured scope. + +## deny-read + +Denies the read command without any pre-configured scope. + +## allow-read-dir + +Enables the read_dir command without any pre-configured scope. + +## deny-read-dir + +Denies the read_dir command without any pre-configured scope. + +## allow-read-file + +Enables the read_file command without any pre-configured scope. + +## deny-read-file + +Denies the read_file command without any pre-configured scope. + +## allow-read-text-file + +Enables the read_text_file command without any pre-configured scope. + +## deny-read-text-file + +Denies the read_text_file command without any pre-configured scope. + +## allow-read-text-file-lines + +Enables the read_text_file_lines command without any pre-configured scope. + +## deny-read-text-file-lines + +Denies the read_text_file_lines command without any pre-configured scope. + +## allow-read-text-file-lines-next + +Enables the read_text_file_lines_next command without any pre-configured scope. + +## deny-read-text-file-lines-next + +Denies the read_text_file_lines_next command without any pre-configured scope. + +## allow-remove + +Enables the remove command without any pre-configured scope. + +## deny-remove + +Denies the remove command without any pre-configured scope. + +## allow-rename + +Enables the rename command without any pre-configured scope. + +## deny-rename + +Denies the rename command without any pre-configured scope. + +## allow-seek + +Enables the seek command without any pre-configured scope. + +## deny-seek + +Denies the seek command without any pre-configured scope. + +## allow-stat + +Enables the stat command without any pre-configured scope. + +## deny-stat + +Denies the stat command without any pre-configured scope. + +## allow-truncate + +Enables the truncate command without any pre-configured scope. + +## deny-truncate + +Denies the truncate command without any pre-configured scope. + +## allow-unwatch + +Enables the unwatch command without any pre-configured scope. + +## deny-unwatch + +Denies the unwatch command without any pre-configured scope. + +## allow-watch + +Enables the watch command without any pre-configured scope. + +## deny-watch + +Denies the watch command without any pre-configured scope. + +## allow-write + +Enables the write command without any pre-configured scope. + +## deny-write + +Denies the write command without any pre-configured scope. + +## allow-write-file + +Enables the write_file command without any pre-configured scope. + +## deny-write-file + +Denies the write_file command without any pre-configured scope. + +## allow-write-text-file + +Enables the write_text_file command without any pre-configured scope. + +## deny-write-text-file + +Denies the write_text_file command without any pre-configured scope. + +## default + +# Tauri `fs` default permissions + +This configuration file defines the default permissions granted +to the filesystem. + +### Granted Permissions + +This default permission set enables all read-related commands and +allows access to the `$APP` folder and sub directories created in it. +The location of the `$APP` folder depends on the operating system, +where the application is run. + +In general the `$APP` folder needs to be manually created +by the application at runtime, before accessing files or folders +in it is possible. + +### Denied Permissions + +This default permission set prevents access to critical components +of the Tauri application by default. +On Windows the webview data folder access is denied. + + + +## deny-default + +This denies access to dangerous Tauri relevant files and folders by default. + +## deny-webview-data-linux + +This denies read access to the +`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here. +Allowing access can lead to sensitive information disclosure and should be well considered. + +## deny-webview-data-windows + +This denies read access to the +`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here. +Allowing access can lead to sensitive information disclosure and should be well considered. + +## read-all + +This enables all read related commands without any pre-configured accessible paths. + +## read-dirs + +This enables directory read and file metadata related commands without any pre-configured accessible paths. + +## read-files + +This enables file read related commands without any pre-configured accessible paths. + +## read-meta + +This enables all index or metadata related commands without any pre-configured accessible paths. + +## scope + +An empty permission you can use to modify the global scope. + +## write-all + +This enables all write related commands without any pre-configured accessible paths. + +## write-files + +This enables all file write related commands without any pre-configured accessible paths. + diff --git a/plugins/global-shortcut/permissions/autogenerated/reference.md b/plugins/global-shortcut/permissions/autogenerated/reference.md new file mode 100644 index 000000000..daff8abad --- /dev/null +++ b/plugins/global-shortcut/permissions/autogenerated/reference.md @@ -0,0 +1,42 @@ +# Permissions + +## allow-is-registered + +Enables the is_registered command without any pre-configured scope. + +## deny-is-registered + +Denies the is_registered command without any pre-configured scope. + +## allow-register + +Enables the register command without any pre-configured scope. + +## deny-register + +Denies the register command without any pre-configured scope. + +## allow-register-all + +Enables the register_all command without any pre-configured scope. + +## deny-register-all + +Denies the register_all command without any pre-configured scope. + +## allow-unregister + +Enables the unregister command without any pre-configured scope. + +## deny-unregister + +Denies the unregister command without any pre-configured scope. + +## allow-unregister-all + +Enables the unregister_all command without any pre-configured scope. + +## deny-unregister-all + +Denies the unregister_all command without any pre-configured scope. + diff --git a/plugins/http/permissions/autogenerated/reference.md b/plugins/http/permissions/autogenerated/reference.md new file mode 100644 index 000000000..16508acbb --- /dev/null +++ b/plugins/http/permissions/autogenerated/reference.md @@ -0,0 +1,38 @@ +# Permissions + +## allow-fetch + +Enables the fetch command without any pre-configured scope. + +## deny-fetch + +Denies the fetch command without any pre-configured scope. + +## allow-fetch-cancel + +Enables the fetch_cancel command without any pre-configured scope. + +## deny-fetch-cancel + +Denies the fetch_cancel command without any pre-configured scope. + +## allow-fetch-read-body + +Enables the fetch_read_body command without any pre-configured scope. + +## deny-fetch-read-body + +Denies the fetch_read_body command without any pre-configured scope. + +## allow-fetch-send + +Enables the fetch_send command without any pre-configured scope. + +## deny-fetch-send + +Denies the fetch_send command without any pre-configured scope. + +## default + +Allows all fetch operations + diff --git a/plugins/log/permissions/autogenerated/reference.md b/plugins/log/permissions/autogenerated/reference.md new file mode 100644 index 000000000..7dd146d0d --- /dev/null +++ b/plugins/log/permissions/autogenerated/reference.md @@ -0,0 +1,14 @@ +# Permissions + +## allow-log + +Enables the log command without any pre-configured scope. + +## deny-log + +Denies the log command without any pre-configured scope. + +## default + +Allows the log command + diff --git a/plugins/nfc/permissions/autogenerated/reference.md b/plugins/nfc/permissions/autogenerated/reference.md new file mode 100644 index 000000000..9b972b2b2 --- /dev/null +++ b/plugins/nfc/permissions/autogenerated/reference.md @@ -0,0 +1,26 @@ +# Permissions + +## allow-is-available + +Enables the is_available command without any pre-configured scope. + +## deny-is-available + +Denies the is_available command without any pre-configured scope. + +## allow-scan + +Enables the scan command without any pre-configured scope. + +## deny-scan + +Denies the scan command without any pre-configured scope. + +## allow-write + +Enables the write command without any pre-configured scope. + +## deny-write + +Denies the write command without any pre-configured scope. + diff --git a/plugins/notification/permissions/autogenerated/reference.md b/plugins/notification/permissions/autogenerated/reference.md new file mode 100644 index 000000000..44cbd31b8 --- /dev/null +++ b/plugins/notification/permissions/autogenerated/reference.md @@ -0,0 +1,30 @@ +# Permissions + +## allow-is-permission-granted + +Enables the is_permission_granted command without any pre-configured scope. + +## deny-is-permission-granted + +Denies the is_permission_granted command without any pre-configured scope. + +## allow-notify + +Enables the notify command without any pre-configured scope. + +## deny-notify + +Denies the notify command without any pre-configured scope. + +## allow-request-permission + +Enables the request_permission command without any pre-configured scope. + +## deny-request-permission + +Denies the request_permission command without any pre-configured scope. + +## default + +Allows requesting permission, checking permission state and sending notifications + diff --git a/plugins/os/permissions/autogenerated/reference.md b/plugins/os/permissions/autogenerated/reference.md new file mode 100644 index 000000000..f8d334fb6 --- /dev/null +++ b/plugins/os/permissions/autogenerated/reference.md @@ -0,0 +1,66 @@ +# Permissions + +## allow-arch + +Enables the arch command without any pre-configured scope. + +## deny-arch + +Denies the arch command without any pre-configured scope. + +## allow-exe-extension + +Enables the exe_extension command without any pre-configured scope. + +## deny-exe-extension + +Denies the exe_extension command without any pre-configured scope. + +## allow-family + +Enables the family command without any pre-configured scope. + +## deny-family + +Denies the family command without any pre-configured scope. + +## allow-hostname + +Enables the hostname command without any pre-configured scope. + +## deny-hostname + +Denies the hostname command without any pre-configured scope. + +## allow-locale + +Enables the locale command without any pre-configured scope. + +## deny-locale + +Denies the locale command without any pre-configured scope. + +## allow-os-type + +Enables the os_type command without any pre-configured scope. + +## deny-os-type + +Denies the os_type command without any pre-configured scope. + +## allow-platform + +Enables the platform command without any pre-configured scope. + +## deny-platform + +Denies the platform command without any pre-configured scope. + +## allow-version + +Enables the version command without any pre-configured scope. + +## deny-version + +Denies the version command without any pre-configured scope. + diff --git a/plugins/positioner/permissions/autogenerated/reference.md b/plugins/positioner/permissions/autogenerated/reference.md new file mode 100644 index 000000000..60d18ba5f --- /dev/null +++ b/plugins/positioner/permissions/autogenerated/reference.md @@ -0,0 +1,14 @@ +# Permissions + +## allow-move-window + +Enables the move_window command without any pre-configured scope. + +## deny-move-window + +Denies the move_window command without any pre-configured scope. + +## default + +Allows the move_window command + diff --git a/plugins/process/permissions/autogenerated/reference.md b/plugins/process/permissions/autogenerated/reference.md new file mode 100644 index 000000000..a5822a923 --- /dev/null +++ b/plugins/process/permissions/autogenerated/reference.md @@ -0,0 +1,18 @@ +# Permissions + +## allow-exit + +Enables the exit command without any pre-configured scope. + +## deny-exit + +Denies the exit command without any pre-configured scope. + +## allow-restart + +Enables the restart command without any pre-configured scope. + +## deny-restart + +Denies the restart command without any pre-configured scope. + diff --git a/plugins/shell/permissions/autogenerated/reference.md b/plugins/shell/permissions/autogenerated/reference.md new file mode 100644 index 000000000..93f94f3d9 --- /dev/null +++ b/plugins/shell/permissions/autogenerated/reference.md @@ -0,0 +1,34 @@ +# Permissions + +## allow-execute + +Enables the execute command without any pre-configured scope. + +## deny-execute + +Denies the execute command without any pre-configured scope. + +## allow-kill + +Enables the kill command without any pre-configured scope. + +## deny-kill + +Denies the kill command without any pre-configured scope. + +## allow-open + +Enables the open command without any pre-configured scope. + +## deny-open + +Denies the open command without any pre-configured scope. + +## allow-stdin-write + +Enables the stdin_write command without any pre-configured scope. + +## deny-stdin-write + +Denies the stdin_write command without any pre-configured scope. + diff --git a/plugins/sql/permissions/autogenerated/reference.md b/plugins/sql/permissions/autogenerated/reference.md new file mode 100644 index 000000000..a9734e010 --- /dev/null +++ b/plugins/sql/permissions/autogenerated/reference.md @@ -0,0 +1,34 @@ +# Permissions + +## allow-close + +Enables the close command without any pre-configured scope. + +## deny-close + +Denies the close command without any pre-configured scope. + +## allow-execute + +Enables the execute command without any pre-configured scope. + +## deny-execute + +Denies the execute command without any pre-configured scope. + +## allow-load + +Enables the load command without any pre-configured scope. + +## deny-load + +Denies the load command without any pre-configured scope. + +## allow-select + +Enables the select command without any pre-configured scope. + +## deny-select + +Denies the select command without any pre-configured scope. + diff --git a/plugins/store/permissions/autogenerated/reference.md b/plugins/store/permissions/autogenerated/reference.md new file mode 100644 index 000000000..fd626ff78 --- /dev/null +++ b/plugins/store/permissions/autogenerated/reference.md @@ -0,0 +1,98 @@ +# Permissions + +## allow-clear + +Enables the clear command without any pre-configured scope. + +## deny-clear + +Denies the clear command without any pre-configured scope. + +## allow-delete + +Enables the delete command without any pre-configured scope. + +## deny-delete + +Denies the delete command without any pre-configured scope. + +## allow-entries + +Enables the entries command without any pre-configured scope. + +## deny-entries + +Denies the entries command without any pre-configured scope. + +## allow-get + +Enables the get command without any pre-configured scope. + +## deny-get + +Denies the get command without any pre-configured scope. + +## allow-has + +Enables the has command without any pre-configured scope. + +## deny-has + +Denies the has command without any pre-configured scope. + +## allow-keys + +Enables the keys command without any pre-configured scope. + +## deny-keys + +Denies the keys command without any pre-configured scope. + +## allow-length + +Enables the length command without any pre-configured scope. + +## deny-length + +Denies the length command without any pre-configured scope. + +## allow-load + +Enables the load command without any pre-configured scope. + +## deny-load + +Denies the load command without any pre-configured scope. + +## allow-reset + +Enables the reset command without any pre-configured scope. + +## deny-reset + +Denies the reset command without any pre-configured scope. + +## allow-save + +Enables the save command without any pre-configured scope. + +## deny-save + +Denies the save command without any pre-configured scope. + +## allow-set + +Enables the set command without any pre-configured scope. + +## deny-set + +Denies the set command without any pre-configured scope. + +## allow-values + +Enables the values command without any pre-configured scope. + +## deny-values + +Denies the values command without any pre-configured scope. + diff --git a/plugins/stronghold/permissions/autogenerated/reference.md b/plugins/stronghold/permissions/autogenerated/reference.md new file mode 100644 index 000000000..799ae7dbf --- /dev/null +++ b/plugins/stronghold/permissions/autogenerated/reference.md @@ -0,0 +1,90 @@ +# Permissions + +## allow-create-client + +Enables the create_client command without any pre-configured scope. + +## deny-create-client + +Denies the create_client command without any pre-configured scope. + +## allow-destroy + +Enables the destroy command without any pre-configured scope. + +## deny-destroy + +Denies the destroy command without any pre-configured scope. + +## allow-execute-procedure + +Enables the execute_procedure command without any pre-configured scope. + +## deny-execute-procedure + +Denies the execute_procedure command without any pre-configured scope. + +## allow-get-store-record + +Enables the get_store_record command without any pre-configured scope. + +## deny-get-store-record + +Denies the get_store_record command without any pre-configured scope. + +## allow-initialize + +Enables the initialize command without any pre-configured scope. + +## deny-initialize + +Denies the initialize command without any pre-configured scope. + +## allow-load-client + +Enables the load_client command without any pre-configured scope. + +## deny-load-client + +Denies the load_client command without any pre-configured scope. + +## allow-remove-secret + +Enables the remove_secret command without any pre-configured scope. + +## deny-remove-secret + +Denies the remove_secret command without any pre-configured scope. + +## allow-remove-store-record + +Enables the remove_store_record command without any pre-configured scope. + +## deny-remove-store-record + +Denies the remove_store_record command without any pre-configured scope. + +## allow-save + +Enables the save command without any pre-configured scope. + +## deny-save + +Denies the save command without any pre-configured scope. + +## allow-save-secret + +Enables the save_secret command without any pre-configured scope. + +## deny-save-secret + +Denies the save_secret command without any pre-configured scope. + +## allow-save-store-record + +Enables the save_store_record command without any pre-configured scope. + +## deny-save-store-record + +Denies the save_store_record command without any pre-configured scope. + diff --git a/plugins/updater/permissions/autogenerated/reference.md b/plugins/updater/permissions/autogenerated/reference.md new file mode 100644 index 000000000..033690d41 --- /dev/null +++ b/plugins/updater/permissions/autogenerated/reference.md @@ -0,0 +1,22 @@ +# Permissions + +## allow-check + +Enables the check command without any pre-configured scope. + +## deny-check + +Denies the check command without any pre-configured scope. + +## allow-download-and-install + +Enables the download_and_install command without any pre-configured scope. + +## deny-download-and-install + +Denies the download_and_install command without any pre-configured scope. + +## default + +Allows checking for new updates and installing them + diff --git a/plugins/upload/permissions/autogenerated/reference.md b/plugins/upload/permissions/autogenerated/reference.md new file mode 100644 index 000000000..2e8a4853c --- /dev/null +++ b/plugins/upload/permissions/autogenerated/reference.md @@ -0,0 +1,18 @@ +# Permissions + +## allow-download + +Enables the download command without any pre-configured scope. + +## deny-download + +Denies the download command without any pre-configured scope. + +## allow-upload + +Enables the upload command without any pre-configured scope. + +## deny-upload + +Denies the upload command without any pre-configured scope. + diff --git a/plugins/websocket/permissions/autogenerated/reference.md b/plugins/websocket/permissions/autogenerated/reference.md new file mode 100644 index 000000000..9f66b7986 --- /dev/null +++ b/plugins/websocket/permissions/autogenerated/reference.md @@ -0,0 +1,22 @@ +# Permissions + +## allow-connect + +Enables the connect command without any pre-configured scope. + +## deny-connect + +Denies the connect command without any pre-configured scope. + +## allow-send + +Enables the send command without any pre-configured scope. + +## deny-send + +Denies the send command without any pre-configured scope. + +## default + +Allows connecting and sending data to a WebSocket server + diff --git a/plugins/window-state/permissions/autogenerated/reference.md b/plugins/window-state/permissions/autogenerated/reference.md new file mode 100644 index 000000000..767eea84b --- /dev/null +++ b/plugins/window-state/permissions/autogenerated/reference.md @@ -0,0 +1,18 @@ +# Permissions + +## allow-restore-window-state + +Enables the restore_window_state command without any pre-configured scope. + +## deny-restore-window-state + +Denies the restore_window_state command without any pre-configured scope. + +## allow-save-window-state + +Enables the save_window_state command without any pre-configured scope. + +## deny-save-window-state + +Denies the save_window_state command without any pre-configured scope. + From 85d4bb9ccb025d0c2d36621333d6cba6441a47d0 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 00:33:21 -0300 Subject: [PATCH 27/35] remove tauri-build from plugin deps --- Cargo.lock | 138 +++++++++++++++++---------- Cargo.toml | 6 +- plugins/barcode-scanner/Cargo.toml | 1 - plugins/barcode-scanner/build.rs | 6 +- plugins/biometric/Cargo.toml | 1 - plugins/biometric/build.rs | 11 +-- plugins/clipboard-manager/Cargo.toml | 1 - plugins/clipboard-manager/build.rs | 6 +- plugins/deep-link/Cargo.toml | 1 - plugins/deep-link/build.rs | 12 +-- plugins/dialog/Cargo.toml | 1 - plugins/dialog/build.rs | 6 +- plugins/log/Cargo.toml | 1 - plugins/log/build.rs | 12 +-- plugins/nfc/Cargo.toml | 1 - plugins/nfc/build.rs | 14 +-- plugins/notification/Cargo.toml | 1 - plugins/notification/build.rs | 6 +- shared/template/Cargo.toml | 3 - shared/template/build.rs | 4 +- 20 files changed, 112 insertions(+), 120 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b9a71fc63..3693bbcdc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -284,7 +284,7 @@ dependencies = [ "objc_id", "parking_lot", "thiserror", - "winapi", + "winapi 0.3.9", "x11rb 0.12.0", ] @@ -570,7 +570,7 @@ dependencies = [ "log", "rand 0.7.3", "runloop", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -1039,7 +1039,7 @@ checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" dependencies = [ "error-code", "str-buf", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -1108,7 +1108,7 @@ checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355" dependencies = [ "is-terminal", "lazy_static", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -1548,7 +1548,7 @@ checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" dependencies = [ "libc", "redox_users", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -1559,7 +1559,7 @@ checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", "redox_users", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -2239,7 +2239,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" dependencies = [ "libc", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -2331,7 +2331,7 @@ dependencies = [ "gobject-sys 0.16.3", "libc", "system-deps", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -2344,7 +2344,7 @@ dependencies = [ "gobject-sys 0.18.0", "libc", "system-deps", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -2666,7 +2666,7 @@ checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" dependencies = [ "libc", "match_cfg", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -3105,7 +3105,7 @@ dependencies = [ "jni-sys", "log", "thiserror", - "walkdir", + "walkdir 2.4.0", "windows-sys 0.45.0", ] @@ -3151,6 +3151,16 @@ dependencies = [ "treediff", ] +[[package]] +name = "kernel32-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" +dependencies = [ + "winapi 0.2.8", + "winapi-build", +] + [[package]] name = "keyboard-types" version = "0.6.2" @@ -3252,7 +3262,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -3291,7 +3301,7 @@ dependencies = [ "cc", "libc", "pkg-config", - "walkdir", + "walkdir 2.4.0", ] [[package]] @@ -3712,7 +3722,7 @@ dependencies = [ "log", "mio", "serde", - "walkdir", + "walkdir 2.4.0", "windows-sys 0.48.0", ] @@ -3748,7 +3758,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ "overload", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -3993,7 +4003,7 @@ checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" dependencies = [ "log", "serde", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -4842,7 +4852,7 @@ dependencies = [ "spin 0.5.2", "untrusted 0.7.1", "web-sys", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -5018,6 +5028,16 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" +[[package]] +name = "same-file" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d931a44fdaa43b8637009e7632a02adc4f2b2e0733c08caa4cf00e8da4a117a7" +dependencies = [ + "kernel32-sys", + "winapi 0.2.8", +] + [[package]] name = "same-file" version = "1.0.6" @@ -5322,7 +5342,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" dependencies = [ "libc", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -5395,7 +5415,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -5997,7 +6017,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6049,7 +6069,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" dependencies = [ "anyhow", "cargo_toml", @@ -6057,24 +6077,22 @@ dependencies = [ "glob", "heck", "json-patch", - "plist", "quote", "schemars", "semver", "serde", "serde_json", - "swift-rs", "tauri-codegen", "tauri-utils", "tauri-winres", "toml 0.8.8", - "walkdir", + "walkdir 2.4.0", ] [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" dependencies = [ "base64 0.21.5", "brotli", @@ -6093,13 +6111,13 @@ dependencies = [ "time 0.3.30", "url", "uuid", - "walkdir", + "walkdir 2.4.0", ] [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" dependencies = [ "heck", "proc-macro2", @@ -6112,15 +6130,17 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" dependencies = [ - "cargo_metadata", + "anyhow", "glob", + "plist", "schemars", "serde", "serde_json", - "tauri", + "tauri-utils", "toml 0.8.8", + "walkdir 1.0.7", ] [[package]] @@ -6164,7 +6184,6 @@ dependencies = [ "serde", "serde_json", "tauri", - "tauri-build", "tauri-plugin", "thiserror", ] @@ -6178,7 +6197,6 @@ dependencies = [ "serde_json", "serde_repr", "tauri", - "tauri-build", "tauri-plugin", "thiserror", ] @@ -6205,7 +6223,6 @@ dependencies = [ "serde", "serde_json", "tauri", - "tauri-build", "tauri-plugin", "thiserror", ] @@ -6218,7 +6235,6 @@ dependencies = [ "serde", "serde_json", "tauri", - "tauri-build", "tauri-plugin", "thiserror", "url", @@ -6235,7 +6251,6 @@ dependencies = [ "serde", "serde_json", "tauri", - "tauri-build", "tauri-plugin", "tauri-plugin-fs", "thiserror", @@ -6319,7 +6334,6 @@ dependencies = [ "serde_repr", "swift-rs", "tauri", - "tauri-build", "tauri-plugin", "time 0.3.30", ] @@ -6333,7 +6347,6 @@ dependencies = [ "serde_json", "serde_repr", "tauri", - "tauri-build", "tauri-plugin", "thiserror", ] @@ -6349,7 +6362,6 @@ dependencies = [ "serde_json", "serde_repr", "tauri", - "tauri-build", "tauri-plugin", "thiserror", "time 0.3.30", @@ -6566,7 +6578,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" dependencies = [ "gtk", "http", @@ -6583,7 +6595,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6604,7 +6616,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#95da1a27476e01e06f6ce0335df8535b662dd9c4" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" dependencies = [ "aes-gcm 0.10.3", "brotli", @@ -6629,10 +6641,11 @@ dependencies = [ "serde_json", "serde_with", "serialize-to-javascript", + "swift-rs", "thiserror", "toml 0.8.8", "url", - "walkdir", + "walkdir 2.4.0", ] [[package]] @@ -6734,7 +6747,7 @@ checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -7180,7 +7193,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" dependencies = [ "tempfile", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -7367,13 +7380,24 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +[[package]] +name = "walkdir" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb08f9e670fab86099470b97cd2b252d6527f0b3cc1401acdb595ffc9dd288ff" +dependencies = [ + "kernel32-sys", + "same-file 0.1.3", + "winapi 0.2.8", +] + [[package]] name = "walkdir" version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ - "same-file", + "same-file 1.0.6", "winapi-util", ] @@ -7670,6 +7694,12 @@ dependencies = [ "windows-sys 0.36.1", ] +[[package]] +name = "winapi" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" + [[package]] name = "winapi" version = "0.3.9" @@ -7680,6 +7710,12 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] +[[package]] +name = "winapi-build" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" + [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -7692,7 +7728,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ - "winapi", + "winapi 0.3.9", ] [[package]] @@ -7701,7 +7737,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" dependencies = [ - "winapi", + "winapi 0.3.9", ] [[package]] @@ -8084,7 +8120,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" dependencies = [ - "winapi", + "winapi 0.3.9", ] [[package]] @@ -8181,7 +8217,7 @@ checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" dependencies = [ "gethostname 0.3.0", "nix 0.26.4", - "winapi", + "winapi 0.3.9", "winapi-wsapoll", "x11rb-protocol 0.12.0", ] @@ -8243,7 +8279,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" dependencies = [ "nix 0.26.4", - "winapi", + "winapi 0.3.9", ] [[package]] @@ -8280,7 +8316,7 @@ dependencies = [ "static_assertions", "tracing", "uds_windows", - "winapi", + "winapi 0.3.9", "xdg-home", "zbus_macros", "zbus_names", diff --git a/Cargo.toml b/Cargo.toml index 777547c5f..e6e2166dd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,9 +10,9 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } -tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } -tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/tauri-build-plugin" } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/tauri-build-plugin" } +tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/tauri-build-plugin" } serde_json = "1" thiserror = "1" url = "2" diff --git a/plugins/barcode-scanner/Cargo.toml b/plugins/barcode-scanner/Cargo.toml index 5aaa42111..bdfca8af9 100644 --- a/plugins/barcode-scanner/Cargo.toml +++ b/plugins/barcode-scanner/Cargo.toml @@ -14,7 +14,6 @@ rustdoc-args = ["--cfg", "docsrs"] targets = ["x86_64-linux-android"] [build-dependencies] -tauri-build = { workspace = true } tauri-plugin = { workspace = true, features = ["build"] } [dependencies] diff --git a/plugins/barcode-scanner/build.rs b/plugins/barcode-scanner/build.rs index 8c977b698..9239a4046 100644 --- a/plugins/barcode-scanner/build.rs +++ b/plugins/barcode-scanner/build.rs @@ -12,12 +12,10 @@ const COMMANDS: &[&str] = &[ ]; fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); - - if let Err(error) = tauri_build::mobile::PluginBuilder::new() + if let Err(error) = tauri_plugin::Builder::new(COMMANDS) .android_path("android") .ios_path("ios") - .run() + .try_build() { println!("{error:#}"); // when building documentation for Android the plugin build result is irrelevant to the crate itself diff --git a/plugins/biometric/Cargo.toml b/plugins/biometric/Cargo.toml index 0d4de353f..a769a593d 100644 --- a/plugins/biometric/Cargo.toml +++ b/plugins/biometric/Cargo.toml @@ -12,7 +12,6 @@ rustc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] -tauri-build = { workspace = true } tauri-plugin = { workspace = true, features = ["build"] } [dependencies] diff --git a/plugins/biometric/build.rs b/plugins/biometric/build.rs index 50d8a0116..3df01ac9e 100644 --- a/plugins/biometric/build.rs +++ b/plugins/biometric/build.rs @@ -2,18 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT -use std::process::exit; const COMMANDS: &[&str] = &["authenticate", "status"]; fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); - - if let Err(error) = tauri_build::mobile::PluginBuilder::new() + tauri_plugin::Builder::new(COMMANDS) .android_path("android") .ios_path("ios") - .run() - { - println!("{error:#}"); - exit(1); - } + .build(); } diff --git a/plugins/clipboard-manager/Cargo.toml b/plugins/clipboard-manager/Cargo.toml index 29c6a610e..1101ef496 100644 --- a/plugins/clipboard-manager/Cargo.toml +++ b/plugins/clipboard-manager/Cargo.toml @@ -14,7 +14,6 @@ rustdoc-args = ["--cfg", "docsrs"] targets = ["x86_64-unknown-linux-gnu", "x86_64-linux-android"] [build-dependencies] -tauri-build = { workspace = true } tauri-plugin = { workspace = true, features = ["build"] } [dependencies] diff --git a/plugins/clipboard-manager/build.rs b/plugins/clipboard-manager/build.rs index fc35c702f..758d64f30 100644 --- a/plugins/clipboard-manager/build.rs +++ b/plugins/clipboard-manager/build.rs @@ -5,12 +5,10 @@ const COMMANDS: &[&str] = &["write", "read"]; fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); - - if let Err(error) = tauri_build::mobile::PluginBuilder::new() + if let Err(error) = tauri_plugin::Builder::new(COMMANDS) .android_path("android") .ios_path("ios") - .run() + .try_build() { println!("{error:#}"); // when building documentation for Android the plugin build result is irrelevant to the crate itself diff --git a/plugins/deep-link/Cargo.toml b/plugins/deep-link/Cargo.toml index d3742643c..0b3534904 100644 --- a/plugins/deep-link/Cargo.toml +++ b/plugins/deep-link/Cargo.toml @@ -16,7 +16,6 @@ targets = ["x86_64-linux-android"] [build-dependencies] serde = { workspace = true } serde_json = { workspace = true } -tauri-build = { workspace = true } tauri-plugin = { workspace = true, features = ["build"] } [dependencies] diff --git a/plugins/deep-link/build.rs b/plugins/deep-link/build.rs index 90cab7808..bffa4675a 100644 --- a/plugins/deep-link/build.rs +++ b/plugins/deep-link/build.rs @@ -32,11 +32,9 @@ fn intent_filter(domain: &AssociatedDomain) -> String { } fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); - - if let Err(error) = tauri_build::mobile::PluginBuilder::new() + if let Err(error) = tauri_plugin::Builder::new(COMMANDS) .android_path("android") - .run() + .try_build() { println!("{error:#}"); if !(cfg!(docsrs) && std::env::var("TARGET").unwrap().contains("android")) { @@ -44,8 +42,8 @@ fn main() { } } - if let Some(config) = tauri_build::config::plugin_config::("deep-link") { - tauri_build::mobile::update_android_manifest( + if let Some(config) = tauri_plugin::plugin_config::("deep-link") { + tauri_plugin::mobile::update_android_manifest( "DEEP LINK PLUGIN", "activity", config @@ -59,7 +57,7 @@ fn main() { #[cfg(target_os = "macos")] { - tauri_build::mobile::update_entitlements(|entitlements| { + tauri_plugin::mobile::update_entitlements(|entitlements| { entitlements.insert( "com.apple.developer.associated-domains".into(), config diff --git a/plugins/dialog/Cargo.toml b/plugins/dialog/Cargo.toml index 9196ee6a3..e95e8191b 100644 --- a/plugins/dialog/Cargo.toml +++ b/plugins/dialog/Cargo.toml @@ -14,7 +14,6 @@ rustdoc-args = ["--cfg", "docsrs"] targets = ["x86_64-unknown-linux-gnu", "x86_64-linux-android"] [build-dependencies] -tauri-build = { workspace = true } tauri-plugin = { workspace = true, features = ["build"] } [dependencies] diff --git a/plugins/dialog/build.rs b/plugins/dialog/build.rs index ad270fb09..d692f66d7 100644 --- a/plugins/dialog/build.rs +++ b/plugins/dialog/build.rs @@ -5,12 +5,10 @@ const COMMANDS: &[&str] = &["open", "save", "message", "ask", "confirm"]; fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); - - if let Err(error) = tauri_build::mobile::PluginBuilder::new() + if let Err(error) = tauri_plugin::Builder::new(COMMANDS) .android_path("android") .ios_path("ios") - .run() + .try_build() { println!("{error:#}"); // when building documentation for Android the plugin build result is irrelevant to the crate itself diff --git a/plugins/log/Cargo.toml b/plugins/log/Cargo.toml index 4b1cd7bde..1bc09aa64 100644 --- a/plugins/log/Cargo.toml +++ b/plugins/log/Cargo.toml @@ -13,7 +13,6 @@ rustc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] -tauri-build = { workspace = true } tauri-plugin = { workspace = true, features = ["build"] } [dependencies] diff --git a/plugins/log/build.rs b/plugins/log/build.rs index d1d4cbebc..f413529a1 100644 --- a/plugins/log/build.rs +++ b/plugins/log/build.rs @@ -2,18 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT -use std::process::exit; - const COMMANDS: &[&str] = &["log"]; fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); - - if let Err(error) = tauri_build::mobile::PluginBuilder::new() - .ios_path("ios") - .run() - { - println!("{error:#}"); - exit(1); - } + tauri_plugin::Builder::new(COMMANDS).ios_path("ios").build(); } diff --git a/plugins/nfc/Cargo.toml b/plugins/nfc/Cargo.toml index 04a02fc68..36ac87fdb 100644 --- a/plugins/nfc/Cargo.toml +++ b/plugins/nfc/Cargo.toml @@ -12,7 +12,6 @@ rustc-args = ["--cfg", "docsrs"] rustdoc-args = ["--cfg", "docsrs"] [build-dependencies] -tauri-build = { workspace = true } tauri-plugin = { workspace = true, features = ["build"] } [dependencies] diff --git a/plugins/nfc/build.rs b/plugins/nfc/build.rs index da86b68dc..1d2343712 100644 --- a/plugins/nfc/build.rs +++ b/plugins/nfc/build.rs @@ -2,25 +2,17 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT -use std::process::exit; - const COMMANDS: &[&str] = &["is_available", "write", "scan"]; fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); - - if let Err(error) = tauri_build::mobile::PluginBuilder::new() + tauri_plugin::Builder::new(COMMANDS) .android_path("android") .ios_path("ios") - .run() - { - println!("{error:#}"); - exit(1); - } + .build(); // TODO: triple check if this can reference the plugin's xml as it expects rn // TODO: This has to be configurable if we want to support handling nfc tags when the app is not open. - tauri_build::mobile::update_android_manifest( + tauri_plugin::mobile::update_android_manifest( "NFC PLUGIN", "activity", r#" diff --git a/plugins/notification/Cargo.toml b/plugins/notification/Cargo.toml index a60dfd23b..e730acd6e 100644 --- a/plugins/notification/Cargo.toml +++ b/plugins/notification/Cargo.toml @@ -14,7 +14,6 @@ rustdoc-args = ["--cfg", "docsrs"] targets = ["x86_64-unknown-linux-gnu", "x86_64-linux-android"] [build-dependencies] -tauri-build = { workspace = true } tauri-plugin = { workspace = true, features = ["build"] } [dependencies] diff --git a/plugins/notification/build.rs b/plugins/notification/build.rs index 0449c724c..26d1f96e9 100644 --- a/plugins/notification/build.rs +++ b/plugins/notification/build.rs @@ -5,12 +5,10 @@ const COMMANDS: &[&str] = &["notify", "request_permission", "is_permission_granted"]; fn main() { - tauri_plugin::Builder::new(COMMANDS).build(); - - if let Err(error) = tauri_build::mobile::PluginBuilder::new() + if let Err(error) = tauri_plugin::Builder::new(COMMANDS) .android_path("android") .ios_path("ios") - .run() + .try_build() { println!("{error:#}"); // when building documentation for Android the plugin build result is irrelevant to the crate itself diff --git a/shared/template/Cargo.toml b/shared/template/Cargo.toml index cc5e90b79..be8472bc0 100644 --- a/shared/template/Cargo.toml +++ b/shared/template/Cargo.toml @@ -15,9 +15,6 @@ tauri-plugin = { workspace = true, features = [ "build" ] } # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html -[build-dependencies] -tauri-build = { workspace = true } - [dependencies] serde = { workspace = true } serde_json = { workspace = true } diff --git a/shared/template/build.rs b/shared/template/build.rs index da7cd3cc4..121f3b740 100644 --- a/shared/template/build.rs +++ b/shared/template/build.rs @@ -2,8 +2,10 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT +const COMMANDS: &[&str] = &["execute"]; + fn main() { - if let Err(error) = tauri_build::mobile::PluginBuilder::new() + if let Err(error) = tauri_plugin::Builder::new(COMMANDS) .android_path("android") .ios_path("ios") .run() From 96b9b02de513200ee3b811b993658891ec724b5c Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 00:57:49 -0300 Subject: [PATCH 28/35] update config --- Cargo.lock | 16 ++-- examples/api/src-tauri/tauri.conf.json | 75 +++++++-------- .../examples/app/src-tauri/Cargo.toml | 2 +- .../examples/app/src-tauri/tauri.conf.json | 94 ++++++++++--------- plugins/dialog/test/tauri.conf.json | 20 ++-- plugins/notification/src/desktop.rs | 5 +- plugins/notification/test/tauri.conf.json | 20 ++-- plugins/shell/src/commands.rs | 1 - .../vanilla/src-tauri/tauri.conf.json | 79 ++++++++-------- .../src/platform_impl/linux.rs | 2 +- plugins/updater/src/config.rs | 60 ++++++++++++ plugins/updater/src/lib.rs | 3 +- plugins/updater/src/updater.rs | 37 ++++---- .../updater/tests/app-updater/tauri.conf.json | 53 +++++------ .../svelte-app/src-tauri/tauri.conf.json | 65 ++++++------- 15 files changed, 295 insertions(+), 237 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3693bbcdc..6342b918c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6017,7 +6017,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6069,7 +6069,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" dependencies = [ "anyhow", "cargo_toml", @@ -6092,7 +6092,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" dependencies = [ "base64 0.21.5", "brotli", @@ -6117,7 +6117,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" dependencies = [ "heck", "proc-macro2", @@ -6130,7 +6130,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" dependencies = [ "anyhow", "glob", @@ -6578,7 +6578,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" dependencies = [ "gtk", "http", @@ -6595,7 +6595,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6616,7 +6616,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#c74db2c9239357532f4555b93b0216a057729f0d" +source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/examples/api/src-tauri/tauri.conf.json b/examples/api/src-tauri/tauri.conf.json index 430dc2e87..b6a005824 100644 --- a/examples/api/src-tauri/tauri.conf.json +++ b/examples/api/src-tauri/tauri.conf.json @@ -1,15 +1,13 @@ { "$schema": "../node_modules/@tauri-apps/cli/schema.json", + "productName": "Tauri API", + "version": "2.0.0", + "identifier": "com.tauri.api", "build": { - "distDir": "../dist", - "devPath": "http://localhost:5173", + "frontendDist": "../dist", + "devUrl": "http://localhost:5173", "beforeDevCommand": "yarn dev", - "beforeBuildCommand": "yarn build", - "withGlobalTauri": true - }, - "package": { - "productName": "Tauri API", - "version": "2.0.0" + "beforeBuildCommand": "yarn build" }, "plugins": { "cli": { @@ -55,46 +53,23 @@ "open": true }, "updater": { + "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDE5QzMxNjYwNTM5OEUwNTgKUldSWTRKaFRZQmJER1h4d1ZMYVA3dnluSjdpN2RmMldJR09hUFFlZDY0SlFqckkvRUJhZDJVZXAK", "endpoints": [ "https://tauri-update-server.vercel.app/update/{{target}}/{{current_version}}" ] } }, - "tauri": { - "pattern": { - "use": "isolation", - "options": { - "dir": "../isolation-dist/" - } - }, + "app": { + "withGlobalTauri": true, "macOSPrivateApi": true, - "bundle": { - "active": true, - "identifier": "com.tauri.api", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "windows": { - "wix": { - "language": { - "en-US": {}, - "pt-BR": { - "localePath": "locales/pt-BR.wxl" - } - } - } - }, - "updater": { - "active": true, - "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDE5QzMxNjYwNTM5OEUwNTgKUldSWTRKaFRZQmJER1h4d1ZMYVA3dnluSjdpN2RmMldJR09hUFFlZDY0SlFqckkvRUJhZDJVZXAK" - } - }, "windows": [], "security": { + "pattern": { + "use": "isolation", + "options": { + "dir": "../isolation-dist/" + } + }, "csp": { "default-src": "'self' customprotocol: asset:", "connect-src": "ipc: http://ipc.localhost", @@ -118,5 +93,25 @@ } } } + }, + "bundle": { + "active": true, + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "windows": { + "wix": { + "language": { + "en-US": {}, + "pt-BR": { + "localePath": "locales/pt-BR.wxl" + } + } + } + } } } \ No newline at end of file diff --git a/plugins/deep-link/examples/app/src-tauri/Cargo.toml b/plugins/deep-link/examples/app/src-tauri/Cargo.toml index d4d2effb1..7cbf3fd50 100644 --- a/plugins/deep-link/examples/app/src-tauri/Cargo.toml +++ b/plugins/deep-link/examples/app/src-tauri/Cargo.toml @@ -23,7 +23,7 @@ tauri = { workspace = true } tauri-plugin-deep-link = { path = "../../../" } [features] -# this feature is used for production builds or when `devPath` points to the filesystem and the built-in dev server is disabled. +# this feature is used for production builds or when `devUrl` points to the filesystem and the built-in dev server is disabled. # If you use cargo directly instead of tauri's cli you can use this feature flag to switch between tauri's `dev` and `build` modes. # DO NOT REMOVE!! custom-protocol = [ "tauri/custom-protocol" ] diff --git a/plugins/deep-link/examples/app/src-tauri/tauri.conf.json b/plugins/deep-link/examples/app/src-tauri/tauri.conf.json index ef467e440..1d9cfa6a2 100644 --- a/plugins/deep-link/examples/app/src-tauri/tauri.conf.json +++ b/plugins/deep-link/examples/app/src-tauri/tauri.conf.json @@ -1,49 +1,14 @@ { + "productName": "deep-link-example", + "version": "0.0.0", + "identifier": "com.tauri.deep-link-example", "build": { "beforeDevCommand": "pnpm dev", "beforeBuildCommand": "pnpm build", - "devPath": "http://localhost:1420", - "distDir": "../dist", - "withGlobalTauri": false + "devUrl": "http://localhost:1420", + "frontendDist": "../dist" }, - "package": { - "productName": "deep-link-example", - "version": "0.0.0" - }, - "tauri": { - "bundle": { - "active": true, - "category": "DeveloperTool", - "copyright": "", - "deb": { - "depends": [] - }, - "externalBin": [], - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "identifier": "com.tauri.deep-link-example", - "longDescription": "", - "macOS": { - "entitlements": null, - "exceptionDomain": "", - "frameworks": [], - "providerShortName": null, - "signingIdentity": null - }, - "resources": [], - "shortDescription": "", - "targets": "all", - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "" - } - }, + "app": { "security": { "csp": null }, @@ -64,9 +29,50 @@ }, "deep-link": { "domains": [ - { "host": "fabianlars.de", "pathPrefix": ["/intent"] }, - { "host": "tauri.app" } + { + "host": "fabianlars.de", + "pathPrefix": [ + "/intent" + ] + }, + { + "host": "tauri.app" + } ] } + }, + "bundle": { + "active": true, + "category": "DeveloperTool", + "copyright": "", + "linux": { + "deb": { + "depends": [] + } + }, + "externalBin": [], + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "longDescription": "", + "macOS": { + "entitlements": null, + "exceptionDomain": "", + "frameworks": [], + "providerShortName": null, + "signingIdentity": null + }, + "resources": [], + "shortDescription": "", + "targets": "all", + "windows": { + "certificateThumbprint": null, + "digestAlgorithm": "sha256", + "timestampUrl": "" + } } -} +} \ No newline at end of file diff --git a/plugins/dialog/test/tauri.conf.json b/plugins/dialog/test/tauri.conf.json index c4a453d9b..4dffbe237 100644 --- a/plugins/dialog/test/tauri.conf.json +++ b/plugins/dialog/test/tauri.conf.json @@ -1,15 +1,11 @@ { "$schema": "../../../node_modules/.pnpm/@tauri-apps+cli@2.0.0-alpha.17/node_modules/@tauri-apps/cli/schema.json", + "identifier": "app.tauri.example", "build": { - "distDir": ".", - "devPath": "http://localhost:4000" + "frontendDist": ".", + "devUrl": "http://localhost:4000" }, - "tauri": { - "bundle": { - "identifier": "studio.tauri.example", - "active": true, - "icon": ["../../../examples/api/src-tauri/icons/icon.png"] - }, + "app": { "windows": [ { "title": "Tauri App" @@ -18,5 +14,11 @@ "security": { "csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: http://tauri.localhost 'unsafe-eval' 'unsafe-inline' 'self'" } + }, + "bundle": { + "active": true, + "icon": [ + "../../../examples/api/src-tauri/icons/icon.png" + ] } -} +} \ No newline at end of file diff --git a/plugins/notification/src/desktop.rs b/plugins/notification/src/desktop.rs index 6938334b8..8015885e1 100644 --- a/plugins/notification/src/desktop.rs +++ b/plugins/notification/src/desktop.rs @@ -19,13 +19,12 @@ pub struct Notification(AppHandle); impl crate::NotificationBuilder { pub fn show(self) -> crate::Result<()> { - let mut notification = - imp::Notification::new(self.app.config().tauri.bundle.identifier.clone()); + let mut notification = imp::Notification::new(self.app.config().identifier.clone()); if let Some(title) = self .data .title - .or_else(|| self.app.config().package.product_name.clone()) + .or_else(|| self.app.config().product_name.clone()) { notification = notification.title(title); } diff --git a/plugins/notification/test/tauri.conf.json b/plugins/notification/test/tauri.conf.json index c4a453d9b..4dffbe237 100644 --- a/plugins/notification/test/tauri.conf.json +++ b/plugins/notification/test/tauri.conf.json @@ -1,15 +1,11 @@ { "$schema": "../../../node_modules/.pnpm/@tauri-apps+cli@2.0.0-alpha.17/node_modules/@tauri-apps/cli/schema.json", + "identifier": "app.tauri.example", "build": { - "distDir": ".", - "devPath": "http://localhost:4000" + "frontendDist": ".", + "devUrl": "http://localhost:4000" }, - "tauri": { - "bundle": { - "identifier": "studio.tauri.example", - "active": true, - "icon": ["../../../examples/api/src-tauri/icons/icon.png"] - }, + "app": { "windows": [ { "title": "Tauri App" @@ -18,5 +14,11 @@ "security": { "csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: http://tauri.localhost 'unsafe-eval' 'unsafe-inline' 'self'" } + }, + "bundle": { + "active": true, + "icon": [ + "../../../examples/api/src-tauri/icons/icon.png" + ] } -} +} \ No newline at end of file diff --git a/plugins/shell/src/commands.rs b/plugins/shell/src/commands.rs index 551a2ffb8..0d44f9363 100644 --- a/plugins/shell/src/commands.rs +++ b/plugins/shell/src/commands.rs @@ -120,7 +120,6 @@ pub fn execute( let program_no_ext_as_string = program.with_extension("").display().to_string(); let configured_sidecar = window .config() - .tauri .bundle .external_bin .as_ref() diff --git a/plugins/single-instance/examples/vanilla/src-tauri/tauri.conf.json b/plugins/single-instance/examples/vanilla/src-tauri/tauri.conf.json index ee356ba26..1b6dd04e3 100644 --- a/plugins/single-instance/examples/vanilla/src-tauri/tauri.conf.json +++ b/plugins/single-instance/examples/vanilla/src-tauri/tauri.conf.json @@ -1,45 +1,11 @@ { - "package": { - "productName": "app", - "version": "0.1.0" - }, + "productName": "app", + "version": "0.1.0", + "identifier": "com.tauri.single-instance", "build": { - "distDir": "../public", - "devPath": "../public" + "frontendDist": "../public" }, - "tauri": { - "bundle": { - "active": true, - "targets": "all", - "identifier": "com.tauri.single-instance", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "resources": [], - "externalBin": [], - "copyright": "", - "category": "DeveloperTool", - "shortDescription": "", - "longDescription": "", - "deb": { - "depends": [] - }, - "macOS": { - "frameworks": [], - "exceptionDomain": "", - "signingIdentity": null, - "entitlements": null - }, - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "" - } - }, + "app": { "windows": [ { "title": "app", @@ -52,5 +18,38 @@ "security": { "csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: http://tauri.localhost 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'" } + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "resources": [], + "externalBin": [], + "copyright": "", + "category": "DeveloperTool", + "shortDescription": "", + "longDescription": "", + "linux": { + "deb": { + "depends": [] + } + }, + "macOS": { + "frameworks": [], + "exceptionDomain": "", + "signingIdentity": null, + "entitlements": null + }, + "windows": { + "certificateThumbprint": null, + "digestAlgorithm": "sha256", + "timestampUrl": "" + } } -} +} \ No newline at end of file diff --git a/plugins/single-instance/src/platform_impl/linux.rs b/plugins/single-instance/src/platform_impl/linux.rs index f05007d38..c34187341 100644 --- a/plugins/single-instance/src/platform_impl/linux.rs +++ b/plugins/single-instance/src/platform_impl/linux.rs @@ -29,7 +29,7 @@ impl SingleInstanceDBus { } fn dbus_id(config: &Config) -> String { - config.tauri.bundle.identifier.replace(['.', '-'], "_") + config.identifier.replace(['.', '-'], "_") } pub fn init(f: Box>) -> TauriPlugin { diff --git a/plugins/updater/src/config.rs b/plugins/updater/src/config.rs index 4fa851836..e7ef4ff85 100644 --- a/plugins/updater/src/config.rs +++ b/plugins/updater/src/config.rs @@ -10,9 +10,69 @@ use url::Url; pub struct Config { #[serde(default)] pub endpoints: Vec, + /// Signature public key. + pub pubkey: String, /// Additional arguments given to the NSIS or WiX installer. #[serde(default, alias = "installer-args")] pub installer_args: Vec, + /// The Windows configuration for the updater. + #[serde(default)] + pub windows: UpdaterWindowsConfig, +} + +/// Install modes for the Windows update. +#[derive(Debug, PartialEq, Eq, Clone)] +pub enum WindowsUpdateInstallMode { + /// Specifies there's a basic UI during the installation process, including a final dialog box at the end. + BasicUi, + /// The quiet mode means there's no user interaction required. + /// Requires admin privileges if the installer does. + Quiet, + /// Specifies unattended mode, which means the installation only shows a progress bar. + Passive, + // to add more modes, we need to check if the updater relaunch makes sense + // i.e. for a full UI mode, the user can also mark the installer to start the app +} + +impl Default for WindowsUpdateInstallMode { + fn default() -> Self { + Self::Passive + } +} + +impl<'de> Deserialize<'de> for WindowsUpdateInstallMode { + fn deserialize(deserializer: D) -> std::result::Result + where + D: Deserializer<'de>, + { + let s = String::deserialize(deserializer)?; + match s.to_lowercase().as_str() { + "basicui" => Ok(Self::BasicUi), + "quiet" => Ok(Self::Quiet), + "passive" => Ok(Self::Passive), + _ => Err(serde::de::Error::custom(format!( + "unknown update install mode '{s}'" + ))), + } + } +} + +impl WindowsUpdateInstallMode { + /// Returns the associated nsis arguments. + pub fn nsis_args(&self) -> &'static [&'static str] { + match self { + Self::Passive => &["/P", "/R"], + Self::Quiet => &["/S", "/R"], + _ => &[], + } + } +} + +#[derive(Debug, Clone, Default, Deserialize)] +#[serde(rename_all = "camelCase", deny_unknown_fields)] +pub struct UpdaterWindowsConfig { + #[serde(default, alias = "install-mode")] + pub install_mode: WindowsUpdateInstallMode, } /// A URL to an updater server. diff --git a/plugins/updater/src/lib.rs b/plugins/updater/src/lib.rs index 0475620de..bacce792a 100644 --- a/plugins/updater/src/lib.rs +++ b/plugins/updater/src/lib.rs @@ -72,10 +72,9 @@ impl> UpdaterExt for T { fn updater_builder(&self) -> UpdaterBuilder { let app = self.app_handle(); let version = app.package_info().version.clone(); - let updater_config = app.config().tauri.bundle.updater.clone(); let UpdaterState { config, target } = self.state::().inner(); - let mut builder = UpdaterBuilder::new(version, config.clone(), updater_config); + let mut builder = UpdaterBuilder::new(version, config.clone()); if let Some(target) = target { builder = builder.target(target); diff --git a/plugins/updater/src/updater.rs b/plugins/updater/src/updater.rs index 75cd38a80..3fb43d4e2 100644 --- a/plugins/updater/src/updater.rs +++ b/plugins/updater/src/updater.rs @@ -20,11 +20,15 @@ use reqwest::{ }; use semver::Version; use serde::{de::Error as DeError, Deserialize, Deserializer, Serialize}; -use tauri::utils::{config::UpdaterConfig, platform::current_exe}; +use tauri::utils::platform::current_exe; use time::OffsetDateTime; use url::Url; -use crate::error::{Error, Result}; +use crate::{ + config::UpdaterWindowsConfig, + error::{Error, Result}, + Config, +}; #[derive(Debug, Deserialize, Serialize, Clone)] pub struct ReleaseManifestPlatform { @@ -86,8 +90,7 @@ impl RemoteRelease { pub struct UpdaterBuilder { current_version: Version, - config: crate::Config, - updater_config: UpdaterConfig, + config: Config, version_comparator: Option bool + Send + Sync>>, executable_path: Option, target: Option, @@ -98,15 +101,10 @@ pub struct UpdaterBuilder { } impl UpdaterBuilder { - pub fn new( - current_version: Version, - config: crate::Config, - updater_config: UpdaterConfig, - ) -> Self { + pub fn new(current_version: Version, config: Config) -> Self { Self { current_version, config, - updater_config, version_comparator: None, executable_path: None, target: None, @@ -197,12 +195,15 @@ impl UpdaterBuilder { }; Ok(Updater { - config: self.updater_config, + pubkey: self.config.pubkey, + windows_config: self.config.windows, current_version: self.current_version, version_comparator: self.version_comparator, timeout: self.timeout, endpoints, - installer_args: self.installer_args.unwrap_or(self.config.installer_args), + installer_args: self + .installer_args + .unwrap_or(self.config.installer_args.clone()), arch, target, json_target, @@ -213,7 +214,9 @@ impl UpdaterBuilder { } pub struct Updater { - config: UpdaterConfig, + pubkey: String, + #[allow(dead_code)] + windows_config: UpdaterWindowsConfig, current_version: Version, version_comparator: Option bool + Send + Sync>>, timeout: Option, @@ -315,8 +318,8 @@ impl Updater { let update = if should_update { Some(Update { + pubkey: self.pubkey.clone(), current_version: self.current_version.to_string(), - config: self.config.clone(), target: self.target.clone(), extract_path: self.extract_path.clone(), installer_args: self.installer_args.clone(), @@ -338,7 +341,7 @@ impl Updater { #[derive(Debug, Clone)] pub struct Update { - config: UpdaterConfig, + pubkey: String, /// Update description pub body: Option, /// Version used to check for update @@ -419,7 +422,7 @@ impl Update { let mut update_buffer = Cursor::new(&buffer); - verify_signature(&mut update_buffer, &self.signature, &self.config.pubkey)?; + verify_signature(&mut update_buffer, &self.signature, &self.pubkey)?; Ok(buffer) } @@ -502,7 +505,7 @@ impl Update { installer_path.push("\""); let installer_args = [ - self.config.windows.install_mode.nsis_args(), + self.windows_config.install_mode.nsis_args(), self.installer_args .iter() .map(AsRef::as_ref) diff --git a/plugins/updater/tests/app-updater/tauri.conf.json b/plugins/updater/tests/app-updater/tauri.conf.json index 9727f0d87..bf833a7ea 100644 --- a/plugins/updater/tests/app-updater/tauri.conf.json +++ b/plugins/updater/tests/app-updater/tauri.conf.json @@ -1,39 +1,32 @@ { "$schema": "../../../../node_modules/.pnpm/@tauri-apps+cli@2.0.0-alpha.17/node_modules/@tauri-apps/cli/schema.json", - "build": { - "distDir": [], - "devPath": [] - }, - "tauri": { - "bundle": { - "active": true, - "targets": "all", - "identifier": "com.tauri.updater", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "category": "DeveloperTool", - "windows": { - "wix": { - "skipWebviewInstall": true - } - }, - "updater": { - "active": true, - "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEMwNjY1MEExMTFBMDU5RTUKUldUbFdhQVJvVkJtd09sZ1ROT25yVGFhU2o0ZnUyd1FlT0ZTQ2ZXamN3SXk4SjZLZmNwRnV5dTMK", - "windows": { - "installMode": "quiet" - } + "identifier": "com.tauri.updater", + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "category": "DeveloperTool", + "windows": { + "wix": { + "skipWebviewInstall": true } } }, "plugins": { "updater": { - "endpoints": ["http://localhost:3007"] + "endpoints": [ + "http://localhost:3007" + ], + "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEMwNjY1MEExMTFBMDU5RTUKUldUbFdhQVJvVkJtd09sZ1ROT25yVGFhU2o0ZnUyd1FlT0ZTQ2ZXamN3SXk4SjZLZmNwRnV5dTMK", + "windows": { + "installMode": "quiet" + } } } -} +} \ No newline at end of file diff --git a/plugins/websocket/examples/svelte-app/src-tauri/tauri.conf.json b/plugins/websocket/examples/svelte-app/src-tauri/tauri.conf.json index 205771f4c..56764284b 100644 --- a/plugins/websocket/examples/svelte-app/src-tauri/tauri.conf.json +++ b/plugins/websocket/examples/svelte-app/src-tauri/tauri.conf.json @@ -1,38 +1,12 @@ { + "identifier": "com.tauri.dev", "build": { - "distDir": "../build", - "devPath": "http://localhost:5173/", + "frontendDist": "../build", + "devUrl": "http://localhost:5173/", "beforeDevCommand": "pnpm dev", - "beforeBuildCommand": "pnpm build", - "withGlobalTauri": false + "beforeBuildCommand": "pnpm build" }, - "tauri": { - "bundle": { - "active": true, - "targets": "all", - "identifier": "com.tauri.dev", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "resources": [], - "externalBin": [], - "copyright": "", - "category": "DeveloperTool", - "shortDescription": "", - "longDescription": "", - "deb": { - "depends": [] - }, - "macOS": { - "frameworks": [], - "minimumSystemVersion": "", - "exceptionDomain": "" - } - }, + "app": { "windows": [ { "title": "Tauri App", @@ -45,5 +19,32 @@ "security": { "csp": null } + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "resources": [], + "externalBin": [], + "copyright": "", + "category": "DeveloperTool", + "shortDescription": "", + "longDescription": "", + "linux": { + "deb": { + "depends": [] + } + }, + "macOS": { + "frameworks": [], + "minimumSystemVersion": "", + "exceptionDomain": "" + } } -} +} \ No newline at end of file From 0cd98f8f2c8d38c57a3aedb9c6800f98f73807a2 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 08:20:52 -0300 Subject: [PATCH 29/35] update updater e2e test --- plugins/updater/src/config.rs | 9 +++++++++ plugins/updater/src/updater.rs | 6 ++++-- plugins/updater/tests/app-updater/tests/update.rs | 13 +++---------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/plugins/updater/src/config.rs b/plugins/updater/src/config.rs index e7ef4ff85..77fa56136 100644 --- a/plugins/updater/src/config.rs +++ b/plugins/updater/src/config.rs @@ -66,6 +66,15 @@ impl WindowsUpdateInstallMode { _ => &[], } } + + /// Returns the associated `msiexec.exe` arguments. + pub fn msiexec_args(&self) -> &'static [&'static str] { + match self { + Self::BasicUi => &["/qb+"], + Self::Quiet => &["/quiet"], + Self::Passive => &["/passive"], + } + } } #[derive(Debug, Clone, Default, Deserialize)] diff --git a/plugins/updater/src/updater.rs b/plugins/updater/src/updater.rs index 3fb43d4e2..f31dea19c 100644 --- a/plugins/updater/src/updater.rs +++ b/plugins/updater/src/updater.rs @@ -215,7 +215,6 @@ impl UpdaterBuilder { pub struct Updater { pubkey: String, - #[allow(dead_code)] windows_config: UpdaterWindowsConfig, current_version: Version, version_comparator: Option bool + Send + Sync>>, @@ -319,6 +318,7 @@ impl Updater { let update = if should_update { Some(Update { pubkey: self.pubkey.clone(), + windows_config: self.windows_config.clone(), current_version: self.current_version.to_string(), target: self.target.clone(), extract_path: self.extract_path.clone(), @@ -342,6 +342,8 @@ impl Updater { #[derive(Debug, Clone)] pub struct Update { pubkey: String, + #[allow(dead_code)] + windows_config: UpdaterWindowsConfig, /// Update description pub body: Option, /// Version used to check for update @@ -540,7 +542,7 @@ impl Update { msi_path.push("\"\"\""); let installer_args = [ - self.config.windows.install_mode.msiexec_args(), + self.windows_config.install_mode.msiexec_args(), self.installer_args .iter() .map(AsRef::as_ref) diff --git a/plugins/updater/tests/app-updater/tests/update.rs b/plugins/updater/tests/app-updater/tests/update.rs index 29e878a9e..797be1f8a 100644 --- a/plugins/updater/tests/app-updater/tests/update.rs +++ b/plugins/updater/tests/app-updater/tests/update.rs @@ -15,14 +15,9 @@ use serde::Serialize; const UPDATER_PRIVATE_KEY: &str = "dW50cnVzdGVkIGNvbW1lbnQ6IHJzaWduIGVuY3J5cHRlZCBzZWNyZXQga2V5ClJXUlRZMEl5Qm9uUXIyeEM2YkczeGMwZDFENmw1WHEzaFk5aDlOOXNyTWRxRnY4UUpzZ0FBQkFBQUFBQUFBQUFBQUlBQUFBQTVWbWdFYUZRWnNDZmdyUW9ibWExVEFTY0pVTWpVS2xlOHdhR1I3Q3hpd2FTNjg1MXZENEQyZWxnVE5PbnJUYWFTajRmdTJ3UWVPRlNDZldqY3dJeThKNktmY3BGdXl1M1BPdHgwOFhIQzJLSnpqS0Z2cVdmaEs2WWRmK3d4SHVCMlpHVGduaVAzclU9Cg=="; -#[derive(Serialize)] -struct PackageConfig { - version: &'static str, -} - #[derive(Serialize)] struct Config { - package: PackageConfig, + version: &'static str, } #[derive(Serialize)] @@ -163,9 +158,7 @@ fn update_app() { let manifest_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")); let root_dir = manifest_dir.join("../../../.."); - let mut config = Config { - package: PackageConfig { version: "1.0.0" }, - }; + let mut config = Config { version: "1.0.0" }; // bundle app update build_app(&manifest_dir, &config, true, Default::default()); @@ -248,7 +241,7 @@ fn update_app() { } }); - config.package.version = "0.1.0"; + config.version = "0.1.0"; // bundle initial app version build_app(&manifest_dir, &config, false, bundle_target); From 5ea1d572260b98884bed7670384fa17bc53ff0e9 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 08:49:28 -0300 Subject: [PATCH 30/35] tauri dev branch --- Cargo.lock | 16 ++++++++-------- Cargo.toml | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6342b918c..eb35bf2a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6017,7 +6017,7 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#0cdfda28767701369cd774e2b20d943c6ddc9f05" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6069,7 +6069,7 @@ dependencies = [ [[package]] name = "tauri-build" version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#0cdfda28767701369cd774e2b20d943c6ddc9f05" dependencies = [ "anyhow", "cargo_toml", @@ -6092,7 +6092,7 @@ dependencies = [ [[package]] name = "tauri-codegen" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#0cdfda28767701369cd774e2b20d943c6ddc9f05" dependencies = [ "base64 0.21.5", "brotli", @@ -6117,7 +6117,7 @@ dependencies = [ [[package]] name = "tauri-macros" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#0cdfda28767701369cd774e2b20d943c6ddc9f05" dependencies = [ "heck", "proc-macro2", @@ -6130,7 +6130,7 @@ dependencies = [ [[package]] name = "tauri-plugin" version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#0cdfda28767701369cd774e2b20d943c6ddc9f05" dependencies = [ "anyhow", "glob", @@ -6578,7 +6578,7 @@ dependencies = [ [[package]] name = "tauri-runtime" version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#0cdfda28767701369cd774e2b20d943c6ddc9f05" dependencies = [ "gtk", "http", @@ -6595,7 +6595,7 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#0cdfda28767701369cd774e2b20d943c6ddc9f05" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6616,7 +6616,7 @@ dependencies = [ [[package]] name = "tauri-utils" version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=refactor/tauri-build-plugin#cc9bcdfdbffb4704df0095b3e31caf57be9fa846" +source = "git+https://github.com/tauri-apps/tauri?branch=dev#0cdfda28767701369cd774e2b20d943c6ddc9f05" dependencies = [ "aes-gcm 0.10.3", "brotli", diff --git a/Cargo.toml b/Cargo.toml index e6e2166dd..777547c5f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,9 +10,9 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/tauri-build-plugin" } -tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/tauri-build-plugin" } -tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "refactor/tauri-build-plugin" } +tauri = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } serde_json = "1" thiserror = "1" url = "2" From d596a8059ba3dfeaed539451661736b7f0adb9f7 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 10:09:53 -0300 Subject: [PATCH 31/35] format [skip ci] --- .prettierignore | 3 ++- examples/api/src-tauri/capabilities/base.json | 6 ++---- .../api/src-tauri/capabilities/desktop.json | 12 +++-------- .../api/src-tauri/capabilities/mobile.json | 11 +++------- examples/api/src-tauri/src/lib.rs | 1 - examples/api/src-tauri/tauri.conf.json | 21 +++++-------------- plugins/barcode-scanner/guest-js/index.ts | 4 ++-- .../examples/app/src-tauri/tauri.conf.json | 6 ++---- plugins/dialog/test/tauri.conf.json | 6 ++---- plugins/nfc/guest-js/index.ts | 12 +++++------ plugins/notification/test/tauri.conf.json | 6 ++---- .../vanilla/src-tauri/tauri.conf.json | 2 +- .../updater/tests/app-updater/tauri.conf.json | 6 ++---- .../svelte-app/src-tauri/tauri.conf.json | 2 +- 14 files changed, 33 insertions(+), 65 deletions(-) diff --git a/.prettierignore b/.prettierignore index c2d3ae570..c5d0524a8 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,4 +8,5 @@ Cargo.lock build api-iife.js init-iife.js -intermediates/ \ No newline at end of file +intermediates/ +*schema.json \ No newline at end of file diff --git a/examples/api/src-tauri/capabilities/base.json b/examples/api/src-tauri/capabilities/base.json index 7ea7da92d..82ca54cd2 100644 --- a/examples/api/src-tauri/capabilities/base.json +++ b/examples/api/src-tauri/capabilities/base.json @@ -2,9 +2,7 @@ "$schema": "schemas/desktop-schema.json", "identifier": "run-app-base", "description": "Base permissions to run the app", - "windows": [ - "main" - ], + "windows": ["main"], "permissions": [ "log:default", { @@ -77,4 +75,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/examples/api/src-tauri/capabilities/desktop.json b/examples/api/src-tauri/capabilities/desktop.json index fab507ebf..343e78344 100644 --- a/examples/api/src-tauri/capabilities/desktop.json +++ b/examples/api/src-tauri/capabilities/desktop.json @@ -2,14 +2,8 @@ "$schema": "./schemas/desktop-schema.json", "identifier": "run-app-desktop", "description": "Permissions to run the app (desktop only)", - "windows": [ - "main" - ], - "platforms": [ - "linux", - "macOS", - "windows" - ], + "windows": ["main"], + "platforms": ["linux", "macOS", "windows"], "permissions": [ "cli:default", "updater:default", @@ -17,4 +11,4 @@ "global-shortcut:allow-register", "global-shortcut:allow-unregister-all" ] -} \ No newline at end of file +} diff --git a/examples/api/src-tauri/capabilities/mobile.json b/examples/api/src-tauri/capabilities/mobile.json index cb8cbc9ab..a9cbfa87c 100644 --- a/examples/api/src-tauri/capabilities/mobile.json +++ b/examples/api/src-tauri/capabilities/mobile.json @@ -2,13 +2,8 @@ "$schema": "./schemas/mobile-schema.json", "identifier": "run-app-mobile", "description": "Permissions to run the app (mobile only)", - "windows": [ - "main" - ], - "platforms": [ - "android", - "iOS" - ], + "windows": ["main"], + "platforms": ["android", "iOS"], "permissions": [ "nfc:allow-write", "nfc:allow-scan", @@ -18,4 +13,4 @@ "barcode-scanner:allow-request-permissions", "barcode-scanner:allow-check-permissions" ] -} \ No newline at end of file +} diff --git a/examples/api/src-tauri/src/lib.rs b/examples/api/src-tauri/src/lib.rs index 7489a765a..b40290bd2 100644 --- a/examples/api/src-tauri/src/lib.rs +++ b/examples/api/src-tauri/src/lib.rs @@ -81,7 +81,6 @@ pub fn run() { #[cfg(debug_assertions)] webview.open_devtools(); - #[cfg(desktop)] std::thread::spawn(|| { let server = match tiny_http::Server::http("localhost:3003") { Ok(s) => s, diff --git a/examples/api/src-tauri/tauri.conf.json b/examples/api/src-tauri/tauri.conf.json index 30fa93c41..ec3190ef8 100644 --- a/examples/api/src-tauri/tauri.conf.json +++ b/examples/api/src-tauri/tauri.conf.json @@ -22,9 +22,7 @@ "csp": { "default-src": "'self' customprotocol: asset:", "connect-src": "ipc: http://ipc.localhost", - "font-src": [ - "https://fonts.gstatic.com" - ], + "font-src": ["https://fonts.gstatic.com"], "img-src": "'self' asset: http://asset.localhost blob: data:", "style-src": "'unsafe-inline' 'self' http://fonts.googleapis.com" }, @@ -32,13 +30,8 @@ "assetProtocol": { "enable": true, "scope": { - "allow": [ - "$APPDATA/db/**", - "$RESOURCE/**" - ], - "deny": [ - "$APPDATA/db/*.stronghold" - ] + "allow": ["$APPDATA/db/**", "$RESOURCE/**"], + "deny": ["$APPDATA/db/*.stronghold"] } } } @@ -58,11 +51,7 @@ "name": "theme", "takesValue": true, "description": "App theme", - "possibleValues": [ - "light", - "dark", - "system" - ] + "possibleValues": ["light", "dark", "system"] }, { "short": "v", @@ -113,4 +102,4 @@ } } } -} \ No newline at end of file +} diff --git a/plugins/barcode-scanner/guest-js/index.ts b/plugins/barcode-scanner/guest-js/index.ts index 0542a2982..8e964420f 100644 --- a/plugins/barcode-scanner/guest-js/index.ts +++ b/plugins/barcode-scanner/guest-js/index.ts @@ -54,7 +54,7 @@ export async function cancel(): Promise { */ export async function checkPermissions(): Promise { return await invoke<{ camera: PermissionState }>( - "plugin:barcode-scanner|check_permissions" + "plugin:barcode-scanner|check_permissions", ).then((r) => r.camera); } @@ -63,7 +63,7 @@ export async function checkPermissions(): Promise { */ export async function requestPermissions(): Promise { return await invoke<{ camera: PermissionState }>( - "plugin:barcode-scanner|request_permissions" + "plugin:barcode-scanner|request_permissions", ).then((r) => r.camera); } diff --git a/plugins/deep-link/examples/app/src-tauri/tauri.conf.json b/plugins/deep-link/examples/app/src-tauri/tauri.conf.json index 989e749a7..bec5fb761 100644 --- a/plugins/deep-link/examples/app/src-tauri/tauri.conf.json +++ b/plugins/deep-link/examples/app/src-tauri/tauri.conf.json @@ -31,9 +31,7 @@ "domains": [ { "host": "fabianlars.de", - "pathPrefix": [ - "/intent" - ] + "pathPrefix": ["/intent"] }, { "host": "tauri.app" @@ -52,4 +50,4 @@ "icons/icon.ico" ] } -} \ No newline at end of file +} diff --git a/plugins/dialog/test/tauri.conf.json b/plugins/dialog/test/tauri.conf.json index 4dffbe237..d9e6f8731 100644 --- a/plugins/dialog/test/tauri.conf.json +++ b/plugins/dialog/test/tauri.conf.json @@ -17,8 +17,6 @@ }, "bundle": { "active": true, - "icon": [ - "../../../examples/api/src-tauri/icons/icon.png" - ] + "icon": ["../../../examples/api/src-tauri/icons/icon.png"] } -} \ No newline at end of file +} diff --git a/plugins/nfc/guest-js/index.ts b/plugins/nfc/guest-js/index.ts index 30a899f9a..b16c8a5c5 100644 --- a/plugins/nfc/guest-js/index.ts +++ b/plugins/nfc/guest-js/index.ts @@ -111,7 +111,7 @@ export function record( format: NFCTypeNameFormat, kind: string | number[], id: string | number[], - payload: string | number[] + payload: string | number[], ): NFCRecord { return { format, @@ -130,7 +130,7 @@ export function record( export function textRecord( text: string, id?: string | number[], - language: string = "en" + language: string = "en", ): NFCRecord { const payload = Array.from(new TextEncoder().encode(language + text)); payload.unshift(language.length); @@ -190,7 +190,7 @@ function encodeURI(uri: string): number[] { } const encoded = Array.from( - new TextEncoder().encode(uri.slice(prefix.length)) + new TextEncoder().encode(uri.slice(prefix.length)), ); const protocolCode = protocols.indexOf(prefix); // prepend protocol code @@ -204,7 +204,7 @@ export function uriRecord(uri: string, id?: string | number[]): NFCRecord { NFCTypeNameFormat.NfcWellKnown, RTD_URI, id || [], - encodeURI(uri) + encodeURI(uri), ); } @@ -229,7 +229,7 @@ function mapScanKind(kind: ScanKind): Record { */ export async function scan( kind: ScanKind, - options?: ScanOptions + options?: ScanOptions, ): Promise { return await invoke("plugin:nfc|scan", { kind: mapScanKind(kind), @@ -254,7 +254,7 @@ export async function scan( */ export async function write( records: NFCRecord[], - options?: WriteOptions + options?: WriteOptions, ): Promise { const { kind, ...opts } = options || {}; if (kind) { diff --git a/plugins/notification/test/tauri.conf.json b/plugins/notification/test/tauri.conf.json index 4dffbe237..d9e6f8731 100644 --- a/plugins/notification/test/tauri.conf.json +++ b/plugins/notification/test/tauri.conf.json @@ -17,8 +17,6 @@ }, "bundle": { "active": true, - "icon": [ - "../../../examples/api/src-tauri/icons/icon.png" - ] + "icon": ["../../../examples/api/src-tauri/icons/icon.png"] } -} \ No newline at end of file +} diff --git a/plugins/single-instance/examples/vanilla/src-tauri/tauri.conf.json b/plugins/single-instance/examples/vanilla/src-tauri/tauri.conf.json index b0c9f8e3d..8f9a852d1 100644 --- a/plugins/single-instance/examples/vanilla/src-tauri/tauri.conf.json +++ b/plugins/single-instance/examples/vanilla/src-tauri/tauri.conf.json @@ -30,4 +30,4 @@ "icons/icon.ico" ] } -} \ No newline at end of file +} diff --git a/plugins/updater/tests/app-updater/tauri.conf.json b/plugins/updater/tests/app-updater/tauri.conf.json index ba6005d8d..5eb969544 100644 --- a/plugins/updater/tests/app-updater/tauri.conf.json +++ b/plugins/updater/tests/app-updater/tauri.conf.json @@ -2,9 +2,7 @@ "identifier": "com.tauri.updater", "plugins": { "updater": { - "endpoints": [ - "http://localhost:3007" - ], + "endpoints": ["http://localhost:3007"], "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEMwNjY1MEExMTFBMDU5RTUKUldUbFdhQVJvVkJtd09sZ1ROT25yVGFhU2o0ZnUyd1FlT0ZTQ2ZXamN3SXk4SjZLZmNwRnV5dTMK", "windows": { "installMode": "quiet" @@ -27,4 +25,4 @@ } } } -} \ No newline at end of file +} diff --git a/plugins/websocket/examples/svelte-app/src-tauri/tauri.conf.json b/plugins/websocket/examples/svelte-app/src-tauri/tauri.conf.json index ae3d01fc5..c4fe3f7fc 100644 --- a/plugins/websocket/examples/svelte-app/src-tauri/tauri.conf.json +++ b/plugins/websocket/examples/svelte-app/src-tauri/tauri.conf.json @@ -31,4 +31,4 @@ "icons/icon.ico" ] } -} \ No newline at end of file +} From 173e1e522c56d8353423a3984cfbd8bdbe47035f Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 10:54:10 -0300 Subject: [PATCH 32/35] fix single-instance config usage [skip ci] --- plugins/single-instance/src/platform_impl/windows.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/single-instance/src/platform_impl/windows.rs b/plugins/single-instance/src/platform_impl/windows.rs index 9501b19f9..f66b2d1ae 100644 --- a/plugins/single-instance/src/platform_impl/windows.rs +++ b/plugins/single-instance/src/platform_impl/windows.rs @@ -33,7 +33,7 @@ const WMCOPYDATA_SINGLE_INSTANCE_DATA: usize = 1542; pub fn init(f: Box>) -> TauriPlugin { plugin::Builder::new("single-instance") .setup(|app, _api| { - let id = &app.config().tauri.bundle.identifier; + let id = &app.config().identifier; let class_name = encode_wide(format!("{id}-sic")); let window_name = encode_wide(format!("{id}-siw")); From 17c497c9ee77e8e735bbedf76b1e66c9146df894 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 15:00:51 -0300 Subject: [PATCH 33/35] update to beta --- .changes/beta.md | 57 ++++ Cargo.lock | 59 ++-- Cargo.toml | 6 +- examples/api/package.json | 6 +- plugins/authenticator/package.json | 4 +- plugins/autostart/package.json | 4 +- plugins/barcode-scanner/package.json | 4 +- plugins/biometric/package.json | 4 +- plugins/cli/package.json | 4 +- plugins/clipboard-manager/package.json | 4 +- plugins/deep-link/examples/app/package.json | 6 +- plugins/deep-link/package.json | 4 +- plugins/deep-link/src/api-iife.js | 2 +- plugins/dialog/package.json | 4 +- plugins/fs/package.json | 4 +- plugins/global-shortcut/package.json | 4 +- plugins/http/package.json | 4 +- plugins/log/package.json | 4 +- plugins/log/src/api-iife.js | 2 +- plugins/nfc/package.json | 4 +- plugins/notification/package.json | 4 +- plugins/os/package.json | 4 +- plugins/positioner/package.json | 4 +- plugins/process/package.json | 4 +- plugins/shell/package.json | 4 +- .../examples/vanilla/package.json | 4 +- plugins/sql/package.json | 4 +- plugins/store/package.json | 4 +- plugins/store/src/api-iife.js | 2 +- plugins/stronghold/package.json | 4 +- plugins/updater/package.json | 4 +- plugins/upload/package.json | 4 +- .../examples/svelte-app/package.json | 4 +- plugins/websocket/package.json | 4 +- plugins/window-state/package.json | 4 +- plugins/window-state/src/api-iife.js | 2 +- pnpm-lock.yaml | 284 ++++++++---------- shared/template/package.json | 4 +- 38 files changed, 278 insertions(+), 260 deletions(-) create mode 100644 .changes/beta.md diff --git a/.changes/beta.md b/.changes/beta.md new file mode 100644 index 000000000..3761074e6 --- /dev/null +++ b/.changes/beta.md @@ -0,0 +1,57 @@ +--- +"authenticator": patch +"autostart": patch +"barcode-scanner": patch +"biometric": patch +"cli": patch +"clipboard-manager": patch +"deep-link": patch +"dialog": patch +"fs": patch +"global-shortcut": patch +"http": patch +"localhost": patch +"log-plugin": patch +"nfc": patch +"notification": patch +"os": patch +"persisted-scope": patch +"positioner": patch +"process": patch +"shell": patch +"single-instance": patch +"sql": patch +"store": patch +"stronghold": patch +"updater": patch +"upload": patch +"websocket": patch +"window-state": patch +"authenticator-js": patch +"autostart-js": patch +"barcode-scanner-js": patch +"biometric-js": patch +"cli-js": patch +"clipboard-manager-js": patch +"deep-link-js": patch +"dialog-js": patch +"fs-js": patch +"global-shortcut-js": patch +"http-js": patch +"log-js": patch +"nfc-js": patch +"notification-js": patch +"os-js": patch +"positioner-js": patch +"process-js": patch +"shell-js": patch +"sql-js": patch +"store-js": patch +"stronghold-js": patch +"updater-js": patch +"upload-js": patch +"websocket-js": patch +"window-state-js": patch +--- + +Update to tauri beta. diff --git a/Cargo.lock b/Cargo.lock index e0997b790..5421c95a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5948,8 +5948,9 @@ dependencies = [ [[package]] name = "tao" -version = "0.24.1" -source = "git+https://github.com/tauri-apps/tao?branch=dev#ae4b693dc0a5d4f556bb9e6dcdbbeb1cfbf8f862" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa7ba6ee5b8908ba3a62e6a4f3683490ed732fca614cdd3f4c989bba548f9a9" dependencies = [ "bitflags 1.3.2", "cc", @@ -5977,7 +5978,7 @@ dependencies = [ "raw-window-handle 0.5.2", "raw-window-handle 0.6.0", "scopeguard", - "tao-macros 0.1.2 (git+https://github.com/tauri-apps/tao?branch=dev)", + "tao-macros", "unicode-segmentation", "url", "windows 0.52.0", @@ -5998,16 +5999,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "tao-macros" -version = "0.1.2" -source = "git+https://github.com/tauri-apps/tao?branch=dev#ae4b693dc0a5d4f556bb9e6dcdbbeb1cfbf8f862" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "tar" version = "0.4.40" @@ -6027,8 +6018,9 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tauri" -version = "2.0.0-alpha.21" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#3364b6727c189f59a948d69ee6a5cf756bf0da38" +version = "2.0.0-beta.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ab20e6305a618700ba238b21afb938559fc86c217c4b025ec6626fe5e826007" dependencies = [ "anyhow", "bytes 1.5.0", @@ -6079,8 +6071,9 @@ dependencies = [ [[package]] name = "tauri-build" -version = "2.0.0-alpha.14" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#3364b6727c189f59a948d69ee6a5cf756bf0da38" +version = "2.0.0-beta.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e2e6f743278a9b6db360c382dcaf1069b842b600174f0b82e89d03795ef28f" dependencies = [ "anyhow", "cargo_toml", @@ -6102,8 +6095,9 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#3364b6727c189f59a948d69ee6a5cf756bf0da38" +version = "2.0.0-beta.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "def6fe2f80c5f49ce255e4e74a7cf19861ddbbb1da0b201183fed13842a018bd" dependencies = [ "base64 0.21.5", "brotli", @@ -6127,8 +6121,9 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#3364b6727c189f59a948d69ee6a5cf756bf0da38" +version = "2.0.0-beta.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dadbcda0ad142907f7fcb287f7213e2657bd3346232355cd9ffaabbed786e5b" dependencies = [ "heck", "proc-macro2", @@ -6140,8 +6135,9 @@ dependencies = [ [[package]] name = "tauri-plugin" -version = "1.0.0" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#3364b6727c189f59a948d69ee6a5cf756bf0da38" +version = "2.0.0-beta.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f3bad1d89a3dd41a55fcafa29bbc4e926340f7bb9af8f5c1d2cda3a16196ce8" dependencies = [ "anyhow", "glob", @@ -6588,8 +6584,9 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "1.0.0-alpha.8" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#3364b6727c189f59a948d69ee6a5cf756bf0da38" +version = "2.0.0-beta.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d567f244e28e04e025646eb63c8552bfbc7d1c414753e5b22b7daf16510c2b5" dependencies = [ "gtk", "http", @@ -6605,8 +6602,9 @@ dependencies = [ [[package]] name = "tauri-runtime-wry" -version = "1.0.0-alpha.9" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#3364b6727c189f59a948d69ee6a5cf756bf0da38" +version = "2.0.0-beta.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e7f9ba6cf789cd2aa347e08961c43e2e64ba7a3f896b79b8a61af7983a0322" dependencies = [ "cocoa 0.25.0", "gtk", @@ -6626,8 +6624,9 @@ dependencies = [ [[package]] name = "tauri-utils" -version = "2.0.0-alpha.13" -source = "git+https://github.com/tauri-apps/tauri?branch=dev#3364b6727c189f59a948d69ee6a5cf756bf0da38" +version = "2.0.0-beta.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3355fb8c96c36e5796add0c0b429fe849340f24ccb757a7a00953ef0333d99e7" dependencies = [ "aes-gcm 0.10.3", "brotli", @@ -8187,7 +8186,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "soup3", - "tao-macros 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "tao-macros", "thiserror", "url", "webkit2gtk", diff --git a/Cargo.toml b/Cargo.toml index 777547c5f..dec1c253a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,9 +10,9 @@ resolver = "2" [workspace.dependencies] serde = { version = "1", features = ["derive"] } log = "0.4" -tauri = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } -tauri-build = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } -tauri-plugin = { git = "https://github.com/tauri-apps/tauri", branch = "dev" } +tauri = "2.0.0-beta.0" +tauri-build = "2.0.0-beta.0" +tauri-plugin = "2.0.0-beta.0" serde_json = "1" thiserror = "1" url = "2" diff --git a/examples/api/package.json b/examples/api/package.json index c426d81be..32ea3845a 100644 --- a/examples/api/package.json +++ b/examples/api/package.json @@ -9,7 +9,7 @@ "serve": "vite preview" }, "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13", + "@tauri-apps/api": "2.0.0-beta.0", "@tauri-apps/plugin-barcode-scanner": "2.0.0-alpha.4", "@tauri-apps/plugin-biometric": "2.0.0-alpha.0", "@tauri-apps/plugin-cli": "2.0.0-alpha.5", @@ -30,11 +30,11 @@ "@iconify-json/codicon": "^1.1.37", "@iconify-json/ph": "^1.1.8", "@sveltejs/vite-plugin-svelte": "^3.0.1", - "@tauri-apps/cli": "2.0.0-alpha.20", + "@tauri-apps/cli": "2.0.0-beta.0", "@unocss/extractor-svelte": "^0.58.0", "internal-ip": "^8.0.0", "svelte": "^4.2.8", "unocss": "^0.58.0", "vite": "^5.0.6" } -} +} \ No newline at end of file diff --git a/plugins/authenticator/package.json b/plugins/authenticator/package.json index 6f41ae75b..abf0620e2 100644 --- a/plugins/authenticator/package.json +++ b/plugins/authenticator/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/autostart/package.json b/plugins/autostart/package.json index 01b1d7ee2..3e0862bbc 100644 --- a/plugins/autostart/package.json +++ b/plugins/autostart/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/barcode-scanner/package.json b/plugins/barcode-scanner/package.json index 1e3a82c02..687c50aca 100644 --- a/plugins/barcode-scanner/package.json +++ b/plugins/barcode-scanner/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/biometric/package.json b/plugins/biometric/package.json index 4334c2483..96adec60d 100644 --- a/plugins/biometric/package.json +++ b/plugins/biometric/package.json @@ -27,6 +27,6 @@ "tslib": "2.6.0" }, "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/cli/package.json b/plugins/cli/package.json index cf325d797..ac0c93f93 100644 --- a/plugins/cli/package.json +++ b/plugins/cli/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/clipboard-manager/package.json b/plugins/clipboard-manager/package.json index 91fe9e340..45bb2d26b 100644 --- a/plugins/clipboard-manager/package.json +++ b/plugins/clipboard-manager/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/deep-link/examples/app/package.json b/plugins/deep-link/examples/app/package.json index acad291a8..acdcfa621 100644 --- a/plugins/deep-link/examples/app/package.json +++ b/plugins/deep-link/examples/app/package.json @@ -10,13 +10,13 @@ "tauri": "tauri" }, "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13", + "@tauri-apps/api": "2.0.0-beta.0", "@tauri-apps/plugin-deep-link": "2.0.0-alpha.4" }, "devDependencies": { - "@tauri-apps/cli": "2.0.0-alpha.20", + "@tauri-apps/cli": "2.0.0-beta.0", "internal-ip": "^8.0.0", "typescript": "^5.2.2", "vite": "^5.0.6" } -} +} \ No newline at end of file diff --git a/plugins/deep-link/package.json b/plugins/deep-link/package.json index 45c4dc440..6525f1010 100644 --- a/plugins/deep-link/package.json +++ b/plugins/deep-link/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/deep-link/src/api-iife.js b/plugins/deep-link/src/api-iife.js index 4a39700d9..6a37d7481 100644 --- a/plugins/deep-link/src/api-iife.js +++ b/plugins/deep-link/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_DEEPLINK__=function(e){"use strict";function n(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}async function r(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}var t;async function _(e,t,_){return r("plugin:event|listen",{event:e,windowLabel:_?.target,handler:n(t)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function i(){return await r("plugin:deep-link|get_current")}return"function"==typeof SuppressedError&&SuppressedError,function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_CREATED="tauri://window-created",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_FILE_DROP="tauri://file-drop",e.WINDOW_FILE_DROP_HOVER="tauri://file-drop-hover",e.WINDOW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(t||(t={})),e.getCurrent=i,e.onOpenUrl=async function(e){const n=await i();return null!=n&&e(n),await _("deep-link://new-url",(n=>e(n.payload)))},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_PLUGIN_DEEPLINK__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_DEEPLINK__=function(e){"use strict";function n(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}async function t(e,n={},t){return window.__TAURI_INTERNALS__.invoke(e,n,t)}var r;async function _(e,r,_){const i="string"==typeof _?.target?{kind:"AnyLabel",label:_.target}:_?.target??{kind:"Any"};return t("plugin:event|listen",{event:e,target:i,handler:n(r)}).then((n=>async()=>async function(e,n){await t("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function i(){return await t("plugin:deep-link|get_current")}return"function"==typeof SuppressedError&&SuppressedError,function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WEBVIEW_CREATED="tauri://webview-created",e.WEBVIEW_FILE_DROP="tauri://file-drop",e.WEBVIEW_FILE_DROP_HOVER="tauri://file-drop-hover",e.WEBVIEW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(r||(r={})),e.getCurrent=i,e.onOpenUrl=async function(e){const n=await i();return null!=n&&e(n),await _("deep-link://new-url",(n=>e(n.payload)))},e}({});Object.defineProperty(window.__TAURI__,"deepLink",{value:__TAURI_PLUGIN_DEEPLINK__})} diff --git a/plugins/dialog/package.json b/plugins/dialog/package.json index b95495675..414c0afeb 100644 --- a/plugins/dialog/package.json +++ b/plugins/dialog/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/fs/package.json b/plugins/fs/package.json index 30f9c8c21..6cf2a62eb 100644 --- a/plugins/fs/package.json +++ b/plugins/fs/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/global-shortcut/package.json b/plugins/global-shortcut/package.json index f78dca4d5..ed762f9e2 100644 --- a/plugins/global-shortcut/package.json +++ b/plugins/global-shortcut/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/http/package.json b/plugins/http/package.json index 2e5b456ab..30593887a 100644 --- a/plugins/http/package.json +++ b/plugins/http/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/log/package.json b/plugins/log/package.json index 16d0922dd..7313d0a99 100644 --- a/plugins/log/package.json +++ b/plugins/log/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/log/src/api-iife.js b/plugins/log/src/api-iife.js index c28d7da39..6d6a3e1cf 100644 --- a/plugins/log/src/api-iife.js +++ b/plugins/log/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_LOG__=function(e){"use strict";function n(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}async function r(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}var a,o;async function t(e,a,o){return r("plugin:event|listen",{event:e,windowLabel:o?.target,handler:n(a)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function i(e,n,a){const o=(new Error).stack?.split("\n").map((e=>e.split("@"))),t=o?.filter((([e,n])=>e.length>0&&"[native code]"!==n)),{file:i,line:c,keyValues:l}=a??{};let u=t?.[0]?.filter((e=>e.length>0)).join("@");"Error"===u&&(u="webview::unknown"),await r("plugin:log|log",{level:e,message:n,location:u,file:i,line:c,keyValues:l})}return"function"==typeof SuppressedError&&SuppressedError,function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_CREATED="tauri://window-created",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_FILE_DROP="tauri://file-drop",e.WINDOW_FILE_DROP_HOVER="tauri://file-drop-hover",e.WINDOW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(a||(a={})),function(e){e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warn=4]="Warn",e[e.Error=5]="Error"}(o||(o={})),e.attachConsole=async function(){return await t("log://log",(e=>{const n=e.payload,r=n.message.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,"");switch(n.level){case o.Trace:console.log(r);break;case o.Debug:console.debug(r);break;case o.Info:console.info(r);break;case o.Warn:console.warn(r);break;case o.Error:console.error(r);break;default:throw new Error(`unknown log level ${n.level}`)}}))},e.debug=async function(e,n){await i(o.Debug,e,n)},e.error=async function(e,n){await i(o.Error,e,n)},e.info=async function(e,n){await i(o.Info,e,n)},e.trace=async function(e,n){await i(o.Trace,e,n)},e.warn=async function(e,n){await i(o.Warn,e,n)},e}({});Object.defineProperty(window.__TAURI__,"log",{value:__TAURI_PLUGIN_LOG__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_LOG__=function(e){"use strict";function n(e,n=!1){return window.__TAURI_INTERNALS__.transformCallback(e,n)}async function r(e,n={},r){return window.__TAURI_INTERNALS__.invoke(e,n,r)}var a,t;async function o(e,a,t){const o="string"==typeof t?.target?{kind:"AnyLabel",label:t.target}:t?.target??{kind:"Any"};return r("plugin:event|listen",{event:e,target:o,handler:n(a)}).then((n=>async()=>async function(e,n){await r("plugin:event|unlisten",{event:e,eventId:n})}(e,n)))}async function i(e,n,a){const t=(new Error).stack?.split("\n").map((e=>e.split("@"))),o=t?.filter((([e,n])=>e.length>0&&"[native code]"!==n)),{file:i,line:c,keyValues:l}=a??{};let u=o?.[0]?.filter((e=>e.length>0)).join("@");"Error"===u&&(u="webview::unknown"),await r("plugin:log|log",{level:e,message:n,location:u,file:i,line:c,keyValues:l})}return"function"==typeof SuppressedError&&SuppressedError,function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WEBVIEW_CREATED="tauri://webview-created",e.WEBVIEW_FILE_DROP="tauri://file-drop",e.WEBVIEW_FILE_DROP_HOVER="tauri://file-drop-hover",e.WEBVIEW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(a||(a={})),function(e){e[e.Trace=1]="Trace",e[e.Debug=2]="Debug",e[e.Info=3]="Info",e[e.Warn=4]="Warn",e[e.Error=5]="Error"}(t||(t={})),e.attachConsole=async function(){return await o("log://log",(e=>{const n=e.payload,r=n.message.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,"");switch(n.level){case t.Trace:console.log(r);break;case t.Debug:console.debug(r);break;case t.Info:console.info(r);break;case t.Warn:console.warn(r);break;case t.Error:console.error(r);break;default:throw new Error(`unknown log level ${n.level}`)}}))},e.debug=async function(e,n){await i(t.Debug,e,n)},e.error=async function(e,n){await i(t.Error,e,n)},e.info=async function(e,n){await i(t.Info,e,n)},e.trace=async function(e,n){await i(t.Trace,e,n)},e.warn=async function(e,n){await i(t.Warn,e,n)},e}({});Object.defineProperty(window.__TAURI__,"log",{value:__TAURI_PLUGIN_LOG__})} diff --git a/plugins/nfc/package.json b/plugins/nfc/package.json index 3a4732f80..77b4d4ef0 100644 --- a/plugins/nfc/package.json +++ b/plugins/nfc/package.json @@ -27,6 +27,6 @@ "tslib": "2.6.0" }, "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/notification/package.json b/plugins/notification/package.json index cdf619257..426705622 100644 --- a/plugins/notification/package.json +++ b/plugins/notification/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/os/package.json b/plugins/os/package.json index 7140d1afe..74985133b 100644 --- a/plugins/os/package.json +++ b/plugins/os/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/positioner/package.json b/plugins/positioner/package.json index fae71f776..cc9fb089c 100644 --- a/plugins/positioner/package.json +++ b/plugins/positioner/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/process/package.json b/plugins/process/package.json index 3f168abe2..8633fdf1a 100644 --- a/plugins/process/package.json +++ b/plugins/process/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/shell/package.json b/plugins/shell/package.json index 15f1943b1..063f275ae 100644 --- a/plugins/shell/package.json +++ b/plugins/shell/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/single-instance/examples/vanilla/package.json b/plugins/single-instance/examples/vanilla/package.json index 2aa18ee3b..5053f8415 100644 --- a/plugins/single-instance/examples/vanilla/package.json +++ b/plugins/single-instance/examples/vanilla/package.json @@ -9,6 +9,6 @@ "author": "", "license": "MIT", "devDependencies": { - "@tauri-apps/cli": "2.0.0-alpha.20" + "@tauri-apps/cli": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/sql/package.json b/plugins/sql/package.json index f4f3587d3..266edb804 100644 --- a/plugins/sql/package.json +++ b/plugins/sql/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/store/package.json b/plugins/store/package.json index 5734c5e58..50ef3cabf 100644 --- a/plugins/store/package.json +++ b/plugins/store/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/store/src/api-iife.js b/plugins/store/src/api-iife.js index 4d1bdd5bc..4a50fb76a 100644 --- a/plugins/store/src/api-iife.js +++ b/plugins/store/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_STORE__=function(t){"use strict";function a(t,a=!1){return window.__TAURI_INTERNALS__.transformCallback(t,a)}async function e(t,a={},e){return window.__TAURI_INTERNALS__.invoke(t,a,e)}var n;async function r(t,n,r){return e("plugin:event|listen",{event:t,windowLabel:r?.target,handler:a(n)}).then((a=>async()=>async function(t,a){await e("plugin:event|unlisten",{event:t,eventId:a})}(t,a)))}"function"==typeof SuppressedError&&SuppressedError,function(t){t.WINDOW_RESIZED="tauri://resize",t.WINDOW_MOVED="tauri://move",t.WINDOW_CLOSE_REQUESTED="tauri://close-requested",t.WINDOW_CREATED="tauri://window-created",t.WINDOW_DESTROYED="tauri://destroyed",t.WINDOW_FOCUS="tauri://focus",t.WINDOW_BLUR="tauri://blur",t.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",t.WINDOW_THEME_CHANGED="tauri://theme-changed",t.WINDOW_FILE_DROP="tauri://file-drop",t.WINDOW_FILE_DROP_HOVER="tauri://file-drop-hover",t.WINDOW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(n||(n={}));return t.Store=class{constructor(t){this.path=t}async set(t,a){return await e("plugin:store|set",{path:this.path,key:t,value:a})}async get(t){return await e("plugin:store|get",{path:this.path,key:t})}async has(t){return await e("plugin:store|has",{path:this.path,key:t})}async delete(t){return await e("plugin:store|delete",{path:this.path,key:t})}async clear(){return await e("plugin:store|clear",{path:this.path})}async reset(){return await e("plugin:store|reset",{path:this.path})}async keys(){return await e("plugin:store|keys",{path:this.path})}async values(){return await e("plugin:store|values",{path:this.path})}async entries(){return await e("plugin:store|entries",{path:this.path})}async length(){return await e("plugin:store|length",{path:this.path})}async load(){return await e("plugin:store|load",{path:this.path})}async save(){return await e("plugin:store|save",{path:this.path})}async onKeyChange(t,a){return await r("store://change",(e=>{e.payload.path===this.path&&e.payload.key===t&&a(e.payload.value)}))}async onChange(t){return await r("store://change",(a=>{a.payload.path===this.path&&t(a.payload.key,a.payload.value)}))}},t}({});Object.defineProperty(window.__TAURI__,"store",{value:__TAURI_PLUGIN_STORE__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_STORE__=function(t){"use strict";function a(t,a=!1){return window.__TAURI_INTERNALS__.transformCallback(t,a)}async function e(t,a={},e){return window.__TAURI_INTERNALS__.invoke(t,a,e)}var n;async function r(t,n,r){const i="string"==typeof r?.target?{kind:"AnyLabel",label:r.target}:r?.target??{kind:"Any"};return e("plugin:event|listen",{event:t,target:i,handler:a(n)}).then((a=>async()=>async function(t,a){await e("plugin:event|unlisten",{event:t,eventId:a})}(t,a)))}"function"==typeof SuppressedError&&SuppressedError,function(t){t.WINDOW_RESIZED="tauri://resize",t.WINDOW_MOVED="tauri://move",t.WINDOW_CLOSE_REQUESTED="tauri://close-requested",t.WINDOW_DESTROYED="tauri://destroyed",t.WINDOW_FOCUS="tauri://focus",t.WINDOW_BLUR="tauri://blur",t.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",t.WINDOW_THEME_CHANGED="tauri://theme-changed",t.WEBVIEW_CREATED="tauri://webview-created",t.WEBVIEW_FILE_DROP="tauri://file-drop",t.WEBVIEW_FILE_DROP_HOVER="tauri://file-drop-hover",t.WEBVIEW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(n||(n={}));return t.Store=class{constructor(t){this.path=t}async set(t,a){return await e("plugin:store|set",{path:this.path,key:t,value:a})}async get(t){return await e("plugin:store|get",{path:this.path,key:t})}async has(t){return await e("plugin:store|has",{path:this.path,key:t})}async delete(t){return await e("plugin:store|delete",{path:this.path,key:t})}async clear(){return await e("plugin:store|clear",{path:this.path})}async reset(){return await e("plugin:store|reset",{path:this.path})}async keys(){return await e("plugin:store|keys",{path:this.path})}async values(){return await e("plugin:store|values",{path:this.path})}async entries(){return await e("plugin:store|entries",{path:this.path})}async length(){return await e("plugin:store|length",{path:this.path})}async load(){return await e("plugin:store|load",{path:this.path})}async save(){return await e("plugin:store|save",{path:this.path})}async onKeyChange(t,a){return await r("store://change",(e=>{e.payload.path===this.path&&e.payload.key===t&&a(e.payload.value)}))}async onChange(t){return await r("store://change",(a=>{a.payload.path===this.path&&t(a.payload.key,a.payload.value)}))}},t}({});Object.defineProperty(window.__TAURI__,"store",{value:__TAURI_PLUGIN_STORE__})} diff --git a/plugins/stronghold/package.json b/plugins/stronghold/package.json index 40009612a..e978e1ced 100644 --- a/plugins/stronghold/package.json +++ b/plugins/stronghold/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/updater/package.json b/plugins/updater/package.json index 3022942f7..53f7b422b 100644 --- a/plugins/updater/package.json +++ b/plugins/updater/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/upload/package.json b/plugins/upload/package.json index 729f73c77..ba00052d0 100644 --- a/plugins/upload/package.json +++ b/plugins/upload/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/websocket/examples/svelte-app/package.json b/plugins/websocket/examples/svelte-app/package.json index fbc2238c5..622cd4cac 100644 --- a/plugins/websocket/examples/svelte-app/package.json +++ b/plugins/websocket/examples/svelte-app/package.json @@ -13,7 +13,7 @@ "devDependencies": { "@sveltejs/adapter-auto": "2.1.1", "@sveltejs/kit": "1.27.7", - "@tauri-apps/cli": "2.0.0-alpha.20", + "@tauri-apps/cli": "2.0.0-beta.0", "svelte": "4.2.8", "svelte-check": "3.6.2", "typescript": "5.3.2", @@ -23,4 +23,4 @@ "@tauri-apps/plugin-websocket": "link:..\\.." }, "type": "module" -} +} \ No newline at end of file diff --git a/plugins/websocket/package.json b/plugins/websocket/package.json index 1f059e3da..b6a41d548 100644 --- a/plugins/websocket/package.json +++ b/plugins/websocket/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/window-state/package.json b/plugins/window-state/package.json index e6a66f2a1..255b94b26 100644 --- a/plugins/window-state/package.json +++ b/plugins/window-state/package.json @@ -24,6 +24,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file diff --git a/plugins/window-state/src/api-iife.js b/plugins/window-state/src/api-iife.js index eeabcbfd1..cbfa26f82 100644 --- a/plugins/window-state/src/api-iife.js +++ b/plugins/window-state/src/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_WINDOWSTATE__=function(e){"use strict";function t(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}async function i(e,t={},i){return window.__TAURI_INTERNALS__.invoke(e,t,i)}"function"==typeof SuppressedError&&SuppressedError;class n{constructor(e,t){this.type="Logical",this.width=e,this.height=t}}class a{constructor(e,t){this.type="Physical",this.width=e,this.height=t}toLogical(e){return new n(this.width/e,this.height/e)}}class l{constructor(e,t){this.type="Logical",this.x=e,this.y=t}}class s{constructor(e,t){this.type="Physical",this.x=e,this.y=t}toLogical(e){return new l(this.x/e,this.y/e)}}var r,o,u;async function c(e,t){await i("plugin:event|unlisten",{event:e,eventId:t})}async function h(e,n,a){return i("plugin:event|listen",{event:e,windowLabel:a?.target,handler:t(n)}).then((t=>async()=>c(e,t)))}!function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_CREATED="tauri://window-created",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WINDOW_FILE_DROP="tauri://file-drop",e.WINDOW_FILE_DROP_HOVER="tauri://file-drop-hover",e.WINDOW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(r||(r={})),function(e){e[e.Critical=1]="Critical",e[e.Informational=2]="Informational"}(o||(o={}));class w{constructor(e){this._preventDefault=!1,this.event=e.event,this.windowLabel=e.windowLabel,this.id=e.id}preventDefault(){this._preventDefault=!0}isPreventDefault(){return this._preventDefault}}function d(){return new y(window.__TAURI_INTERNALS__.metadata.currentWindow.label,{skip:!0})}function b(){return window.__TAURI_INTERNALS__.metadata.windows.map((e=>new y(e.label,{skip:!0})))}!function(e){e.None="none",e.Normal="normal",e.Indeterminate="indeterminate",e.Paused="paused",e.Error="error"}(u||(u={}));const p=["tauri://created","tauri://error"];class y{constructor(e,t={}){this.label=e,this.listeners=Object.create(null),t?.skip||i("plugin:window|create",{options:{...t,label:e}}).then((async()=>this.emit("tauri://created"))).catch((async e=>this.emit("tauri://error",e)))}static getByLabel(e){return b().some((t=>t.label===e))?new y(e,{skip:!0}):null}static getCurrent(){return d()}static getAll(){return b()}static async getFocusedWindow(){for(const e of b())if(await e.isFocused())return e;return null}async listen(e,t){return this._handleTauriEvent(e,t)?Promise.resolve((()=>{const i=this.listeners[e];i.splice(i.indexOf(t),1)})):h(e,t,{target:this.label})}async once(e,t){return this._handleTauriEvent(e,t)?Promise.resolve((()=>{const i=this.listeners[e];i.splice(i.indexOf(t),1)})):async function(e,t,i){return h(e,(i=>{t(i),c(e,i.id).catch((()=>{}))}),i)}(e,t,{target:this.label})}async emit(e,t){if(p.includes(e)){for(const i of this.listeners[e]||[])i({event:e,id:-1,windowLabel:this.label,payload:t});return Promise.resolve()}return async function(e,t,n){await i("plugin:event|emit",{event:e,windowLabel:n?.target,payload:t})}(e,t,{target:this.label})}_handleTauriEvent(e,t){return!!p.includes(e)&&(e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t],!0)}async scaleFactor(){return i("plugin:window|scale_factor",{label:this.label})}async innerPosition(){return i("plugin:window|inner_position",{label:this.label}).then((({x:e,y:t})=>new s(e,t)))}async outerPosition(){return i("plugin:window|outer_position",{label:this.label}).then((({x:e,y:t})=>new s(e,t)))}async innerSize(){return i("plugin:window|inner_size",{label:this.label}).then((({width:e,height:t})=>new a(e,t)))}async outerSize(){return i("plugin:window|outer_size",{label:this.label}).then((({width:e,height:t})=>new a(e,t)))}async isFullscreen(){return i("plugin:window|is_fullscreen",{label:this.label})}async isMinimized(){return i("plugin:window|is_minimized",{label:this.label})}async isMaximized(){return i("plugin:window|is_maximized",{label:this.label})}async isFocused(){return i("plugin:window|is_focused",{label:this.label})}async isDecorated(){return i("plugin:window|is_decorated",{label:this.label})}async isResizable(){return i("plugin:window|is_resizable",{label:this.label})}async isMaximizable(){return i("plugin:window|is_maximizable",{label:this.label})}async isMinimizable(){return i("plugin:window|is_minimizable",{label:this.label})}async isClosable(){return i("plugin:window|is_closable",{label:this.label})}async isVisible(){return i("plugin:window|is_visible",{label:this.label})}async title(){return i("plugin:window|title",{label:this.label})}async theme(){return i("plugin:window|theme",{label:this.label})}async center(){return i("plugin:window|center",{label:this.label})}async requestUserAttention(e){let t=null;return e&&(t=e===o.Critical?{type:"Critical"}:{type:"Informational"}),i("plugin:window|request_user_attention",{label:this.label,value:t})}async setResizable(e){return i("plugin:window|set_resizable",{label:this.label,value:e})}async setMaximizable(e){return i("plugin:window|set_maximizable",{label:this.label,value:e})}async setMinimizable(e){return i("plugin:window|set_minimizable",{label:this.label,value:e})}async setClosable(e){return i("plugin:window|set_closable",{label:this.label,value:e})}async setTitle(e){return i("plugin:window|set_title",{label:this.label,value:e})}async maximize(){return i("plugin:window|maximize",{label:this.label})}async unmaximize(){return i("plugin:window|unmaximize",{label:this.label})}async toggleMaximize(){return i("plugin:window|toggle_maximize",{label:this.label})}async minimize(){return i("plugin:window|minimize",{label:this.label})}async unminimize(){return i("plugin:window|unminimize",{label:this.label})}async show(){return i("plugin:window|show",{label:this.label})}async hide(){return i("plugin:window|hide",{label:this.label})}async close(){return i("plugin:window|close",{label:this.label})}async setDecorations(e){return i("plugin:window|set_decorations",{label:this.label,value:e})}async setShadow(e){return i("plugin:window|set_shadow",{label:this.label,value:e})}async setEffects(e){return i("plugin:window|set_effects",{label:this.label,value:e})}async clearEffects(){return i("plugin:window|set_effects",{label:this.label,value:null})}async setAlwaysOnTop(e){return i("plugin:window|set_always_on_top",{label:this.label,value:e})}async setAlwaysOnBottom(e){return i("plugin:window|set_always_on_bottom",{label:this.label,value:e})}async setContentProtected(e){return i("plugin:window|set_content_protected",{label:this.label,value:e})}async setSize(e){if(!e||"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return i("plugin:window|set_size",{label:this.label,value:{type:e.type,data:{width:e.width,height:e.height}}})}async setMinSize(e){if(e&&"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return i("plugin:window|set_min_size",{label:this.label,value:e?{type:e.type,data:{width:e.width,height:e.height}}:null})}async setMaxSize(e){if(e&&"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return i("plugin:window|set_max_size",{label:this.label,value:e?{type:e.type,data:{width:e.width,height:e.height}}:null})}async setPosition(e){if(!e||"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `position` argument must be either a LogicalPosition or a PhysicalPosition instance");return i("plugin:window|set_position",{label:this.label,value:{type:e.type,data:{x:e.x,y:e.y}}})}async setFullscreen(e){return i("plugin:window|set_fullscreen",{label:this.label,value:e})}async setFocus(){return i("plugin:window|set_focus",{label:this.label})}async setIcon(e){return i("plugin:window|set_icon",{label:this.label,value:"string"==typeof e?e:Array.from(e)})}async setSkipTaskbar(e){return i("plugin:window|set_skip_taskbar",{label:this.label,value:e})}async setCursorGrab(e){return i("plugin:window|set_cursor_grab",{label:this.label,value:e})}async setCursorVisible(e){return i("plugin:window|set_cursor_visible",{label:this.label,value:e})}async setCursorIcon(e){return i("plugin:window|set_cursor_icon",{label:this.label,value:e})}async setCursorPosition(e){if(!e||"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `position` argument must be either a LogicalPosition or a PhysicalPosition instance");return i("plugin:window|set_cursor_position",{label:this.label,value:{type:e.type,data:{x:e.x,y:e.y}}})}async setIgnoreCursorEvents(e){return i("plugin:window|set_ignore_cursor_events",{label:this.label,value:e})}async startDragging(){return i("plugin:window|start_dragging",{label:this.label})}async setProgressBar(e){return i("plugin:window|set_progress_bar",{label:this.label,value:e})}async onResized(e){return this.listen(r.WINDOW_RESIZED,(t=>{var i;t.payload=(i=t.payload,new a(i.width,i.height)),e(t)}))}async onMoved(e){return this.listen(r.WINDOW_MOVED,(t=>{t.payload=v(t.payload),e(t)}))}async onCloseRequested(e){return this.listen(r.WINDOW_CLOSE_REQUESTED,(t=>{const i=new w(t);Promise.resolve(e(i)).then((()=>{if(!i.isPreventDefault())return this.close()}))}))}async onFocusChanged(e){const t=await this.listen(r.WINDOW_FOCUS,(t=>{e({...t,payload:!0})})),i=await this.listen(r.WINDOW_BLUR,(t=>{e({...t,payload:!1})}));return()=>{t(),i()}}async onScaleChanged(e){return this.listen(r.WINDOW_SCALE_FACTOR_CHANGED,e)}async onFileDropEvent(e){const t=await this.listen(r.WINDOW_FILE_DROP,(t=>{e({...t,payload:{type:"drop",paths:t.payload.paths,position:v(t.payload.position)}})})),i=await this.listen(r.WINDOW_FILE_DROP_HOVER,(t=>{e({...t,payload:{type:"hover",paths:t.payload.paths,position:v(t.payload.position)}})})),n=await this.listen(r.WINDOW_FILE_DROP_CANCELLED,(t=>{e({...t,payload:{type:"cancel"}})}));return()=>{t(),i(),n()}}async onThemeChanged(e){return this.listen(r.WINDOW_THEME_CHANGED,e)}}var _,g,m;function v(e){return new s(e.x,e.y)}async function E(e,t){return i("plugin:window-state|restore_state",{label:e,flags:t})}return function(e){e.AppearanceBased="appearanceBased",e.Light="light",e.Dark="dark",e.MediumLight="mediumLight",e.UltraDark="ultraDark",e.Titlebar="titlebar",e.Selection="selection",e.Menu="menu",e.Popover="popover",e.Sidebar="sidebar",e.HeaderView="headerView",e.Sheet="sheet",e.WindowBackground="windowBackground",e.HudWindow="hudWindow",e.FullScreenUI="fullScreenUI",e.Tooltip="tooltip",e.ContentBackground="contentBackground",e.UnderWindowBackground="underWindowBackground",e.UnderPageBackground="underPageBackground",e.Mica="mica",e.Blur="blur",e.Acrylic="acrylic",e.Tabbed="tabbed",e.TabbedDark="tabbedDark",e.TabbedLight="tabbedLight"}(_||(_={})),function(e){e.FollowsWindowActiveState="followsWindowActiveState",e.Active="active",e.Inactive="inactive"}(g||(g={})),e.StateFlags=void 0,(m=e.StateFlags||(e.StateFlags={}))[m.SIZE=1]="SIZE",m[m.POSITION=2]="POSITION",m[m.MAXIMIZED=4]="MAXIMIZED",m[m.VISIBLE=8]="VISIBLE",m[m.DECORATIONS=16]="DECORATIONS",m[m.FULLSCREEN=32]="FULLSCREEN",m[m.ALL=63]="ALL",e.restoreState=E,e.restoreStateCurrent=async function(e){return E(d().label,e)},e.saveWindowState=async function(e){return i("plugin:window-state|save_window_state",{flags:e})},e}({});Object.defineProperty(window.__TAURI__,"windowState",{value:__TAURI_PLUGIN_WINDOWSTATE__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_WINDOWSTATE__=function(e){"use strict";function t(e,t=!1){return window.__TAURI_INTERNALS__.transformCallback(e,t)}async function i(e,t={},i){return window.__TAURI_INTERNALS__.invoke(e,t,i)}"function"==typeof SuppressedError&&SuppressedError;class n{constructor(e,t){this.type="Logical",this.width=e,this.height=t}}class a{constructor(e,t){this.type="Physical",this.width=e,this.height=t}toLogical(e){return new n(this.width/e,this.height/e)}}class l{constructor(e,t){this.type="Logical",this.x=e,this.y=t}}class s{constructor(e,t){this.type="Physical",this.x=e,this.y=t}toLogical(e){return new l(this.x/e,this.y/e)}}var r,o,u;async function c(e,t){await i("plugin:event|unlisten",{event:e,eventId:t})}async function d(e,n,a){const l="string"==typeof a?.target?{kind:"AnyLabel",label:a.target}:a?.target??{kind:"Any"};return i("plugin:event|listen",{event:e,target:l,handler:t(n)}).then((t=>async()=>c(e,t)))}!function(e){e.WINDOW_RESIZED="tauri://resize",e.WINDOW_MOVED="tauri://move",e.WINDOW_CLOSE_REQUESTED="tauri://close-requested",e.WINDOW_DESTROYED="tauri://destroyed",e.WINDOW_FOCUS="tauri://focus",e.WINDOW_BLUR="tauri://blur",e.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",e.WINDOW_THEME_CHANGED="tauri://theme-changed",e.WEBVIEW_CREATED="tauri://webview-created",e.WEBVIEW_FILE_DROP="tauri://file-drop",e.WEBVIEW_FILE_DROP_HOVER="tauri://file-drop-hover",e.WEBVIEW_FILE_DROP_CANCELLED="tauri://file-drop-cancelled"}(r||(r={})),function(e){e[e.Critical=1]="Critical",e[e.Informational=2]="Informational"}(o||(o={}));class w{constructor(e){this._preventDefault=!1,this.event=e.event,this.id=e.id}preventDefault(){this._preventDefault=!0}isPreventDefault(){return this._preventDefault}}function h(){return new g(window.__TAURI_INTERNALS__.metadata.currentWindow.label,{skip:!0})}function b(){return window.__TAURI_INTERNALS__.metadata.windows.map((e=>new g(e.label,{skip:!0})))}!function(e){e.None="none",e.Normal="normal",e.Indeterminate="indeterminate",e.Paused="paused",e.Error="error"}(u||(u={}));const y=["tauri://created","tauri://error"];class g{constructor(e,t={}){this.label=e,this.listeners=Object.create(null),t?.skip||i("plugin:window|create",{options:{...t,parent:"string"==typeof t.parent?t.parent:t.parent?.label,label:e}}).then((async()=>this.emit("tauri://created"))).catch((async e=>this.emit("tauri://error",e)))}static getByLabel(e){return b().find((t=>t.label===e))??null}static getCurrent(){return h()}static getAll(){return b()}static async getFocusedWindow(){for(const e of b())if(await e.isFocused())return e;return null}async listen(e,t){return this._handleTauriEvent(e,t)?Promise.resolve((()=>{const i=this.listeners[e];i.splice(i.indexOf(t),1)})):d(e,t,{target:{kind:"Window",label:this.label}})}async once(e,t){return this._handleTauriEvent(e,t)?Promise.resolve((()=>{const i=this.listeners[e];i.splice(i.indexOf(t),1)})):async function(e,t,i){return d(e,(i=>{t(i),c(e,i.id).catch((()=>{}))}),i)}(e,t,{target:{kind:"Window",label:this.label}})}async emit(e,t){if(y.includes(e)){for(const i of this.listeners[e]||[])i({event:e,id:-1,payload:t});return Promise.resolve()}return async function(e,t){await i("plugin:event|emit",{event:e,payload:t})}(e,t)}async emitTo(e,t,n){if(y.includes(t)){for(const e of this.listeners[t]||[])e({event:t,id:-1,payload:n});return Promise.resolve()}return async function(e,t,n){const a="string"==typeof e?{kind:"AnyLabel",label:e}:e;await i("plugin:event|emit_to",{target:a,event:t,payload:n})}(e,t,n)}_handleTauriEvent(e,t){return!!y.includes(e)&&(e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t],!0)}async scaleFactor(){return i("plugin:window|scale_factor",{label:this.label})}async innerPosition(){return i("plugin:window|inner_position",{label:this.label}).then((({x:e,y:t})=>new s(e,t)))}async outerPosition(){return i("plugin:window|outer_position",{label:this.label}).then((({x:e,y:t})=>new s(e,t)))}async innerSize(){return i("plugin:window|inner_size",{label:this.label}).then((({width:e,height:t})=>new a(e,t)))}async outerSize(){return i("plugin:window|outer_size",{label:this.label}).then((({width:e,height:t})=>new a(e,t)))}async isFullscreen(){return i("plugin:window|is_fullscreen",{label:this.label})}async isMinimized(){return i("plugin:window|is_minimized",{label:this.label})}async isMaximized(){return i("plugin:window|is_maximized",{label:this.label})}async isFocused(){return i("plugin:window|is_focused",{label:this.label})}async isDecorated(){return i("plugin:window|is_decorated",{label:this.label})}async isResizable(){return i("plugin:window|is_resizable",{label:this.label})}async isMaximizable(){return i("plugin:window|is_maximizable",{label:this.label})}async isMinimizable(){return i("plugin:window|is_minimizable",{label:this.label})}async isClosable(){return i("plugin:window|is_closable",{label:this.label})}async isVisible(){return i("plugin:window|is_visible",{label:this.label})}async title(){return i("plugin:window|title",{label:this.label})}async theme(){return i("plugin:window|theme",{label:this.label})}async center(){return i("plugin:window|center",{label:this.label})}async requestUserAttention(e){let t=null;return e&&(t=e===o.Critical?{type:"Critical"}:{type:"Informational"}),i("plugin:window|request_user_attention",{label:this.label,value:t})}async setResizable(e){return i("plugin:window|set_resizable",{label:this.label,value:e})}async setMaximizable(e){return i("plugin:window|set_maximizable",{label:this.label,value:e})}async setMinimizable(e){return i("plugin:window|set_minimizable",{label:this.label,value:e})}async setClosable(e){return i("plugin:window|set_closable",{label:this.label,value:e})}async setTitle(e){return i("plugin:window|set_title",{label:this.label,value:e})}async maximize(){return i("plugin:window|maximize",{label:this.label})}async unmaximize(){return i("plugin:window|unmaximize",{label:this.label})}async toggleMaximize(){return i("plugin:window|toggle_maximize",{label:this.label})}async minimize(){return i("plugin:window|minimize",{label:this.label})}async unminimize(){return i("plugin:window|unminimize",{label:this.label})}async show(){return i("plugin:window|show",{label:this.label})}async hide(){return i("plugin:window|hide",{label:this.label})}async close(){return i("plugin:window|close",{label:this.label})}async destroy(){return i("plugin:window|destroy",{label:this.label})}async setDecorations(e){return i("plugin:window|set_decorations",{label:this.label,value:e})}async setShadow(e){return i("plugin:window|set_shadow",{label:this.label,value:e})}async setEffects(e){return i("plugin:window|set_effects",{label:this.label,value:e})}async clearEffects(){return i("plugin:window|set_effects",{label:this.label,value:null})}async setAlwaysOnTop(e){return i("plugin:window|set_always_on_top",{label:this.label,value:e})}async setAlwaysOnBottom(e){return i("plugin:window|set_always_on_bottom",{label:this.label,value:e})}async setContentProtected(e){return i("plugin:window|set_content_protected",{label:this.label,value:e})}async setSize(e){if(!e||"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return i("plugin:window|set_size",{label:this.label,value:{type:e.type,data:{width:e.width,height:e.height}}})}async setMinSize(e){if(e&&"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return i("plugin:window|set_min_size",{label:this.label,value:e?{type:e.type,data:{width:e.width,height:e.height}}:null})}async setMaxSize(e){if(e&&"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `size` argument must be either a LogicalSize or a PhysicalSize instance");return i("plugin:window|set_max_size",{label:this.label,value:e?{type:e.type,data:{width:e.width,height:e.height}}:null})}async setPosition(e){if(!e||"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `position` argument must be either a LogicalPosition or a PhysicalPosition instance");return i("plugin:window|set_position",{label:this.label,value:{type:e.type,data:{x:e.x,y:e.y}}})}async setFullscreen(e){return i("plugin:window|set_fullscreen",{label:this.label,value:e})}async setFocus(){return i("plugin:window|set_focus",{label:this.label})}async setIcon(e){return i("plugin:window|set_icon",{label:this.label,value:"string"==typeof e?e:Array.from(e)})}async setSkipTaskbar(e){return i("plugin:window|set_skip_taskbar",{label:this.label,value:e})}async setCursorGrab(e){return i("plugin:window|set_cursor_grab",{label:this.label,value:e})}async setCursorVisible(e){return i("plugin:window|set_cursor_visible",{label:this.label,value:e})}async setCursorIcon(e){return i("plugin:window|set_cursor_icon",{label:this.label,value:e})}async setCursorPosition(e){if(!e||"Logical"!==e.type&&"Physical"!==e.type)throw new Error("the `position` argument must be either a LogicalPosition or a PhysicalPosition instance");return i("plugin:window|set_cursor_position",{label:this.label,value:{type:e.type,data:{x:e.x,y:e.y}}})}async setIgnoreCursorEvents(e){return i("plugin:window|set_ignore_cursor_events",{label:this.label,value:e})}async startDragging(){return i("plugin:window|start_dragging",{label:this.label})}async startResizeDragging(e){return i("plugin:window|start_resize_dragging",{label:this.label,value:e})}async setProgressBar(e){return i("plugin:window|set_progress_bar",{label:this.label,value:e})}async setVisibleOnAllWorkspaces(e){return i("plugin:window|set_visible_on_all_workspaces",{label:this.label,value:e})}async onResized(e){return this.listen(r.WINDOW_RESIZED,(t=>{var i;t.payload=(i=t.payload,new a(i.width,i.height)),e(t)}))}async onMoved(e){return this.listen(r.WINDOW_MOVED,(t=>{var i;t.payload=(i=t.payload,new s(i.x,i.y)),e(t)}))}async onCloseRequested(e){return this.listen(r.WINDOW_CLOSE_REQUESTED,(t=>{const i=new w(t);Promise.resolve(e(i)).then((()=>{if(!i.isPreventDefault())return this.destroy()}))}))}async onFocusChanged(e){const t=await this.listen(r.WINDOW_FOCUS,(t=>{e({...t,payload:!0})})),i=await this.listen(r.WINDOW_BLUR,(t=>{e({...t,payload:!1})}));return()=>{t(),i()}}async onScaleChanged(e){return this.listen(r.WINDOW_SCALE_FACTOR_CHANGED,e)}async onThemeChanged(e){return this.listen(r.WINDOW_THEME_CHANGED,e)}}var p,_,m;async function v(e,t){return i("plugin:window-state|restore_state",{label:e,flags:t})}return function(e){e.AppearanceBased="appearanceBased",e.Light="light",e.Dark="dark",e.MediumLight="mediumLight",e.UltraDark="ultraDark",e.Titlebar="titlebar",e.Selection="selection",e.Menu="menu",e.Popover="popover",e.Sidebar="sidebar",e.HeaderView="headerView",e.Sheet="sheet",e.WindowBackground="windowBackground",e.HudWindow="hudWindow",e.FullScreenUI="fullScreenUI",e.Tooltip="tooltip",e.ContentBackground="contentBackground",e.UnderWindowBackground="underWindowBackground",e.UnderPageBackground="underPageBackground",e.Mica="mica",e.Blur="blur",e.Acrylic="acrylic",e.Tabbed="tabbed",e.TabbedDark="tabbedDark",e.TabbedLight="tabbedLight"}(p||(p={})),function(e){e.FollowsWindowActiveState="followsWindowActiveState",e.Active="active",e.Inactive="inactive"}(_||(_={})),e.StateFlags=void 0,(m=e.StateFlags||(e.StateFlags={}))[m.SIZE=1]="SIZE",m[m.POSITION=2]="POSITION",m[m.MAXIMIZED=4]="MAXIMIZED",m[m.VISIBLE=8]="VISIBLE",m[m.DECORATIONS=16]="DECORATIONS",m[m.FULLSCREEN=32]="FULLSCREEN",m[m.ALL=63]="ALL",e.restoreState=v,e.restoreStateCurrent=async function(e){return v(h().label,e)},e.saveWindowState=async function(e){return i("plugin:window-state|save_window_state",{flags:e})},e}({});Object.defineProperty(window.__TAURI__,"windowState",{value:__TAURI_PLUGIN_WINDOWSTATE__})} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ede917ffa..e90c281e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -64,8 +64,8 @@ importers: examples/api: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 '@tauri-apps/plugin-barcode-scanner': specifier: 2.0.0-alpha.4 version: link:../../plugins/barcode-scanner @@ -122,8 +122,8 @@ importers: specifier: ^3.0.1 version: 3.0.1(svelte@4.2.8)(vite@5.0.6) '@tauri-apps/cli': - specifier: 2.0.0-alpha.20 - version: 2.0.0-alpha.20 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 '@unocss/extractor-svelte': specifier: ^0.58.0 version: 0.58.0 @@ -135,7 +135,7 @@ importers: version: 4.2.8 unocss: specifier: ^0.58.0 - version: 0.58.0(postcss@8.4.32)(vite@5.0.6) + version: 0.58.0(postcss@8.4.32)(rollup@4.6.1)(vite@5.0.6) vite: specifier: ^5.0.6 version: 5.0.6 @@ -143,26 +143,26 @@ importers: plugins/authenticator: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/autostart: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/barcode-scanner: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/biometric: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 devDependencies: tslib: specifier: 2.6.0 @@ -171,33 +171,33 @@ importers: plugins/cli: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/clipboard-manager: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/deep-link: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/deep-link/examples/app: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 '@tauri-apps/plugin-deep-link': specifier: 2.0.0-alpha.4 version: link:../.. devDependencies: '@tauri-apps/cli': - specifier: 2.0.0-alpha.20 - version: 2.0.0-alpha.20 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 internal-ip: specifier: ^8.0.0 version: 8.0.0 @@ -211,38 +211,38 @@ importers: plugins/dialog: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/fs: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/global-shortcut: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/http: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/log: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/nfc: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 devDependencies: tslib: specifier: 2.6.0 @@ -251,74 +251,74 @@ importers: plugins/notification: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/os: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/positioner: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/process: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/shell: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/single-instance/examples/vanilla: devDependencies: '@tauri-apps/cli': - specifier: 2.0.0-alpha.20 - version: 2.0.0-alpha.20 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/sql: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/store: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/stronghold: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/updater: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/upload: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/websocket: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 plugins/websocket/examples/svelte-app: dependencies: @@ -333,8 +333,8 @@ importers: specifier: 1.27.7 version: 1.27.7(svelte@4.2.8)(vite@5.0.6) '@tauri-apps/cli': - specifier: 2.0.0-alpha.20 - version: 2.0.0-alpha.20 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 svelte: specifier: 4.2.8 version: 4.2.8 @@ -351,8 +351,8 @@ importers: plugins/window-state: dependencies: '@tauri-apps/api': - specifier: 2.0.0-alpha.13 - version: 2.0.0-alpha.13 + specifier: 2.0.0-beta.0 + version: 2.0.0-beta.0 packages: @@ -407,7 +407,7 @@ packages: '@babel/traverse': 7.23.5 '@babel/types': 7.23.5 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 7.5.4 @@ -677,7 +677,7 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.23.5 '@babel/types': 7.23.5 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -811,7 +811,7 @@ packages: peerDependencies: mocha: ^10.0.0 dependencies: - effection: 2.0.8 + effection: 2.0.8(mocha@10.2.0) mocha: 10.2.0 dev: true @@ -1058,7 +1058,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) espree: 9.6.1 globals: 13.23.0 ignore: 5.3.0 @@ -1085,7 +1085,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -1126,7 +1126,7 @@ packages: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.6 '@iconify/types': 2.0.0 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 local-pkg: 0.4.3 transitivePeerDependencies: @@ -1242,20 +1242,6 @@ packages: typescript: 5.3.2 dev: true - /@rollup/pluginutils@5.1.0: - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - /@rollup/pluginutils@5.1.0(rollup@4.6.1): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} @@ -1413,7 +1399,7 @@ packages: vite: ^4.0.0 dependencies: '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.2.8)(vite@5.0.6) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) svelte: 4.2.8 vite: 5.0.6 transitivePeerDependencies: @@ -1429,7 +1415,7 @@ packages: vite: ^5.0.0 dependencies: '@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.6) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) svelte: 4.2.8 vite: 5.0.6 transitivePeerDependencies: @@ -1444,7 +1430,7 @@ packages: vite: ^4.0.0 dependencies: '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.3)(svelte@4.2.8)(vite@5.0.6) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.5 @@ -1464,7 +1450,7 @@ packages: vite: ^5.0.0 dependencies: '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.6) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.5 @@ -1476,13 +1462,13 @@ packages: - supports-color dev: true - /@tauri-apps/api@2.0.0-alpha.13: - resolution: {integrity: sha512-sGgCkFahF3OZAHoGN5Ozt9WK7wJlbVZSgWpPQKNag4nSOX1+Py6VDRTEWriiJHDiV+gg31CWHnNXRy6TFoZmdA==} + /@tauri-apps/api@2.0.0-beta.0: + resolution: {integrity: sha512-WLoh/Vk8cgY7XrJV7Vpb6PssReBZWQCATfYBb1aCRDk+sp0NyPwumx6fZ2ECAKzAcs3OeanluwZcajruIW4CPQ==} engines: {node: '>= 18', npm: '>= 6.6.0', yarn: '>= 1.19.1'} dev: false - /@tauri-apps/cli-darwin-arm64@2.0.0-alpha.20: - resolution: {integrity: sha512-L+6OYTjKA42U7XXLQDxoUb43hcKSU8mJ4T3PMCuE08jtv4p6MNfcJQ9FwBCYV6XqYmqE1s5AEBGxR4wBk7bbXQ==} + /@tauri-apps/cli-darwin-arm64@2.0.0-beta.0: + resolution: {integrity: sha512-ncLUmkILngH/tG2lRpksT1N6GYbhmck0EaYdd6PTQQycMedP4ZwNXV+JnT3w/YD8JTQUmkcQnPDQtSUxdcPMWQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -1490,8 +1476,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-darwin-x64@2.0.0-alpha.20: - resolution: {integrity: sha512-KnSuiZPnQi9rIbcBRUGyPBEjVpxZ4IcumUVbG2A+BhKMN/sZ4/w+xBhlRhG5V4gvp512LU20zGb3zMmePmOGlQ==} + /@tauri-apps/cli-darwin-x64@2.0.0-beta.0: + resolution: {integrity: sha512-O9PATRKiyLoYBfk5/D9uwWk7ceHyH9/M7nuq5rDtWsofe9Q1QrPGjEe+cTuFXlabhFeoXrsWHhunp09D3G2NrQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -1499,8 +1485,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-alpha.20: - resolution: {integrity: sha512-wfneLGGgd7unwMtNs4izkbyhbP+mswsep6aF11RWsGKasq3c6ZFcjFl1/E6/B5WspfjdlVW1/FfVGU6kMwZQwA==} + /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-beta.0: + resolution: {integrity: sha512-KEkCXaGopy7JWVwFySeacIBHoiKeBpmRcXg8MLSHfnjFttByZ38yY8A+1b1bzJqfK3C9jSRMdUvmIG/gFIgxIw==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -1508,8 +1494,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm64-gnu@2.0.0-alpha.20: - resolution: {integrity: sha512-QL+jKiJqCAf65iDkbylxvTKnM3hS3Dq9QCUoguJ5lfLTtztjJzXgCqTeo7yA1AOQjGPQ656p206HrBjO4Ppkog==} + /@tauri-apps/cli-linux-arm64-gnu@2.0.0-beta.0: + resolution: {integrity: sha512-UV9LJIQXTAdvusRCYL+6UyDwS1wGTuBQviKBJ/37+5LX8q7nbsjOYcrR8JTs78UwzHinFWFXsOpBbKgYEuh3ew==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -1517,8 +1503,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-arm64-musl@2.0.0-alpha.20: - resolution: {integrity: sha512-nVknro6J4e+82wkhVaNqc9eEA1SLXR0JQQ9lVcjZWauR7lU6gurRchSQ1xFaCfHW2ZwDgQE7RzdrCZGh3QJmog==} + /@tauri-apps/cli-linux-arm64-musl@2.0.0-beta.0: + resolution: {integrity: sha512-qosHNs/HDIV0pIX9ywNH0B9ARQazfcIiPpWbDH5kFDQufXTeSDLcEGlIW3HoqpkoWUzfDr6xDhG5vnCGT9gRsw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -1526,8 +1512,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-x64-gnu@2.0.0-alpha.20: - resolution: {integrity: sha512-x6bCiOIvjnwcrHEabkXzFFRicPmdPNDCTtn02eX4vFnEWbmkssDM40NjqcWnTIR8z1F289FoPuPVA4WiEc0g9Q==} + /@tauri-apps/cli-linux-x64-gnu@2.0.0-beta.0: + resolution: {integrity: sha512-i4rK0sUmTuFoz5d5ItQUpyy98F0I6A0shVAx6Y5NNSNiMbUNuY8XuZ9zQ2Bbs/qX2tsxJa3n8l4E1e05EwrRxQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -1535,8 +1521,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-linux-x64-musl@2.0.0-alpha.20: - resolution: {integrity: sha512-trA5N9r/RA6uaRrCzzd4Q/kHMehpfhzUruTnsu/bHXf2cnMOhGmnstPzLHlPRudyMELqCngrykR0l4Pp33XHvg==} + /@tauri-apps/cli-linux-x64-musl@2.0.0-beta.0: + resolution: {integrity: sha512-j9nKnT8/F76yc0zudGzuGAnFMArJU3NSkGWJOp/LcxqA+jJKDUnC/t7jEQdDUoUV1Te5gv3FVUso4L8I6arh4A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -1544,8 +1530,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-arm64-msvc@2.0.0-alpha.20: - resolution: {integrity: sha512-ib99wuC4WEVS/aZ10YT+IdBOM/zeDRQV01wPd4WT0djNW4nv0b0TmhsZ9BaD9cL/GQD5YPWfwx/EGoHKB1rj9g==} + /@tauri-apps/cli-win32-arm64-msvc@2.0.0-beta.0: + resolution: {integrity: sha512-nMjFg5Q+yGS0wk//7QvJUVBw6mGpT/HirtCt2J6XGTKOHBxr/M/oYFqYa4m351IW4sjz4PcQVvIpOOvljihDvQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -1553,8 +1539,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-ia32-msvc@2.0.0-alpha.20: - resolution: {integrity: sha512-xiJygmAIbqWl6BRA9LDOWwMg8BnH5KFQbcVaftGtuc+1K5ujViO18hEB4+3i76lNR/xTjq8AX3njxT7yKT0mVA==} + /@tauri-apps/cli-win32-ia32-msvc@2.0.0-beta.0: + resolution: {integrity: sha512-uthUiat0dXHvHLY6zQQzo552ToUaIVd9XPs0xfUktfHA7gUmF1trLgAF1be+N4A3wh6r5POqPzvy2L8NOt/Tyg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -1562,8 +1548,8 @@ packages: dev: true optional: true - /@tauri-apps/cli-win32-x64-msvc@2.0.0-alpha.20: - resolution: {integrity: sha512-4mN+rCPhPfv1Yjq3elpxaZnp5OY4BHrrlwKzOgLJty2crMy3UAP1s2uXwNZl/86HfHkIkR8RGaR8KR8ioFdmZg==} + /@tauri-apps/cli-win32-x64-msvc@2.0.0-beta.0: + resolution: {integrity: sha512-4EK3q5MA/bXniIeDbormaudOaoeJc3fggFZ0+RQ2zD9iobNCjaqmaZd6A31nxgooz7HBzrub7Fn7dlF7H/E4Xw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -1571,21 +1557,21 @@ packages: dev: true optional: true - /@tauri-apps/cli@2.0.0-alpha.20: - resolution: {integrity: sha512-TNoaRunh2a9Id57EOWSSEziTszBdxyWUtHq9qw3olgY+i/fF3s0Kxwy2c7TM4kON1KnBSvzF+FEGRInNJNvbXw==} + /@tauri-apps/cli@2.0.0-beta.0: + resolution: {integrity: sha512-Mx/dyo0ZV6zhgxylH7DrObct1qtQFVQrYpAvtYe5Z/y3iLt49Y2loHCGy0r2ksAn+TQzqgtcIhXbgOCir8Vx+A==} engines: {node: '>= 10'} hasBin: true optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.0.0-alpha.20 - '@tauri-apps/cli-darwin-x64': 2.0.0-alpha.20 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-alpha.20 - '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-alpha.20 - '@tauri-apps/cli-linux-arm64-musl': 2.0.0-alpha.20 - '@tauri-apps/cli-linux-x64-gnu': 2.0.0-alpha.20 - '@tauri-apps/cli-linux-x64-musl': 2.0.0-alpha.20 - '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-alpha.20 - '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-alpha.20 - '@tauri-apps/cli-win32-x64-msvc': 2.0.0-alpha.20 + '@tauri-apps/cli-darwin-arm64': 2.0.0-beta.0 + '@tauri-apps/cli-darwin-x64': 2.0.0-beta.0 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-beta.0 + '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-beta.0 + '@tauri-apps/cli-linux-arm64-musl': 2.0.0-beta.0 + '@tauri-apps/cli-linux-x64-gnu': 2.0.0-beta.0 + '@tauri-apps/cli-linux-x64-musl': 2.0.0-beta.0 + '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-beta.0 + '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-beta.0 + '@tauri-apps/cli-win32-x64-msvc': 2.0.0-beta.0 dev: true /@tauri-apps/toml@2.2.4: @@ -1646,7 +1632,7 @@ packages: '@typescript-eslint/type-utils': 6.13.2(eslint@8.55.0)(typescript@5.3.2) '@typescript-eslint/utils': 6.13.2(eslint@8.55.0)(typescript@5.3.2) '@typescript-eslint/visitor-keys': 6.13.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.55.0 graphemer: 1.4.0 ignore: 5.3.0 @@ -1672,7 +1658,7 @@ packages: '@typescript-eslint/types': 6.13.2 '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.2) '@typescript-eslint/visitor-keys': 6.13.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.55.0 typescript: 5.3.2 transitivePeerDependencies: @@ -1699,7 +1685,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.2) '@typescript-eslint/utils': 6.13.2(eslint@8.55.0)(typescript@5.3.2) - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) eslint: 8.55.0 ts-api-utils: 1.0.3(typescript@5.3.2) typescript: 5.3.2 @@ -1723,7 +1709,7 @@ packages: dependencies: '@typescript-eslint/types': 6.13.2 '@typescript-eslint/visitor-keys': 6.13.2 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 @@ -1764,7 +1750,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unocss/astro@0.58.0(vite@5.0.6): + /@unocss/astro@0.58.0(rollup@4.6.1)(vite@5.0.6): resolution: {integrity: sha512-df+tEFO5eKXjQOwSWQhS9IdjD0sfLHLtn8U09sEKR2Nmh5CvpwyBxmvLQgOCilPou7ehmyKfsyGRLZg7IMp+Ew==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -1774,19 +1760,19 @@ packages: dependencies: '@unocss/core': 0.58.0 '@unocss/reset': 0.58.0 - '@unocss/vite': 0.58.0(vite@5.0.6) + '@unocss/vite': 0.58.0(rollup@4.6.1)(vite@5.0.6) vite: 5.0.6 transitivePeerDependencies: - rollup dev: true - /@unocss/cli@0.58.0: + /@unocss/cli@0.58.0(rollup@4.6.1): resolution: {integrity: sha512-rhsrDBxAVueygMcAbMkbuvsHbBL2rG6N96LllYwHn16FLgOE3Sf4JW1/LlNjQje3BtwMMtbSCCAeu2SryFhzbw==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.1.0 + '@rollup/pluginutils': 5.1.0(rollup@4.6.1) '@unocss/config': 0.58.0 '@unocss/core': 0.58.0 '@unocss/preset-uno': 0.58.0 @@ -1962,13 +1948,13 @@ packages: '@unocss/core': 0.58.0 dev: true - /@unocss/vite@0.58.0(vite@5.0.6): + /@unocss/vite@0.58.0(rollup@4.6.1)(vite@5.0.6): resolution: {integrity: sha512-OCUOLMSOBEtXOEyBbAvMI3/xdR175BWRzmvV9Wc34ANZclEvCdVH8+WU725ibjY4VT0gVIuX68b13fhXdHV41A==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.1.0 + '@rollup/pluginutils': 5.1.0(rollup@4.6.1) '@unocss/config': 0.58.0 '@unocss/core': 0.58.0 '@unocss/inspector': 0.58.0 @@ -2480,18 +2466,6 @@ packages: ms: 2.1.3 dev: true - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -2601,18 +2575,6 @@ packages: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true - /effection@2.0.8: - resolution: {integrity: sha512-/v7cbPIXGGylInQgHHjJutzqUn6VIfcP13hh2X0hXf04wwAlSI+lVjUBKpr5TX3+v9dXV/JLHO/pqQ9Cp1QAnQ==} - dependencies: - '@effection/channel': 2.0.6 - '@effection/core': 2.2.3 - '@effection/events': 2.0.6 - '@effection/fetch': 2.0.7(mocha@10.2.0) - '@effection/main': 2.1.2 - '@effection/stream': 2.0.6 - '@effection/subscription': 2.0.6 - dev: true - /effection@2.0.8(mocha@10.2.0): resolution: {integrity: sha512-/v7cbPIXGGylInQgHHjJutzqUn6VIfcP13hh2X0hXf04wwAlSI+lVjUBKpr5TX3+v9dXV/JLHO/pqQ9Cp1QAnQ==} dependencies: @@ -2958,7 +2920,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -3900,7 +3862,7 @@ packages: /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.4 + debug: 4.3.4(supports-color@8.1.1) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -5040,7 +5002,7 @@ packages: '@types/unist': 2.0.10 dev: true - /unocss@0.58.0(postcss@8.4.32)(vite@5.0.6): + /unocss@0.58.0(postcss@8.4.32)(rollup@4.6.1)(vite@5.0.6): resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==} engines: {node: '>=14'} peerDependencies: @@ -5052,8 +5014,8 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.0(vite@5.0.6) - '@unocss/cli': 0.58.0 + '@unocss/astro': 0.58.0(rollup@4.6.1)(vite@5.0.6) + '@unocss/cli': 0.58.0(rollup@4.6.1) '@unocss/core': 0.58.0 '@unocss/extractor-arbitrary-variants': 0.58.0 '@unocss/postcss': 0.58.0(postcss@8.4.32) @@ -5071,7 +5033,7 @@ packages: '@unocss/transformer-compile-class': 0.58.0 '@unocss/transformer-directives': 0.58.0 '@unocss/transformer-variant-group': 0.58.0 - '@unocss/vite': 0.58.0(vite@5.0.6) + '@unocss/vite': 0.58.0(rollup@4.6.1)(vite@5.0.6) vite: 5.0.6 transitivePeerDependencies: - postcss diff --git a/shared/template/package.json b/shared/template/package.json index 1a9df852b..57913de89 100644 --- a/shared/template/package.json +++ b/shared/template/package.json @@ -23,6 +23,6 @@ "LICENSE" ], "dependencies": { - "@tauri-apps/api": "2.0.0-alpha.13" + "@tauri-apps/api": "2.0.0-beta.0" } -} +} \ No newline at end of file From be27309891a5bb1941bfbdc67c19c159cf0b0937 Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 15:03:59 -0300 Subject: [PATCH 34/35] update vite --- .changes/pre.json | 14 +++ examples/api/package.json | 2 +- plugins/deep-link/examples/app/package.json | 2 +- .../examples/svelte-app/package.json | 2 +- pnpm-lock.yaml | 86 ++++++++++++++----- 5 files changed, 83 insertions(+), 23 deletions(-) diff --git a/.changes/pre.json b/.changes/pre.json index 1fa83e923..b2768b02b 100644 --- a/.changes/pre.json +++ b/.changes/pre.json @@ -9,32 +9,40 @@ ".changes/api-alpha.12.md", ".changes/api-alpha.13.md", ".changes/api-alpha.9.md", + ".changes/beta.md", ".changes/biometric-initial-release.md", ".changes/deep-link-initial-release.md", ".changes/dialog-async-message-dialog.md", ".changes/dialog-default-path-windows-slash.md", ".changes/dialog-export-fileresponse.md", + ".changes/dialog-message-android.md", ".changes/dialog-pin-rfd.md", ".changes/dialog-return-result.md", + ".changes/fix-cmd-spawn-deadlock.md", ".changes/fix-debounced-event-type.md", ".changes/fix-deep-link-alpha-20.md", ".changes/fix-docs-build.md", ".changes/fix-emit-all-usage.md", + ".changes/fix-fs-write-default-option.md", ".changes/fix-invoke-usage.md", + ".changes/fix-notification-schedule-export.md", ".changes/fix-number-query-params.md", ".changes/fix-permission-notification.md", + ".changes/fix-scheduled-notification.md", ".changes/fix-updater-macos.md", ".changes/fix-window-state-api.md", ".changes/fs-create-new.md", ".changes/fs-exists-2nd-arg.md", ".changes/fs-improve-error-message.md", ".changes/fs-improved-apis.md", + ".changes/fs-replace-notify-debouncer.md", ".changes/fs-scope-tauri.md", ".changes/fs-trunacte-non-append.md", ".changes/fs-unwtach-rid.md", ".changes/fs-wiret-binary-file.md", ".changes/fs-write-panic.md", ".changes/global-shortcut-app-handle.md", + ".changes/http-init-fetch-option-connectTimeout.md", ".changes/http-multipart-refactor.md", ".changes/http-plugin-refactor.md", ".changes/http-proxy-config.md", @@ -48,6 +56,7 @@ ".changes/os-OsType.md", ".changes/os-plugin-refactor.md", ".changes/os-reading-undefined.md", + ".changes/permissions.md", ".changes/persisted-scope-asset.md", ".changes/persisted-scope-glob.md", ".changes/positioner-tray-flag.md", @@ -61,15 +70,20 @@ ".changes/tauri-alpha-15.md", ".changes/tauri-alpha.11.md", ".changes/tauri-alpha.12.md", + ".changes/tauri-http-plugin-errror-invalid-rid.md", ".changes/tray-position.md", ".changes/updater-appimage.md", ".changes/updater-escaped-path.md", + ".changes/updater-js-started-event.md", ".changes/updater-nsis-admin.md", ".changes/updater-nsis-basicui.md", ".changes/updater-nsis.md", + ".changes/updater-on-chunk-fn-mut.md", ".changes/updater-plugin-refactor.md", + ".changes/updater-proxy.md", ".changes/updater-string-replace-round2.md", ".changes/updater-string-replace.md", + ".changes/updater.md", ".changes/upload-bufwriter.md", ".changes/v2-alpha.md", ".changes/websocket-fix-arg-name.md", diff --git a/examples/api/package.json b/examples/api/package.json index 32ea3845a..c337bec50 100644 --- a/examples/api/package.json +++ b/examples/api/package.json @@ -35,6 +35,6 @@ "internal-ip": "^8.0.0", "svelte": "^4.2.8", "unocss": "^0.58.0", - "vite": "^5.0.6" + "vite": "^5.0.12" } } \ No newline at end of file diff --git a/plugins/deep-link/examples/app/package.json b/plugins/deep-link/examples/app/package.json index acdcfa621..f6743ac37 100644 --- a/plugins/deep-link/examples/app/package.json +++ b/plugins/deep-link/examples/app/package.json @@ -17,6 +17,6 @@ "@tauri-apps/cli": "2.0.0-beta.0", "internal-ip": "^8.0.0", "typescript": "^5.2.2", - "vite": "^5.0.6" + "vite": "^5.0.12" } } \ No newline at end of file diff --git a/plugins/websocket/examples/svelte-app/package.json b/plugins/websocket/examples/svelte-app/package.json index 622cd4cac..ec2e1be6d 100644 --- a/plugins/websocket/examples/svelte-app/package.json +++ b/plugins/websocket/examples/svelte-app/package.json @@ -17,7 +17,7 @@ "svelte": "4.2.8", "svelte-check": "3.6.2", "typescript": "5.3.2", - "vite": "5.0.6" + "vite": "5.0.12" }, "dependencies": { "@tauri-apps/plugin-websocket": "link:..\\.." diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e90c281e5..374c9916d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -120,7 +120,7 @@ importers: version: 1.1.8 '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.0.1(svelte@4.2.8)(vite@5.0.6) + version: 3.0.1(svelte@4.2.8)(vite@5.0.12) '@tauri-apps/cli': specifier: 2.0.0-beta.0 version: 2.0.0-beta.0 @@ -135,10 +135,10 @@ importers: version: 4.2.8 unocss: specifier: ^0.58.0 - version: 0.58.0(postcss@8.4.32)(rollup@4.6.1)(vite@5.0.6) + version: 0.58.0(postcss@8.4.32)(rollup@4.6.1)(vite@5.0.12) vite: - specifier: ^5.0.6 - version: 5.0.6 + specifier: ^5.0.12 + version: 5.0.12 plugins/authenticator: dependencies: @@ -1406,7 +1406,7 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.6): + /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.12): resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==} engines: {node: ^18.0.0 || >=20} peerDependencies: @@ -1414,10 +1414,10 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.6) + '@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.8)(vite@5.0.12) debug: 4.3.4(supports-color@8.1.1) svelte: 4.2.8 - vite: 5.0.6 + vite: 5.0.12 transitivePeerDependencies: - supports-color dev: true @@ -1442,22 +1442,22 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.8)(vite@5.0.6): + /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.8)(vite@5.0.12): resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==} engines: {node: ^18.0.0 || >=20} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.6) + '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.8)(vite@5.0.12) debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.5 svelte: 4.2.8 svelte-hmr: 0.15.3(svelte@4.2.8) - vite: 5.0.6 - vitefu: 0.2.5(vite@5.0.6) + vite: 5.0.12 + vitefu: 0.2.5(vite@5.0.12) transitivePeerDependencies: - supports-color dev: true @@ -1750,7 +1750,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unocss/astro@0.58.0(rollup@4.6.1)(vite@5.0.6): + /@unocss/astro@0.58.0(rollup@4.6.1)(vite@5.0.12): resolution: {integrity: sha512-df+tEFO5eKXjQOwSWQhS9IdjD0sfLHLtn8U09sEKR2Nmh5CvpwyBxmvLQgOCilPou7ehmyKfsyGRLZg7IMp+Ew==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -1760,8 +1760,8 @@ packages: dependencies: '@unocss/core': 0.58.0 '@unocss/reset': 0.58.0 - '@unocss/vite': 0.58.0(rollup@4.6.1)(vite@5.0.6) - vite: 5.0.6 + '@unocss/vite': 0.58.0(rollup@4.6.1)(vite@5.0.12) + vite: 5.0.12 transitivePeerDependencies: - rollup dev: true @@ -1948,7 +1948,7 @@ packages: '@unocss/core': 0.58.0 dev: true - /@unocss/vite@0.58.0(rollup@4.6.1)(vite@5.0.6): + /@unocss/vite@0.58.0(rollup@4.6.1)(vite@5.0.12): resolution: {integrity: sha512-OCUOLMSOBEtXOEyBbAvMI3/xdR175BWRzmvV9Wc34ANZclEvCdVH8+WU725ibjY4VT0gVIuX68b13fhXdHV41A==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -1963,7 +1963,7 @@ packages: chokidar: 3.5.3 fast-glob: 3.3.2 magic-string: 0.30.5 - vite: 5.0.6 + vite: 5.0.12 transitivePeerDependencies: - rollup dev: true @@ -5002,7 +5002,7 @@ packages: '@types/unist': 2.0.10 dev: true - /unocss@0.58.0(postcss@8.4.32)(rollup@4.6.1)(vite@5.0.6): + /unocss@0.58.0(postcss@8.4.32)(rollup@4.6.1)(vite@5.0.12): resolution: {integrity: sha512-MSPRHxBqWN+1AHGV+J5uUy4//e6ZBK6O+ISzD0qrXcCD/GNtxk1+lYjOK2ltkUiKX539+/KF91vNxzhhwEf+xA==} engines: {node: '>=14'} peerDependencies: @@ -5014,7 +5014,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.0(rollup@4.6.1)(vite@5.0.6) + '@unocss/astro': 0.58.0(rollup@4.6.1)(vite@5.0.12) '@unocss/cli': 0.58.0(rollup@4.6.1) '@unocss/core': 0.58.0 '@unocss/extractor-arbitrary-variants': 0.58.0 @@ -5033,8 +5033,8 @@ packages: '@unocss/transformer-compile-class': 0.58.0 '@unocss/transformer-directives': 0.58.0 '@unocss/transformer-variant-group': 0.58.0 - '@unocss/vite': 0.58.0(rollup@4.6.1)(vite@5.0.6) - vite: 5.0.6 + '@unocss/vite': 0.58.0(rollup@4.6.1)(vite@5.0.12) + vite: 5.0.12 transitivePeerDependencies: - postcss - rollup @@ -5078,6 +5078,41 @@ packages: vfile-message: 2.0.4 dev: true + /vite@5.0.12: + resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.8 + postcss: 8.4.32 + rollup: 4.6.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vite@5.0.6: resolution: {integrity: sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -5113,6 +5148,17 @@ packages: fsevents: 2.3.3 dev: true + /vitefu@0.2.5(vite@5.0.12): + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 5.0.12 + dev: true + /vitefu@0.2.5(vite@5.0.6): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: From f481638d1c73eb16f77e1bdef77520c47240f55f Mon Sep 17 00:00:00 2001 From: Lucas Nogueira Date: Sat, 3 Feb 2024 15:04:16 -0300 Subject: [PATCH 35/35] fmt --- examples/api/package.json | 2 +- plugins/authenticator/package.json | 2 +- plugins/autostart/package.json | 2 +- plugins/barcode-scanner/package.json | 2 +- plugins/biometric/package.json | 2 +- plugins/cli/package.json | 2 +- plugins/clipboard-manager/package.json | 2 +- plugins/deep-link/examples/app/package.json | 2 +- plugins/deep-link/package.json | 2 +- plugins/dialog/package.json | 2 +- plugins/fs/package.json | 2 +- plugins/global-shortcut/package.json | 2 +- plugins/http/package.json | 2 +- plugins/log/package.json | 2 +- plugins/nfc/package.json | 2 +- plugins/notification/package.json | 2 +- plugins/os/package.json | 2 +- plugins/positioner/package.json | 2 +- plugins/process/package.json | 2 +- plugins/shell/package.json | 2 +- .../examples/vanilla/package.json | 2 +- plugins/sql/package.json | 2 +- plugins/store/package.json | 2 +- plugins/stronghold/package.json | 2 +- plugins/updater/package.json | 2 +- plugins/upload/package.json | 2 +- .../examples/svelte-app/package.json | 2 +- plugins/websocket/package.json | 2 +- plugins/window-state/package.json | 2 +- pnpm-lock.yaml | 78 ++++--------------- shared/template/package.json | 2 +- 31 files changed, 46 insertions(+), 92 deletions(-) diff --git a/examples/api/package.json b/examples/api/package.json index c337bec50..cdb6e832a 100644 --- a/examples/api/package.json +++ b/examples/api/package.json @@ -37,4 +37,4 @@ "unocss": "^0.58.0", "vite": "^5.0.12" } -} \ No newline at end of file +} diff --git a/plugins/authenticator/package.json b/plugins/authenticator/package.json index abf0620e2..d6fdb4264 100644 --- a/plugins/authenticator/package.json +++ b/plugins/authenticator/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/autostart/package.json b/plugins/autostart/package.json index 3e0862bbc..691b8da0c 100644 --- a/plugins/autostart/package.json +++ b/plugins/autostart/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/barcode-scanner/package.json b/plugins/barcode-scanner/package.json index 687c50aca..5f481c2df 100644 --- a/plugins/barcode-scanner/package.json +++ b/plugins/barcode-scanner/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/biometric/package.json b/plugins/biometric/package.json index 96adec60d..4928e7ce5 100644 --- a/plugins/biometric/package.json +++ b/plugins/biometric/package.json @@ -29,4 +29,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/cli/package.json b/plugins/cli/package.json index ac0c93f93..8946b4cad 100644 --- a/plugins/cli/package.json +++ b/plugins/cli/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/clipboard-manager/package.json b/plugins/clipboard-manager/package.json index 45bb2d26b..18cd5ae38 100644 --- a/plugins/clipboard-manager/package.json +++ b/plugins/clipboard-manager/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/deep-link/examples/app/package.json b/plugins/deep-link/examples/app/package.json index f6743ac37..05e8647fb 100644 --- a/plugins/deep-link/examples/app/package.json +++ b/plugins/deep-link/examples/app/package.json @@ -19,4 +19,4 @@ "typescript": "^5.2.2", "vite": "^5.0.12" } -} \ No newline at end of file +} diff --git a/plugins/deep-link/package.json b/plugins/deep-link/package.json index 6525f1010..ba611922e 100644 --- a/plugins/deep-link/package.json +++ b/plugins/deep-link/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/dialog/package.json b/plugins/dialog/package.json index 414c0afeb..4c9a9306b 100644 --- a/plugins/dialog/package.json +++ b/plugins/dialog/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/fs/package.json b/plugins/fs/package.json index 6cf2a62eb..c47d76717 100644 --- a/plugins/fs/package.json +++ b/plugins/fs/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/global-shortcut/package.json b/plugins/global-shortcut/package.json index ed762f9e2..db7bb1d5f 100644 --- a/plugins/global-shortcut/package.json +++ b/plugins/global-shortcut/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/http/package.json b/plugins/http/package.json index 30593887a..ec850ee60 100644 --- a/plugins/http/package.json +++ b/plugins/http/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/log/package.json b/plugins/log/package.json index 7313d0a99..452117bb5 100644 --- a/plugins/log/package.json +++ b/plugins/log/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/nfc/package.json b/plugins/nfc/package.json index 77b4d4ef0..530652af6 100644 --- a/plugins/nfc/package.json +++ b/plugins/nfc/package.json @@ -29,4 +29,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/notification/package.json b/plugins/notification/package.json index 426705622..6205801b8 100644 --- a/plugins/notification/package.json +++ b/plugins/notification/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/os/package.json b/plugins/os/package.json index 74985133b..5f02a48d1 100644 --- a/plugins/os/package.json +++ b/plugins/os/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/positioner/package.json b/plugins/positioner/package.json index cc9fb089c..843dfe8ce 100644 --- a/plugins/positioner/package.json +++ b/plugins/positioner/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/process/package.json b/plugins/process/package.json index 8633fdf1a..43874bd61 100644 --- a/plugins/process/package.json +++ b/plugins/process/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/shell/package.json b/plugins/shell/package.json index 063f275ae..4bb6ec55b 100644 --- a/plugins/shell/package.json +++ b/plugins/shell/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/single-instance/examples/vanilla/package.json b/plugins/single-instance/examples/vanilla/package.json index 5053f8415..96e9f1d8f 100644 --- a/plugins/single-instance/examples/vanilla/package.json +++ b/plugins/single-instance/examples/vanilla/package.json @@ -11,4 +11,4 @@ "devDependencies": { "@tauri-apps/cli": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/sql/package.json b/plugins/sql/package.json index 266edb804..56b385a9e 100644 --- a/plugins/sql/package.json +++ b/plugins/sql/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/store/package.json b/plugins/store/package.json index 50ef3cabf..facc77491 100644 --- a/plugins/store/package.json +++ b/plugins/store/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/stronghold/package.json b/plugins/stronghold/package.json index e978e1ced..cda0fbc06 100644 --- a/plugins/stronghold/package.json +++ b/plugins/stronghold/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/updater/package.json b/plugins/updater/package.json index 53f7b422b..56d99942c 100644 --- a/plugins/updater/package.json +++ b/plugins/updater/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/upload/package.json b/plugins/upload/package.json index ba00052d0..9a850b59f 100644 --- a/plugins/upload/package.json +++ b/plugins/upload/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/websocket/examples/svelte-app/package.json b/plugins/websocket/examples/svelte-app/package.json index ec2e1be6d..0e8e79831 100644 --- a/plugins/websocket/examples/svelte-app/package.json +++ b/plugins/websocket/examples/svelte-app/package.json @@ -23,4 +23,4 @@ "@tauri-apps/plugin-websocket": "link:..\\.." }, "type": "module" -} \ No newline at end of file +} diff --git a/plugins/websocket/package.json b/plugins/websocket/package.json index b6a41d548..a1e3b442d 100644 --- a/plugins/websocket/package.json +++ b/plugins/websocket/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/plugins/window-state/package.json b/plugins/window-state/package.json index 255b94b26..aa051c223 100644 --- a/plugins/window-state/package.json +++ b/plugins/window-state/package.json @@ -26,4 +26,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 374c9916d..96f9d9517 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -205,8 +205,8 @@ importers: specifier: ^5.2.2 version: 5.3.2 vite: - specifier: ^5.0.6 - version: 5.0.6 + specifier: ^5.0.12 + version: 5.0.12 plugins/dialog: dependencies: @@ -331,7 +331,7 @@ importers: version: 2.1.1(@sveltejs/kit@1.27.7) '@sveltejs/kit': specifier: 1.27.7 - version: 1.27.7(svelte@4.2.8)(vite@5.0.6) + version: 1.27.7(svelte@4.2.8)(vite@5.0.12) '@tauri-apps/cli': specifier: 2.0.0-beta.0 version: 2.0.0-beta.0 @@ -345,8 +345,8 @@ importers: specifier: 5.3.2 version: 5.3.2 vite: - specifier: 5.0.6 - version: 5.0.6 + specifier: 5.0.12 + version: 5.0.12 plugins/window-state: dependencies: @@ -1358,11 +1358,11 @@ packages: peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.27.7(svelte@4.2.8)(vite@5.0.6) + '@sveltejs/kit': 1.27.7(svelte@4.2.8)(vite@5.0.12) import-meta-resolve: 4.0.0 dev: true - /@sveltejs/kit@1.27.7(svelte@4.2.8)(vite@5.0.6): + /@sveltejs/kit@1.27.7(svelte@4.2.8)(vite@5.0.12): resolution: {integrity: sha512-AzXYDoYt42clCBwLF9GTHsXyg2DFR31Ncyt8yxu8Aw4tgB433V+w+hcr1RTfAN9zKW2J2PY9FMQ8FoX/4Vw8CA==} engines: {node: ^16.14 || >=18} hasBin: true @@ -1371,7 +1371,7 @@ packages: svelte: ^3.54.0 || ^4.0.0-next.0 || ^5.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.2.8)(vite@5.0.6) + '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.2.8)(vite@5.0.12) '@types/cookie': 0.5.4 cookie: 0.5.0 devalue: 4.3.2 @@ -1385,12 +1385,12 @@ packages: svelte: 4.2.8 tiny-glob: 0.2.9 undici: 5.26.5 - vite: 5.0.6 + vite: 5.0.12 transitivePeerDependencies: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.3)(svelte@4.2.8)(vite@5.0.6): + /@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.3)(svelte@4.2.8)(vite@5.0.12): resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -1398,10 +1398,10 @@ packages: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.2.8)(vite@5.0.6) + '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@4.2.8)(vite@5.0.12) debug: 4.3.4(supports-color@8.1.1) svelte: 4.2.8 - vite: 5.0.6 + vite: 5.0.12 transitivePeerDependencies: - supports-color dev: true @@ -1422,22 +1422,22 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@2.5.3(svelte@4.2.8)(vite@5.0.6): + /@sveltejs/vite-plugin-svelte@2.5.3(svelte@4.2.8)(vite@5.0.12): resolution: {integrity: sha512-erhNtXxE5/6xGZz/M9eXsmI7Pxa6MS7jyTy06zN3Ck++ldrppOnOlJwHHTsMC7DHDQdgUp4NAc4cDNQ9eGdB/w==} engines: {node: ^14.18.0 || >= 16} peerDependencies: svelte: ^3.54.0 || ^4.0.0 || ^5.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.3)(svelte@4.2.8)(vite@5.0.6) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.3)(svelte@4.2.8)(vite@5.0.12) debug: 4.3.4(supports-color@8.1.1) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.5 svelte: 4.2.8 svelte-hmr: 0.15.3(svelte@4.2.8) - vite: 5.0.6 - vitefu: 0.2.5(vite@5.0.6) + vite: 5.0.12 + vitefu: 0.2.5(vite@5.0.12) transitivePeerDependencies: - supports-color dev: true @@ -5113,41 +5113,6 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.0.6: - resolution: {integrity: sha512-MD3joyAEBtV7QZPl2JVVUai6zHms3YOmLR+BpMzLlX2Yzjfcc4gTgNi09d/Rua3F4EtC8zdwPU8eQYyib4vVMQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.19.8 - postcss: 8.4.32 - rollup: 4.6.1 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vitefu@0.2.5(vite@5.0.12): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: @@ -5159,17 +5124,6 @@ packages: vite: 5.0.12 dev: true - /vitefu@0.2.5(vite@5.0.6): - resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - vite: 5.0.6 - dev: true - /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: diff --git a/shared/template/package.json b/shared/template/package.json index 57913de89..eb37eead2 100644 --- a/shared/template/package.json +++ b/shared/template/package.json @@ -25,4 +25,4 @@ "dependencies": { "@tauri-apps/api": "2.0.0-beta.0" } -} \ No newline at end of file +}