From 60765694f54875e22b8eb70b1d2e32dbf0c585c7 Mon Sep 17 00:00:00 2001 From: Lucas Fernandes Nogueira Date: Mon, 16 Sep 2024 11:01:13 -0300 Subject: [PATCH] refactor(geolocation): simplify API, defer permission checks (#1773) --- .changes/geolocation-permission-refactor.md | 5 + .changes/update-geolocation-api.md | 5 + .gitignore | 8 +- .prettierignore | 1 + Cargo.lock | 2 + examples/api/.gitignore | 2 - examples/api/dist/.gitkeep | 0 examples/api/package.json | 2 + examples/api/src-tauri/Cargo.toml | 2 + .../api/src-tauri/capabilities/mobile.json | 6 +- .../api/src-tauri/gen/android/.idea/misc.xml | 1 - .../src-tauri/gen/schemas/desktop-schema.json | 5713 ------------ .../src-tauri/gen/schemas/mobile-schema.json | 7661 ----------------- examples/api/src-tauri/src/lib.rs | 2 + examples/api/src/App.svelte | 341 +- examples/api/src/views/Geolocation.svelte | 29 + plugins/geolocation/README.md | 31 +- .../src/main/java/GeolocationPlugin.kt | 112 +- plugins/geolocation/api-iife.js | 2 +- plugins/geolocation/build.rs | 2 +- plugins/geolocation/guest-js/bindings.ts | 248 - plugins/geolocation/guest-js/index.ts | 149 +- .../commands/clear_positions.toml | 13 - .../commands/request_permissions.toml | 13 + .../permissions/autogenerated/reference.md | 24 +- .../permissions/schemas/schema.json | 20 +- plugins/geolocation/src/mobile.rs | 5 +- pnpm-lock.yaml | 6 + 28 files changed, 445 insertions(+), 13960 deletions(-) create mode 100644 .changes/geolocation-permission-refactor.md create mode 100644 .changes/update-geolocation-api.md delete mode 100644 examples/api/.gitignore delete mode 100644 examples/api/dist/.gitkeep delete mode 100644 examples/api/src-tauri/gen/schemas/desktop-schema.json delete mode 100644 examples/api/src-tauri/gen/schemas/mobile-schema.json create mode 100644 examples/api/src/views/Geolocation.svelte delete mode 100644 plugins/geolocation/guest-js/bindings.ts delete mode 100644 plugins/geolocation/permissions/autogenerated/commands/clear_positions.toml create mode 100644 plugins/geolocation/permissions/autogenerated/commands/request_permissions.toml diff --git a/.changes/geolocation-permission-refactor.md b/.changes/geolocation-permission-refactor.md new file mode 100644 index 000000000..200146153 --- /dev/null +++ b/.changes/geolocation-permission-refactor.md @@ -0,0 +1,5 @@ +--- +"geolocation": patch +--- + +No longer request permission automatically and leave to the user how to handle the `checkPermissions` and `requestPermissions` APIs. diff --git a/.changes/update-geolocation-api.md b/.changes/update-geolocation-api.md new file mode 100644 index 000000000..709e9fa05 --- /dev/null +++ b/.changes/update-geolocation-api.md @@ -0,0 +1,5 @@ +--- +"geolocation-js": patch +--- + +Update API to match other plugins. diff --git a/.gitignore b/.gitignore index f9d6a360f..72e5a397a 100644 --- a/.gitignore +++ b/.gitignore @@ -26,9 +26,15 @@ target/ # compiled plugins dist-js/ -# plugins .tauri director +# plugins .tauri directory /plugins/*/.tauri +# examples +examples/*/dist +plugins/*/examples/*/dist +examples/*/src-tauri/gen/schemas +plugins/*/examples/*/src-tauri/gen/schemas + # logs logs *.log diff --git a/.prettierignore b/.prettierignore index fa45e2c0a..bc4fca6de 100644 --- a/.prettierignore +++ b/.prettierignore @@ -24,3 +24,4 @@ CHANGELOG.md # mobile build **/ios/.build **/.tauri +plugins/*/android/build diff --git a/Cargo.lock b/Cargo.lock index f6a869e8d..1b1461f60 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -231,7 +231,9 @@ dependencies = [ "tauri-plugin-clipboard-manager", "tauri-plugin-dialog", "tauri-plugin-fs", + "tauri-plugin-geolocation", "tauri-plugin-global-shortcut", + "tauri-plugin-haptics", "tauri-plugin-http", "tauri-plugin-log", "tauri-plugin-nfc", diff --git a/examples/api/.gitignore b/examples/api/.gitignore deleted file mode 100644 index fb4eb33ac..000000000 --- a/examples/api/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/dist/* -!/dist/.gitkeep diff --git a/examples/api/dist/.gitkeep b/examples/api/dist/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/api/package.json b/examples/api/package.json index 932adc678..c3dc0a9e4 100644 --- a/examples/api/package.json +++ b/examples/api/package.json @@ -16,7 +16,9 @@ "@tauri-apps/plugin-clipboard-manager": "2.0.0-rc.2", "@tauri-apps/plugin-dialog": "2.0.0-rc.1", "@tauri-apps/plugin-fs": "2.0.0-rc.2", + "@tauri-apps/plugin-geolocation": "2.0.0-rc.1", "@tauri-apps/plugin-global-shortcut": "2.0.0-rc.1", + "@tauri-apps/plugin-haptics": "2.0.0-rc.1", "@tauri-apps/plugin-http": "2.0.0-rc.2", "@tauri-apps/plugin-nfc": "2.0.0-rc.1", "@tauri-apps/plugin-notification": "2.0.0-rc.1", diff --git a/examples/api/src-tauri/Cargo.toml b/examples/api/src-tauri/Cargo.toml index 443e50c28..4fdb6fdf7 100644 --- a/examples/api/src-tauri/Cargo.toml +++ b/examples/api/src-tauri/Cargo.toml @@ -59,6 +59,8 @@ tauri-plugin-window-state = { path = "../../../plugins/window-state", version = tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-rc.4" } tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.0.0-rc.3" } tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.0.0-rc.3" } +tauri-plugin-geolocation = { path = "../../../plugins/geolocation/", version = "2.0.0-rc.3" } +tauri-plugin-haptics = { path = "../../../plugins/haptics/", version = "2.0.0-rc.3" } [features] prod = ["tauri/custom-protocol"] diff --git a/examples/api/src-tauri/capabilities/mobile.json b/examples/api/src-tauri/capabilities/mobile.json index 40f547ff1..93d46ad24 100644 --- a/examples/api/src-tauri/capabilities/mobile.json +++ b/examples/api/src-tauri/capabilities/mobile.json @@ -11,6 +11,10 @@ "barcode-scanner:allow-scan", "barcode-scanner:allow-cancel", "barcode-scanner:allow-request-permissions", - "barcode-scanner:allow-check-permissions" + "barcode-scanner:allow-check-permissions", + "geolocation:allow-check-permissions", + "geolocation:allow-request-permissions", + "geolocation:allow-watch-position", + "geolocation:allow-get-current-position" ] } diff --git a/examples/api/src-tauri/gen/android/.idea/misc.xml b/examples/api/src-tauri/gen/android/.idea/misc.xml index 0ad17cbd3..8978d23db 100644 --- a/examples/api/src-tauri/gen/android/.idea/misc.xml +++ b/examples/api/src-tauri/gen/android/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/examples/api/src-tauri/gen/schemas/desktop-schema.json b/examples/api/src-tauri/gen/schemas/desktop-schema.json deleted file mode 100644 index 6853acb0e..000000000 --- a/examples/api/src-tauri/gen/schemas/desktop-schema.json +++ /dev/null @@ -1,5713 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n", - "type": "string", - "const": "fs:default" - }, - { - "description": "This allows non-recursive read access to metadata of the application folders, including file listing and statistics.", - "type": "string", - "const": "fs:allow-app-meta" - }, - { - "description": "This allows full recursive read access to metadata of the application folders, including file listing and statistics.", - "type": "string", - "const": "fs:allow-app-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the application folders.", - "type": "string", - "const": "fs:allow-app-read" - }, - { - "description": "This allows full recursive read access to the complete application folders, files and subdirectories.", - "type": "string", - "const": "fs:allow-app-read-recursive" - }, - { - "description": "This allows non-recursive write access to the application folders.", - "type": "string", - "const": "fs:allow-app-write" - }, - { - "description": "This allows full recursive write access to the complete application folders, files and subdirectories.", - "type": "string", - "const": "fs:allow-app-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appcache-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appcache-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPCACHE` folder.", - "type": "string", - "const": "fs:allow-appcache-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appcache-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPCACHE` folder.", - "type": "string", - "const": "fs:allow-appcache-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appcache-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appconfig-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appconfig-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPCONFIG` folder.", - "type": "string", - "const": "fs:allow-appconfig-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appconfig-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPCONFIG` folder.", - "type": "string", - "const": "fs:allow-appconfig-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appconfig-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appdata-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appdata-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPDATA` folder.", - "type": "string", - "const": "fs:allow-appdata-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appdata-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPDATA` folder.", - "type": "string", - "const": "fs:allow-appdata-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appdata-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-applocaldata-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-applocaldata-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPLOCALDATA` folder.", - "type": "string", - "const": "fs:allow-applocaldata-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-applocaldata-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPLOCALDATA` folder.", - "type": "string", - "const": "fs:allow-applocaldata-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-applocaldata-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-applog-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-applog-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPLOG` folder.", - "type": "string", - "const": "fs:allow-applog-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-applog-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPLOG` folder.", - "type": "string", - "const": "fs:allow-applog-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-applog-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-audio-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-audio-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$AUDIO` folder.", - "type": "string", - "const": "fs:allow-audio-read" - }, - { - "description": "This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-audio-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$AUDIO` folder.", - "type": "string", - "const": "fs:allow-audio-write" - }, - { - "description": "This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-audio-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-cache-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-cache-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$CACHE` folder.", - "type": "string", - "const": "fs:allow-cache-read" - }, - { - "description": "This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-cache-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$CACHE` folder.", - "type": "string", - "const": "fs:allow-cache-write" - }, - { - "description": "This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-cache-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-config-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-config-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$CONFIG` folder.", - "type": "string", - "const": "fs:allow-config-read" - }, - { - "description": "This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-config-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$CONFIG` folder.", - "type": "string", - "const": "fs:allow-config-write" - }, - { - "description": "This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-config-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-data-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-data-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$DATA` folder.", - "type": "string", - "const": "fs:allow-data-read" - }, - { - "description": "This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-data-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$DATA` folder.", - "type": "string", - "const": "fs:allow-data-write" - }, - { - "description": "This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-data-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-desktop-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-desktop-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$DESKTOP` folder.", - "type": "string", - "const": "fs:allow-desktop-read" - }, - { - "description": "This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-desktop-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$DESKTOP` folder.", - "type": "string", - "const": "fs:allow-desktop-write" - }, - { - "description": "This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-desktop-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-document-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-document-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$DOCUMENT` folder.", - "type": "string", - "const": "fs:allow-document-read" - }, - { - "description": "This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-document-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$DOCUMENT` folder.", - "type": "string", - "const": "fs:allow-document-write" - }, - { - "description": "This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-document-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-download-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-download-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$DOWNLOAD` folder.", - "type": "string", - "const": "fs:allow-download-read" - }, - { - "description": "This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-download-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$DOWNLOAD` folder.", - "type": "string", - "const": "fs:allow-download-write" - }, - { - "description": "This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-download-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-exe-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-exe-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$EXE` folder.", - "type": "string", - "const": "fs:allow-exe-read" - }, - { - "description": "This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-exe-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$EXE` folder.", - "type": "string", - "const": "fs:allow-exe-write" - }, - { - "description": "This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-exe-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-font-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-font-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$FONT` folder.", - "type": "string", - "const": "fs:allow-font-read" - }, - { - "description": "This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-font-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$FONT` folder.", - "type": "string", - "const": "fs:allow-font-write" - }, - { - "description": "This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-font-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-home-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-home-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$HOME` folder.", - "type": "string", - "const": "fs:allow-home-read" - }, - { - "description": "This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-home-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$HOME` folder.", - "type": "string", - "const": "fs:allow-home-write" - }, - { - "description": "This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-home-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-localdata-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-localdata-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$LOCALDATA` folder.", - "type": "string", - "const": "fs:allow-localdata-read" - }, - { - "description": "This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-localdata-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$LOCALDATA` folder.", - "type": "string", - "const": "fs:allow-localdata-write" - }, - { - "description": "This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-localdata-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-log-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-log-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$LOG` folder.", - "type": "string", - "const": "fs:allow-log-read" - }, - { - "description": "This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-log-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$LOG` folder.", - "type": "string", - "const": "fs:allow-log-write" - }, - { - "description": "This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-log-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-picture-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-picture-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$PICTURE` folder.", - "type": "string", - "const": "fs:allow-picture-read" - }, - { - "description": "This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-picture-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$PICTURE` folder.", - "type": "string", - "const": "fs:allow-picture-write" - }, - { - "description": "This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-picture-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-public-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-public-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$PUBLIC` folder.", - "type": "string", - "const": "fs:allow-public-read" - }, - { - "description": "This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-public-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$PUBLIC` folder.", - "type": "string", - "const": "fs:allow-public-write" - }, - { - "description": "This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-public-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-resource-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-resource-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$RESOURCE` folder.", - "type": "string", - "const": "fs:allow-resource-read" - }, - { - "description": "This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-resource-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$RESOURCE` folder.", - "type": "string", - "const": "fs:allow-resource-write" - }, - { - "description": "This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-resource-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-runtime-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-runtime-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$RUNTIME` folder.", - "type": "string", - "const": "fs:allow-runtime-read" - }, - { - "description": "This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-runtime-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$RUNTIME` folder.", - "type": "string", - "const": "fs:allow-runtime-write" - }, - { - "description": "This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-runtime-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-temp-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-temp-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$TEMP` folder.", - "type": "string", - "const": "fs:allow-temp-read" - }, - { - "description": "This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-temp-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$TEMP` folder.", - "type": "string", - "const": "fs:allow-temp-write" - }, - { - "description": "This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-temp-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-template-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-template-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$TEMPLATE` folder.", - "type": "string", - "const": "fs:allow-template-read" - }, - { - "description": "This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-template-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$TEMPLATE` folder.", - "type": "string", - "const": "fs:allow-template-write" - }, - { - "description": "This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-template-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-video-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-video-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$VIDEO` folder.", - "type": "string", - "const": "fs:allow-video-read" - }, - { - "description": "This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-video-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$VIDEO` folder.", - "type": "string", - "const": "fs:allow-video-write" - }, - { - "description": "This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-video-write-recursive" - }, - { - "description": "This denies access to dangerous Tauri relevant files and folders by default.", - "type": "string", - "const": "fs:deny-default" - }, - { - "description": "Enables the copy_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-copy-file" - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-create" - }, - { - "description": "Enables the exists command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-exists" - }, - { - "description": "Enables the fstat command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-fstat" - }, - { - "description": "Enables the ftruncate command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-ftruncate" - }, - { - "description": "Enables the lstat command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-lstat" - }, - { - "description": "Enables the mkdir command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-mkdir" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-open" - }, - { - "description": "Enables the read command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read" - }, - { - "description": "Enables the read_dir command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-dir" - }, - { - "description": "Enables the read_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-file" - }, - { - "description": "Enables the read_text_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-text-file" - }, - { - "description": "Enables the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-text-file-lines" - }, - { - "description": "Enables the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-text-file-lines-next" - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-remove" - }, - { - "description": "Enables the rename command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-rename" - }, - { - "description": "Enables the seek command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-seek" - }, - { - "description": "Enables the stat command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-stat" - }, - { - "description": "Enables the truncate command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-truncate" - }, - { - "description": "Enables the unwatch command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-unwatch" - }, - { - "description": "Enables the watch command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-watch" - }, - { - "description": "Enables the write command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-write" - }, - { - "description": "Enables the write_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-write-file" - }, - { - "description": "Enables the write_text_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-write-text-file" - }, - { - "description": "This permissions allows to create the application specific directories.\n", - "type": "string", - "const": "fs:create-app-specific-dirs" - }, - { - "description": "Denies the copy_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-copy-file" - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-create" - }, - { - "description": "Denies the exists command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-exists" - }, - { - "description": "Denies the fstat command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-fstat" - }, - { - "description": "Denies the ftruncate command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-ftruncate" - }, - { - "description": "Denies the lstat command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-lstat" - }, - { - "description": "Denies the mkdir command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-mkdir" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-open" - }, - { - "description": "Denies the read command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read" - }, - { - "description": "Denies the read_dir command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-dir" - }, - { - "description": "Denies the read_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-file" - }, - { - "description": "Denies the read_text_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-text-file" - }, - { - "description": "Denies the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-text-file-lines" - }, - { - "description": "Denies the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-text-file-lines-next" - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-remove" - }, - { - "description": "Denies the rename command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-rename" - }, - { - "description": "Denies the seek command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-seek" - }, - { - "description": "Denies the stat command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-stat" - }, - { - "description": "Denies the truncate command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-truncate" - }, - { - "description": "Denies the unwatch command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-unwatch" - }, - { - "description": "Denies the watch command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-watch" - }, - { - "description": "This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "const": "fs:deny-webview-data-linux" - }, - { - "description": "This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "const": "fs:deny-webview-data-windows" - }, - { - "description": "Denies the write command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-write" - }, - { - "description": "Denies the write_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-write-file" - }, - { - "description": "Denies the write_text_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-write-text-file" - }, - { - "description": "This enables all read related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:read-all" - }, - { - "description": "This permission allows recursive read functionality on the application\nspecific base directories. \n", - "type": "string", - "const": "fs:read-app-specific-dirs-recursive" - }, - { - "description": "This enables directory read and file metadata related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:read-dirs" - }, - { - "description": "This enables file read related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:read-files" - }, - { - "description": "This enables all index or metadata related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:read-meta" - }, - { - "description": "An empty permission you can use to modify the global scope.", - "type": "string", - "const": "fs:scope" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the application folders.", - "type": "string", - "const": "fs:scope-app" - }, - { - "description": "This scope permits to list all files and folders in the application directories.", - "type": "string", - "const": "fs:scope-app-index" - }, - { - "description": "This scope permits recursive access to the complete application folders, including sub directories and files.", - "type": "string", - "const": "fs:scope-app-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.", - "type": "string", - "const": "fs:scope-appcache" - }, - { - "description": "This scope permits to list all files and folders in the `$APPCACHE`folder.", - "type": "string", - "const": "fs:scope-appcache-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-appcache-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.", - "type": "string", - "const": "fs:scope-appconfig" - }, - { - "description": "This scope permits to list all files and folders in the `$APPCONFIG`folder.", - "type": "string", - "const": "fs:scope-appconfig-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-appconfig-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.", - "type": "string", - "const": "fs:scope-appdata" - }, - { - "description": "This scope permits to list all files and folders in the `$APPDATA`folder.", - "type": "string", - "const": "fs:scope-appdata-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-appdata-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.", - "type": "string", - "const": "fs:scope-applocaldata" - }, - { - "description": "This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", - "type": "string", - "const": "fs:scope-applocaldata-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-applocaldata-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.", - "type": "string", - "const": "fs:scope-applog" - }, - { - "description": "This scope permits to list all files and folders in the `$APPLOG`folder.", - "type": "string", - "const": "fs:scope-applog-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-applog-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.", - "type": "string", - "const": "fs:scope-audio" - }, - { - "description": "This scope permits to list all files and folders in the `$AUDIO`folder.", - "type": "string", - "const": "fs:scope-audio-index" - }, - { - "description": "This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-audio-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$CACHE` folder.", - "type": "string", - "const": "fs:scope-cache" - }, - { - "description": "This scope permits to list all files and folders in the `$CACHE`folder.", - "type": "string", - "const": "fs:scope-cache-index" - }, - { - "description": "This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-cache-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.", - "type": "string", - "const": "fs:scope-config" - }, - { - "description": "This scope permits to list all files and folders in the `$CONFIG`folder.", - "type": "string", - "const": "fs:scope-config-index" - }, - { - "description": "This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-config-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$DATA` folder.", - "type": "string", - "const": "fs:scope-data" - }, - { - "description": "This scope permits to list all files and folders in the `$DATA`folder.", - "type": "string", - "const": "fs:scope-data-index" - }, - { - "description": "This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-data-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.", - "type": "string", - "const": "fs:scope-desktop" - }, - { - "description": "This scope permits to list all files and folders in the `$DESKTOP`folder.", - "type": "string", - "const": "fs:scope-desktop-index" - }, - { - "description": "This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-desktop-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.", - "type": "string", - "const": "fs:scope-document" - }, - { - "description": "This scope permits to list all files and folders in the `$DOCUMENT`folder.", - "type": "string", - "const": "fs:scope-document-index" - }, - { - "description": "This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-document-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.", - "type": "string", - "const": "fs:scope-download" - }, - { - "description": "This scope permits to list all files and folders in the `$DOWNLOAD`folder.", - "type": "string", - "const": "fs:scope-download-index" - }, - { - "description": "This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-download-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$EXE` folder.", - "type": "string", - "const": "fs:scope-exe" - }, - { - "description": "This scope permits to list all files and folders in the `$EXE`folder.", - "type": "string", - "const": "fs:scope-exe-index" - }, - { - "description": "This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-exe-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$FONT` folder.", - "type": "string", - "const": "fs:scope-font" - }, - { - "description": "This scope permits to list all files and folders in the `$FONT`folder.", - "type": "string", - "const": "fs:scope-font-index" - }, - { - "description": "This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-font-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$HOME` folder.", - "type": "string", - "const": "fs:scope-home" - }, - { - "description": "This scope permits to list all files and folders in the `$HOME`folder.", - "type": "string", - "const": "fs:scope-home-index" - }, - { - "description": "This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-home-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.", - "type": "string", - "const": "fs:scope-localdata" - }, - { - "description": "This scope permits to list all files and folders in the `$LOCALDATA`folder.", - "type": "string", - "const": "fs:scope-localdata-index" - }, - { - "description": "This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-localdata-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$LOG` folder.", - "type": "string", - "const": "fs:scope-log" - }, - { - "description": "This scope permits to list all files and folders in the `$LOG`folder.", - "type": "string", - "const": "fs:scope-log-index" - }, - { - "description": "This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-log-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.", - "type": "string", - "const": "fs:scope-picture" - }, - { - "description": "This scope permits to list all files and folders in the `$PICTURE`folder.", - "type": "string", - "const": "fs:scope-picture-index" - }, - { - "description": "This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-picture-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.", - "type": "string", - "const": "fs:scope-public" - }, - { - "description": "This scope permits to list all files and folders in the `$PUBLIC`folder.", - "type": "string", - "const": "fs:scope-public-index" - }, - { - "description": "This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-public-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.", - "type": "string", - "const": "fs:scope-resource" - }, - { - "description": "This scope permits to list all files and folders in the `$RESOURCE`folder.", - "type": "string", - "const": "fs:scope-resource-index" - }, - { - "description": "This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-resource-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.", - "type": "string", - "const": "fs:scope-runtime" - }, - { - "description": "This scope permits to list all files and folders in the `$RUNTIME`folder.", - "type": "string", - "const": "fs:scope-runtime-index" - }, - { - "description": "This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-runtime-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$TEMP` folder.", - "type": "string", - "const": "fs:scope-temp" - }, - { - "description": "This scope permits to list all files and folders in the `$TEMP`folder.", - "type": "string", - "const": "fs:scope-temp-index" - }, - { - "description": "This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-temp-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.", - "type": "string", - "const": "fs:scope-template" - }, - { - "description": "This scope permits to list all files and folders in the `$TEMPLATE`folder.", - "type": "string", - "const": "fs:scope-template-index" - }, - { - "description": "This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-template-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.", - "type": "string", - "const": "fs:scope-video" - }, - { - "description": "This scope permits to list all files and folders in the `$VIDEO`folder.", - "type": "string", - "const": "fs:scope-video-index" - }, - { - "description": "This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-video-recursive" - }, - { - "description": "This enables all write related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:write-all" - }, - { - "description": "This enables all file write related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:write-files" - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "FsScopeEntry", - "description": "FS scope entry.", - "anyOf": [ - { - "description": "FS scope path.", - "type": "string" - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "description": "FS scope path.", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "FsScopeEntry", - "description": "FS scope entry.", - "anyOf": [ - { - "description": "FS scope path.", - "type": "string" - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "description": "FS scope path.", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n", - "type": "string", - "const": "http:default" - }, - { - "description": "Enables the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch" - }, - { - "description": "Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel" - }, - { - "description": "Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-read-body" - }, - { - "description": "Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-send" - }, - { - "description": "Denies the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch" - }, - { - "description": "Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel" - }, - { - "description": "Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-read-body" - }, - { - "description": "Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-send" - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$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" - } - } - } - }, - "deny": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$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" - } - } - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "Allows reading the CLI matches", - "type": "string", - "const": "cli:default" - }, - { - "description": "Enables the cli_matches command without any pre-configured scope.", - "type": "string", - "const": "cli:allow-cli-matches" - }, - { - "description": "Denies the cli_matches command without any pre-configured scope.", - "type": "string", - "const": "cli:deny-cli-matches" - }, - { - "description": "No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n", - "type": "string", - "const": "clipboard-manager:default" - }, - { - "description": "Enables the clear command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:allow-clear" - }, - { - "description": "Enables the read_image command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:allow-read-image" - }, - { - "description": "Enables the read_text command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:allow-read-text" - }, - { - "description": "Enables the write_html command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:allow-write-html" - }, - { - "description": "Enables the write_image command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:allow-write-image" - }, - { - "description": "Enables the write_text command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:allow-write-text" - }, - { - "description": "Denies the clear command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:deny-clear" - }, - { - "description": "Denies the read_image command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:deny-read-image" - }, - { - "description": "Denies the read_text command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:deny-read-text" - }, - { - "description": "Denies the write_html command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:deny-write-html" - }, - { - "description": "Denies the write_image command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:deny-write-image" - }, - { - "description": "Denies the write_text command without any pre-configured scope.", - "type": "string", - "const": "clipboard-manager:deny-write-text" - }, - { - "description": "Default core plugins set which includes:\n- 'core:path:default'\n- 'core:event:default'\n- 'core:window:default'\n- 'core:webview:default'\n- 'core:app:default'\n- 'core:image:default'\n- 'core:resources:default'\n- 'core:menu:default'\n- 'core:tray:default'\n", - "type": "string", - "const": "core:default" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:app:default" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide" - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show" - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon" - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name" - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version" - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide" - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show" - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon" - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name" - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:event:default" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit" - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to" - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen" - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten" - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit" - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to" - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen" - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:image:default" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes" - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new" - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba" - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size" - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes" - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new" - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba" - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:menu:default" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append" - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get" - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert" - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled" - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new" - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup" - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend" - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove" - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at" - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator" - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu" - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp" - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu" - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp" - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon" - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text" - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text" - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append" - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get" - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert" - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled" - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new" - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup" - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend" - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove" - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at" - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator" - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu" - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp" - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu" - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp" - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon" - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text" - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:path:default" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename" - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname" - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname" - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute" - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join" - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize" - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve" - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory" - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename" - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname" - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname" - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute" - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join" - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize" - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve" - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:resources:default" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:tray:default" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new" - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon" - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template" - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu" - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click" - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title" - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip" - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible" - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new" - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon" - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template" - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu" - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click" - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title" - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip" - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:webview:default" - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview" - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window" - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews" - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools" - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print" - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent" - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus" - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position" - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size" - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom" - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close" - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position" - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size" - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview" - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window" - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews" - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools" - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print" - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent" - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus" - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position" - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size" - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom" - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close" - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position" - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:window:default" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors" - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close" - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create" - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor" - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position" - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy" - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows" - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide" - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position" - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size" - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize" - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable" - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated" - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused" - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen" - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable" - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized" - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable" - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized" - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable" - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible" - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize" - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize" - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point" - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position" - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size" - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor" - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention" - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor" - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom" - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top" - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable" - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected" - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab" - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon" - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position" - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible" - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations" - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects" - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus" - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon" - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events" - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size" - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable" - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size" - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable" - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position" - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar" - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable" - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow" - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size" - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints" - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title" - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style" - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces" - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show" - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging" - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging" - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme" - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title" - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize" - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize" - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize" - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors" - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close" - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create" - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor" - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position" - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy" - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows" - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide" - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position" - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size" - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize" - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable" - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated" - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused" - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen" - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable" - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized" - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable" - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized" - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable" - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible" - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize" - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize" - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point" - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position" - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size" - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor" - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention" - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor" - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom" - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top" - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable" - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected" - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab" - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon" - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position" - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible" - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations" - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects" - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus" - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon" - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events" - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size" - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable" - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size" - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable" - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position" - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar" - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable" - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow" - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size" - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints" - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title" - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style" - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces" - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show" - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging" - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging" - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme" - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title" - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize" - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize" - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize" - }, - { - "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n", - "type": "string", - "const": "dialog:default" - }, - { - "description": "Enables the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-ask" - }, - { - "description": "Enables the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-confirm" - }, - { - "description": "Enables the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-message" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-open" - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-save" - }, - { - "description": "Denies the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-ask" - }, - { - "description": "Denies the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-confirm" - }, - { - "description": "Denies the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-message" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-open" - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-save" - }, - { - "description": "This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n", - "type": "string", - "const": "fs:default" - }, - { - "description": "This allows non-recursive read access to metadata of the application folders, including file listing and statistics.", - "type": "string", - "const": "fs:allow-app-meta" - }, - { - "description": "This allows full recursive read access to metadata of the application folders, including file listing and statistics.", - "type": "string", - "const": "fs:allow-app-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the application folders.", - "type": "string", - "const": "fs:allow-app-read" - }, - { - "description": "This allows full recursive read access to the complete application folders, files and subdirectories.", - "type": "string", - "const": "fs:allow-app-read-recursive" - }, - { - "description": "This allows non-recursive write access to the application folders.", - "type": "string", - "const": "fs:allow-app-write" - }, - { - "description": "This allows full recursive write access to the complete application folders, files and subdirectories.", - "type": "string", - "const": "fs:allow-app-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appcache-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appcache-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPCACHE` folder.", - "type": "string", - "const": "fs:allow-appcache-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appcache-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPCACHE` folder.", - "type": "string", - "const": "fs:allow-appcache-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appcache-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appconfig-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appconfig-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPCONFIG` folder.", - "type": "string", - "const": "fs:allow-appconfig-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appconfig-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPCONFIG` folder.", - "type": "string", - "const": "fs:allow-appconfig-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appconfig-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appdata-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-appdata-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPDATA` folder.", - "type": "string", - "const": "fs:allow-appdata-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appdata-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPDATA` folder.", - "type": "string", - "const": "fs:allow-appdata-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-appdata-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-applocaldata-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-applocaldata-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPLOCALDATA` folder.", - "type": "string", - "const": "fs:allow-applocaldata-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-applocaldata-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPLOCALDATA` folder.", - "type": "string", - "const": "fs:allow-applocaldata-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-applocaldata-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-applog-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-applog-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$APPLOG` folder.", - "type": "string", - "const": "fs:allow-applog-read" - }, - { - "description": "This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-applog-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$APPLOG` folder.", - "type": "string", - "const": "fs:allow-applog-write" - }, - { - "description": "This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-applog-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-audio-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-audio-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$AUDIO` folder.", - "type": "string", - "const": "fs:allow-audio-read" - }, - { - "description": "This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-audio-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$AUDIO` folder.", - "type": "string", - "const": "fs:allow-audio-write" - }, - { - "description": "This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-audio-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-cache-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-cache-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$CACHE` folder.", - "type": "string", - "const": "fs:allow-cache-read" - }, - { - "description": "This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-cache-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$CACHE` folder.", - "type": "string", - "const": "fs:allow-cache-write" - }, - { - "description": "This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-cache-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-config-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-config-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$CONFIG` folder.", - "type": "string", - "const": "fs:allow-config-read" - }, - { - "description": "This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-config-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$CONFIG` folder.", - "type": "string", - "const": "fs:allow-config-write" - }, - { - "description": "This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-config-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-data-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-data-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$DATA` folder.", - "type": "string", - "const": "fs:allow-data-read" - }, - { - "description": "This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-data-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$DATA` folder.", - "type": "string", - "const": "fs:allow-data-write" - }, - { - "description": "This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-data-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-desktop-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-desktop-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$DESKTOP` folder.", - "type": "string", - "const": "fs:allow-desktop-read" - }, - { - "description": "This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-desktop-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$DESKTOP` folder.", - "type": "string", - "const": "fs:allow-desktop-write" - }, - { - "description": "This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-desktop-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-document-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-document-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$DOCUMENT` folder.", - "type": "string", - "const": "fs:allow-document-read" - }, - { - "description": "This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-document-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$DOCUMENT` folder.", - "type": "string", - "const": "fs:allow-document-write" - }, - { - "description": "This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-document-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-download-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-download-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$DOWNLOAD` folder.", - "type": "string", - "const": "fs:allow-download-read" - }, - { - "description": "This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-download-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$DOWNLOAD` folder.", - "type": "string", - "const": "fs:allow-download-write" - }, - { - "description": "This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-download-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-exe-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-exe-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$EXE` folder.", - "type": "string", - "const": "fs:allow-exe-read" - }, - { - "description": "This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-exe-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$EXE` folder.", - "type": "string", - "const": "fs:allow-exe-write" - }, - { - "description": "This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-exe-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-font-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-font-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$FONT` folder.", - "type": "string", - "const": "fs:allow-font-read" - }, - { - "description": "This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-font-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$FONT` folder.", - "type": "string", - "const": "fs:allow-font-write" - }, - { - "description": "This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-font-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-home-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-home-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$HOME` folder.", - "type": "string", - "const": "fs:allow-home-read" - }, - { - "description": "This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-home-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$HOME` folder.", - "type": "string", - "const": "fs:allow-home-write" - }, - { - "description": "This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-home-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-localdata-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-localdata-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$LOCALDATA` folder.", - "type": "string", - "const": "fs:allow-localdata-read" - }, - { - "description": "This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-localdata-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$LOCALDATA` folder.", - "type": "string", - "const": "fs:allow-localdata-write" - }, - { - "description": "This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-localdata-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-log-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-log-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$LOG` folder.", - "type": "string", - "const": "fs:allow-log-read" - }, - { - "description": "This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-log-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$LOG` folder.", - "type": "string", - "const": "fs:allow-log-write" - }, - { - "description": "This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-log-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-picture-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-picture-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$PICTURE` folder.", - "type": "string", - "const": "fs:allow-picture-read" - }, - { - "description": "This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-picture-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$PICTURE` folder.", - "type": "string", - "const": "fs:allow-picture-write" - }, - { - "description": "This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-picture-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-public-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-public-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$PUBLIC` folder.", - "type": "string", - "const": "fs:allow-public-read" - }, - { - "description": "This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-public-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$PUBLIC` folder.", - "type": "string", - "const": "fs:allow-public-write" - }, - { - "description": "This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-public-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-resource-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-resource-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$RESOURCE` folder.", - "type": "string", - "const": "fs:allow-resource-read" - }, - { - "description": "This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-resource-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$RESOURCE` folder.", - "type": "string", - "const": "fs:allow-resource-write" - }, - { - "description": "This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-resource-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-runtime-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-runtime-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$RUNTIME` folder.", - "type": "string", - "const": "fs:allow-runtime-read" - }, - { - "description": "This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-runtime-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$RUNTIME` folder.", - "type": "string", - "const": "fs:allow-runtime-write" - }, - { - "description": "This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-runtime-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-temp-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-temp-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$TEMP` folder.", - "type": "string", - "const": "fs:allow-temp-read" - }, - { - "description": "This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-temp-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$TEMP` folder.", - "type": "string", - "const": "fs:allow-temp-write" - }, - { - "description": "This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-temp-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-template-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-template-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$TEMPLATE` folder.", - "type": "string", - "const": "fs:allow-template-read" - }, - { - "description": "This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-template-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$TEMPLATE` folder.", - "type": "string", - "const": "fs:allow-template-write" - }, - { - "description": "This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-template-write-recursive" - }, - { - "description": "This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-video-meta" - }, - { - "description": "This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "const": "fs:allow-video-meta-recursive" - }, - { - "description": "This allows non-recursive read access to the `$VIDEO` folder.", - "type": "string", - "const": "fs:allow-video-read" - }, - { - "description": "This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-video-read-recursive" - }, - { - "description": "This allows non-recursive write access to the `$VIDEO` folder.", - "type": "string", - "const": "fs:allow-video-write" - }, - { - "description": "This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "const": "fs:allow-video-write-recursive" - }, - { - "description": "This denies access to dangerous Tauri relevant files and folders by default.", - "type": "string", - "const": "fs:deny-default" - }, - { - "description": "Enables the copy_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-copy-file" - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-create" - }, - { - "description": "Enables the exists command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-exists" - }, - { - "description": "Enables the fstat command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-fstat" - }, - { - "description": "Enables the ftruncate command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-ftruncate" - }, - { - "description": "Enables the lstat command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-lstat" - }, - { - "description": "Enables the mkdir command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-mkdir" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-open" - }, - { - "description": "Enables the read command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read" - }, - { - "description": "Enables the read_dir command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-dir" - }, - { - "description": "Enables the read_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-file" - }, - { - "description": "Enables the read_text_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-text-file" - }, - { - "description": "Enables the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-text-file-lines" - }, - { - "description": "Enables the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-read-text-file-lines-next" - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-remove" - }, - { - "description": "Enables the rename command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-rename" - }, - { - "description": "Enables the seek command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-seek" - }, - { - "description": "Enables the stat command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-stat" - }, - { - "description": "Enables the truncate command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-truncate" - }, - { - "description": "Enables the unwatch command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-unwatch" - }, - { - "description": "Enables the watch command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-watch" - }, - { - "description": "Enables the write command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-write" - }, - { - "description": "Enables the write_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-write-file" - }, - { - "description": "Enables the write_text_file command without any pre-configured scope.", - "type": "string", - "const": "fs:allow-write-text-file" - }, - { - "description": "This permissions allows to create the application specific directories.\n", - "type": "string", - "const": "fs:create-app-specific-dirs" - }, - { - "description": "Denies the copy_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-copy-file" - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-create" - }, - { - "description": "Denies the exists command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-exists" - }, - { - "description": "Denies the fstat command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-fstat" - }, - { - "description": "Denies the ftruncate command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-ftruncate" - }, - { - "description": "Denies the lstat command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-lstat" - }, - { - "description": "Denies the mkdir command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-mkdir" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-open" - }, - { - "description": "Denies the read command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read" - }, - { - "description": "Denies the read_dir command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-dir" - }, - { - "description": "Denies the read_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-file" - }, - { - "description": "Denies the read_text_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-text-file" - }, - { - "description": "Denies the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-text-file-lines" - }, - { - "description": "Denies the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-read-text-file-lines-next" - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-remove" - }, - { - "description": "Denies the rename command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-rename" - }, - { - "description": "Denies the seek command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-seek" - }, - { - "description": "Denies the stat command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-stat" - }, - { - "description": "Denies the truncate command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-truncate" - }, - { - "description": "Denies the unwatch command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-unwatch" - }, - { - "description": "Denies the watch command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-watch" - }, - { - "description": "This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "const": "fs:deny-webview-data-linux" - }, - { - "description": "This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "const": "fs:deny-webview-data-windows" - }, - { - "description": "Denies the write command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-write" - }, - { - "description": "Denies the write_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-write-file" - }, - { - "description": "Denies the write_text_file command without any pre-configured scope.", - "type": "string", - "const": "fs:deny-write-text-file" - }, - { - "description": "This enables all read related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:read-all" - }, - { - "description": "This permission allows recursive read functionality on the application\nspecific base directories. \n", - "type": "string", - "const": "fs:read-app-specific-dirs-recursive" - }, - { - "description": "This enables directory read and file metadata related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:read-dirs" - }, - { - "description": "This enables file read related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:read-files" - }, - { - "description": "This enables all index or metadata related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:read-meta" - }, - { - "description": "An empty permission you can use to modify the global scope.", - "type": "string", - "const": "fs:scope" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the application folders.", - "type": "string", - "const": "fs:scope-app" - }, - { - "description": "This scope permits to list all files and folders in the application directories.", - "type": "string", - "const": "fs:scope-app-index" - }, - { - "description": "This scope permits recursive access to the complete application folders, including sub directories and files.", - "type": "string", - "const": "fs:scope-app-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.", - "type": "string", - "const": "fs:scope-appcache" - }, - { - "description": "This scope permits to list all files and folders in the `$APPCACHE`folder.", - "type": "string", - "const": "fs:scope-appcache-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-appcache-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.", - "type": "string", - "const": "fs:scope-appconfig" - }, - { - "description": "This scope permits to list all files and folders in the `$APPCONFIG`folder.", - "type": "string", - "const": "fs:scope-appconfig-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-appconfig-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.", - "type": "string", - "const": "fs:scope-appdata" - }, - { - "description": "This scope permits to list all files and folders in the `$APPDATA`folder.", - "type": "string", - "const": "fs:scope-appdata-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-appdata-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.", - "type": "string", - "const": "fs:scope-applocaldata" - }, - { - "description": "This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", - "type": "string", - "const": "fs:scope-applocaldata-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-applocaldata-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.", - "type": "string", - "const": "fs:scope-applog" - }, - { - "description": "This scope permits to list all files and folders in the `$APPLOG`folder.", - "type": "string", - "const": "fs:scope-applog-index" - }, - { - "description": "This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-applog-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.", - "type": "string", - "const": "fs:scope-audio" - }, - { - "description": "This scope permits to list all files and folders in the `$AUDIO`folder.", - "type": "string", - "const": "fs:scope-audio-index" - }, - { - "description": "This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-audio-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$CACHE` folder.", - "type": "string", - "const": "fs:scope-cache" - }, - { - "description": "This scope permits to list all files and folders in the `$CACHE`folder.", - "type": "string", - "const": "fs:scope-cache-index" - }, - { - "description": "This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-cache-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.", - "type": "string", - "const": "fs:scope-config" - }, - { - "description": "This scope permits to list all files and folders in the `$CONFIG`folder.", - "type": "string", - "const": "fs:scope-config-index" - }, - { - "description": "This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-config-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$DATA` folder.", - "type": "string", - "const": "fs:scope-data" - }, - { - "description": "This scope permits to list all files and folders in the `$DATA`folder.", - "type": "string", - "const": "fs:scope-data-index" - }, - { - "description": "This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-data-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.", - "type": "string", - "const": "fs:scope-desktop" - }, - { - "description": "This scope permits to list all files and folders in the `$DESKTOP`folder.", - "type": "string", - "const": "fs:scope-desktop-index" - }, - { - "description": "This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-desktop-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.", - "type": "string", - "const": "fs:scope-document" - }, - { - "description": "This scope permits to list all files and folders in the `$DOCUMENT`folder.", - "type": "string", - "const": "fs:scope-document-index" - }, - { - "description": "This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-document-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.", - "type": "string", - "const": "fs:scope-download" - }, - { - "description": "This scope permits to list all files and folders in the `$DOWNLOAD`folder.", - "type": "string", - "const": "fs:scope-download-index" - }, - { - "description": "This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-download-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$EXE` folder.", - "type": "string", - "const": "fs:scope-exe" - }, - { - "description": "This scope permits to list all files and folders in the `$EXE`folder.", - "type": "string", - "const": "fs:scope-exe-index" - }, - { - "description": "This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-exe-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$FONT` folder.", - "type": "string", - "const": "fs:scope-font" - }, - { - "description": "This scope permits to list all files and folders in the `$FONT`folder.", - "type": "string", - "const": "fs:scope-font-index" - }, - { - "description": "This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-font-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$HOME` folder.", - "type": "string", - "const": "fs:scope-home" - }, - { - "description": "This scope permits to list all files and folders in the `$HOME`folder.", - "type": "string", - "const": "fs:scope-home-index" - }, - { - "description": "This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-home-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.", - "type": "string", - "const": "fs:scope-localdata" - }, - { - "description": "This scope permits to list all files and folders in the `$LOCALDATA`folder.", - "type": "string", - "const": "fs:scope-localdata-index" - }, - { - "description": "This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-localdata-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$LOG` folder.", - "type": "string", - "const": "fs:scope-log" - }, - { - "description": "This scope permits to list all files and folders in the `$LOG`folder.", - "type": "string", - "const": "fs:scope-log-index" - }, - { - "description": "This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-log-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.", - "type": "string", - "const": "fs:scope-picture" - }, - { - "description": "This scope permits to list all files and folders in the `$PICTURE`folder.", - "type": "string", - "const": "fs:scope-picture-index" - }, - { - "description": "This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-picture-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.", - "type": "string", - "const": "fs:scope-public" - }, - { - "description": "This scope permits to list all files and folders in the `$PUBLIC`folder.", - "type": "string", - "const": "fs:scope-public-index" - }, - { - "description": "This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-public-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.", - "type": "string", - "const": "fs:scope-resource" - }, - { - "description": "This scope permits to list all files and folders in the `$RESOURCE`folder.", - "type": "string", - "const": "fs:scope-resource-index" - }, - { - "description": "This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-resource-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.", - "type": "string", - "const": "fs:scope-runtime" - }, - { - "description": "This scope permits to list all files and folders in the `$RUNTIME`folder.", - "type": "string", - "const": "fs:scope-runtime-index" - }, - { - "description": "This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-runtime-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$TEMP` folder.", - "type": "string", - "const": "fs:scope-temp" - }, - { - "description": "This scope permits to list all files and folders in the `$TEMP`folder.", - "type": "string", - "const": "fs:scope-temp-index" - }, - { - "description": "This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-temp-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.", - "type": "string", - "const": "fs:scope-template" - }, - { - "description": "This scope permits to list all files and folders in the `$TEMPLATE`folder.", - "type": "string", - "const": "fs:scope-template-index" - }, - { - "description": "This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-template-recursive" - }, - { - "description": "This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.", - "type": "string", - "const": "fs:scope-video" - }, - { - "description": "This scope permits to list all files and folders in the `$VIDEO`folder.", - "type": "string", - "const": "fs:scope-video-index" - }, - { - "description": "This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.", - "type": "string", - "const": "fs:scope-video-recursive" - }, - { - "description": "This enables all write related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:write-all" - }, - { - "description": "This enables all file write related commands without any pre-configured accessible paths.", - "type": "string", - "const": "fs:write-files" - }, - { - "description": "No features are enabled by default, as we believe\nthe shortcuts can be inherently dangerous and it is\napplication specific if specific shortcuts should be\nregistered or unregistered.\n", - "type": "string", - "const": "global-shortcut:default" - }, - { - "description": "Enables the is_registered command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:allow-is-registered" - }, - { - "description": "Enables the register command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:allow-register" - }, - { - "description": "Enables the register_all command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:allow-register-all" - }, - { - "description": "Enables the unregister command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:allow-unregister" - }, - { - "description": "Enables the unregister_all command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:allow-unregister-all" - }, - { - "description": "Denies the is_registered command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:deny-is-registered" - }, - { - "description": "Denies the register command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:deny-register" - }, - { - "description": "Denies the register_all command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:deny-register-all" - }, - { - "description": "Denies the unregister command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:deny-unregister" - }, - { - "description": "Denies the unregister_all command without any pre-configured scope.", - "type": "string", - "const": "global-shortcut:deny-unregister-all" - }, - { - "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n", - "type": "string", - "const": "http:default" - }, - { - "description": "Enables the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch" - }, - { - "description": "Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel" - }, - { - "description": "Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-read-body" - }, - { - "description": "Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-send" - }, - { - "description": "Denies the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch" - }, - { - "description": "Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel" - }, - { - "description": "Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-read-body" - }, - { - "description": "Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-send" - }, - { - "description": "Allows the log command", - "type": "string", - "const": "log:default" - }, - { - "description": "Enables the log command without any pre-configured scope.", - "type": "string", - "const": "log:allow-log" - }, - { - "description": "Denies the log command without any pre-configured scope.", - "type": "string", - "const": "log:deny-log" - }, - { - "description": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n", - "type": "string", - "const": "notification:default" - }, - { - "description": "Enables the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-batch" - }, - { - "description": "Enables the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-cancel" - }, - { - "description": "Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-check-permissions" - }, - { - "description": "Enables the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-create-channel" - }, - { - "description": "Enables the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-delete-channel" - }, - { - "description": "Enables the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-active" - }, - { - "description": "Enables the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-pending" - }, - { - "description": "Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-is-permission-granted" - }, - { - "description": "Enables the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-list-channels" - }, - { - "description": "Enables the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-notify" - }, - { - "description": "Enables the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-permission-state" - }, - { - "description": "Enables the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-action-types" - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-listener" - }, - { - "description": "Enables the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-remove-active" - }, - { - "description": "Enables the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-request-permission" - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-show" - }, - { - "description": "Denies the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-batch" - }, - { - "description": "Denies the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-cancel" - }, - { - "description": "Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-check-permissions" - }, - { - "description": "Denies the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-create-channel" - }, - { - "description": "Denies the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-delete-channel" - }, - { - "description": "Denies the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-active" - }, - { - "description": "Denies the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-pending" - }, - { - "description": "Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-is-permission-granted" - }, - { - "description": "Denies the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-list-channels" - }, - { - "description": "Denies the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-notify" - }, - { - "description": "Denies the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-permission-state" - }, - { - "description": "Denies the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-action-types" - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-listener" - }, - { - "description": "Denies the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-remove-active" - }, - { - "description": "Denies the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-request-permission" - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-show" - }, - { - "description": "This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n", - "type": "string", - "const": "os:default" - }, - { - "description": "Enables the arch command without any pre-configured scope.", - "type": "string", - "const": "os:allow-arch" - }, - { - "description": "Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:allow-exe-extension" - }, - { - "description": "Enables the family command without any pre-configured scope.", - "type": "string", - "const": "os:allow-family" - }, - { - "description": "Enables the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:allow-hostname" - }, - { - "description": "Enables the locale command without any pre-configured scope.", - "type": "string", - "const": "os:allow-locale" - }, - { - "description": "Enables the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:allow-os-type" - }, - { - "description": "Enables the platform command without any pre-configured scope.", - "type": "string", - "const": "os:allow-platform" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "os:allow-version" - }, - { - "description": "Denies the arch command without any pre-configured scope.", - "type": "string", - "const": "os:deny-arch" - }, - { - "description": "Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:deny-exe-extension" - }, - { - "description": "Denies the family command without any pre-configured scope.", - "type": "string", - "const": "os:deny-family" - }, - { - "description": "Denies the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:deny-hostname" - }, - { - "description": "Denies the locale command without any pre-configured scope.", - "type": "string", - "const": "os:deny-locale" - }, - { - "description": "Denies the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:deny-os-type" - }, - { - "description": "Denies the platform command without any pre-configured scope.", - "type": "string", - "const": "os:deny-platform" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "os:deny-version" - }, - { - "description": "This permission set configures which\nprocess feeatures are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n", - "type": "string", - "const": "process:default" - }, - { - "description": "Enables the exit command without any pre-configured scope.", - "type": "string", - "const": "process:allow-exit" - }, - { - "description": "Enables the restart command without any pre-configured scope.", - "type": "string", - "const": "process:allow-restart" - }, - { - "description": "Denies the exit command without any pre-configured scope.", - "type": "string", - "const": "process:deny-exit" - }, - { - "description": "Denies the restart command without any pre-configured scope.", - "type": "string", - "const": "process:deny-restart" - }, - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - }, - { - "description": "This permission set configures what kind of\noperations are available from the store plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n", - "type": "string", - "const": "store:default" - }, - { - "description": "Enables the clear command without any pre-configured scope.", - "type": "string", - "const": "store:allow-clear" - }, - { - "description": "Enables the delete command without any pre-configured scope.", - "type": "string", - "const": "store:allow-delete" - }, - { - "description": "Enables the entries command without any pre-configured scope.", - "type": "string", - "const": "store:allow-entries" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "store:allow-get" - }, - { - "description": "Enables the has command without any pre-configured scope.", - "type": "string", - "const": "store:allow-has" - }, - { - "description": "Enables the keys command without any pre-configured scope.", - "type": "string", - "const": "store:allow-keys" - }, - { - "description": "Enables the length command without any pre-configured scope.", - "type": "string", - "const": "store:allow-length" - }, - { - "description": "Enables the load command without any pre-configured scope.", - "type": "string", - "const": "store:allow-load" - }, - { - "description": "Enables the reset command without any pre-configured scope.", - "type": "string", - "const": "store:allow-reset" - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "store:allow-save" - }, - { - "description": "Enables the set command without any pre-configured scope.", - "type": "string", - "const": "store:allow-set" - }, - { - "description": "Enables the values command without any pre-configured scope.", - "type": "string", - "const": "store:allow-values" - }, - { - "description": "Denies the clear command without any pre-configured scope.", - "type": "string", - "const": "store:deny-clear" - }, - { - "description": "Denies the delete command without any pre-configured scope.", - "type": "string", - "const": "store:deny-delete" - }, - { - "description": "Denies the entries command without any pre-configured scope.", - "type": "string", - "const": "store:deny-entries" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "store:deny-get" - }, - { - "description": "Denies the has command without any pre-configured scope.", - "type": "string", - "const": "store:deny-has" - }, - { - "description": "Denies the keys command without any pre-configured scope.", - "type": "string", - "const": "store:deny-keys" - }, - { - "description": "Denies the length command without any pre-configured scope.", - "type": "string", - "const": "store:deny-length" - }, - { - "description": "Denies the load command without any pre-configured scope.", - "type": "string", - "const": "store:deny-load" - }, - { - "description": "Denies the reset command without any pre-configured scope.", - "type": "string", - "const": "store:deny-reset" - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "store:deny-save" - }, - { - "description": "Denies the set command without any pre-configured scope.", - "type": "string", - "const": "store:deny-set" - }, - { - "description": "Denies the values command without any pre-configured scope.", - "type": "string", - "const": "store:deny-values" - }, - { - "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n", - "type": "string", - "const": "updater:default" - }, - { - "description": "Enables the check command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-check" - }, - { - "description": "Enables the download command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download" - }, - { - "description": "Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download-and-install" - }, - { - "description": "Enables the install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-install" - }, - { - "description": "Denies the check command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-check" - }, - { - "description": "Denies the download command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download" - }, - { - "description": "Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download-and-install" - }, - { - "description": "Denies the install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-install" - }, - { - "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n", - "type": "string", - "const": "window-state:default" - }, - { - "description": "Enables the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-filename" - }, - { - "description": "Enables the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-restore-state" - }, - { - "description": "Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-save-window-state" - }, - { - "description": "Denies the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-filename" - }, - { - "description": "Denies the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-restore-state" - }, - { - "description": "Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-save-window-state" - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "ShellAllowedArg": { - "description": "A command argument allowed to be executed by the webview API.", - "anyOf": [ - { - "description": "A non-configurable argument that is passed to the command in the order it was specified.", - "type": "string" - }, - { - "description": "A variable that is set while calling the command from the webview API.", - "type": "object", - "required": [ - "validator" - ], - "properties": { - "raw": { - "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", - "default": false, - "type": "boolean" - }, - "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\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", - "type": "string" - } - }, - "additionalProperties": false - } - ] - }, - "ShellAllowedArgs": { - "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", - "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.", - "type": "array", - "items": { - "$ref": "#/definitions/ShellAllowedArg" - } - } - ] - } - } -} \ No newline at end of file diff --git a/examples/api/src-tauri/gen/schemas/mobile-schema.json b/examples/api/src-tauri/gen/schemas/mobile-schema.json deleted file mode 100644 index 82c9e0ca2..000000000 --- a/examples/api/src-tauri/gen/schemas/mobile-schema.json +++ /dev/null @@ -1,7661 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "oneOf": [ - { - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "identifier": { - "oneOf": [ - { - "description": "fs:default -> This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n", - "type": "string", - "enum": [ - "fs:default" - ] - }, - { - "description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the application folders, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-app-meta" - ] - }, - { - "description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the application folders, 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 application folders.", - "type": "string", - "enum": [ - "fs:allow-app-read" - ] - }, - { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete application folders, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-app-read-recursive" - ] - }, - { - "description": "fs:allow-app-write -> This allows non-recursive write access to the application folders.", - "type": "string", - "enum": [ - "fs:allow-app-write" - ] - }, - { - "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete application folders, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-app-write-recursive" - ] - }, - { - "description": "fs:allow-appcache-meta -> This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appcache-meta" - ] - }, - { - "description": "fs:allow-appcache-meta-recursive -> This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appcache-meta-recursive" - ] - }, - { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "fs:allow-appcache-read" - ] - }, - { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appcache-read-recursive" - ] - }, - { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "fs:allow-appcache-write" - ] - }, - { - "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appcache-write-recursive" - ] - }, - { - "description": "fs:allow-appconfig-meta -> This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appconfig-meta" - ] - }, - { - "description": "fs:allow-appconfig-meta-recursive -> This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appconfig-meta-recursive" - ] - }, - { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "fs:allow-appconfig-read" - ] - }, - { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appconfig-read-recursive" - ] - }, - { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "fs:allow-appconfig-write" - ] - }, - { - "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appconfig-write-recursive" - ] - }, - { - "description": "fs:allow-appdata-meta -> This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appdata-meta" - ] - }, - { - "description": "fs:allow-appdata-meta-recursive -> This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appdata-meta-recursive" - ] - }, - { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-appdata-read" - ] - }, - { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appdata-read-recursive" - ] - }, - { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-appdata-write" - ] - }, - { - "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appdata-write-recursive" - ] - }, - { - "description": "fs:allow-applocaldata-meta -> This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-meta" - ] - }, - { - "description": "fs:allow-applocaldata-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-meta-recursive" - ] - }, - { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-read" - ] - }, - { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-read-recursive" - ] - }, - { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-write" - ] - }, - { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-write-recursive" - ] - }, - { - "description": "fs:allow-applog-meta -> This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-applog-meta" - ] - }, - { - "description": "fs:allow-applog-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-applog-meta-recursive" - ] - }, - { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", - "type": "string", - "enum": [ - "fs:allow-applog-read" - ] - }, - { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-applog-read-recursive" - ] - }, - { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", - "type": "string", - "enum": [ - "fs:allow-applog-write" - ] - }, - { - "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-applog-write-recursive" - ] - }, - { - "description": "fs:allow-audio-meta -> This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-audio-meta" - ] - }, - { - "description": "fs:allow-audio-meta-recursive -> This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-audio-meta-recursive" - ] - }, - { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", - "type": "string", - "enum": [ - "fs:allow-audio-read" - ] - }, - { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-audio-read-recursive" - ] - }, - { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", - "type": "string", - "enum": [ - "fs:allow-audio-write" - ] - }, - { - "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-audio-write-recursive" - ] - }, - { - "description": "fs:allow-cache-meta -> This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-cache-meta" - ] - }, - { - "description": "fs:allow-cache-meta-recursive -> This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-cache-meta-recursive" - ] - }, - { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", - "type": "string", - "enum": [ - "fs:allow-cache-read" - ] - }, - { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-cache-read-recursive" - ] - }, - { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", - "type": "string", - "enum": [ - "fs:allow-cache-write" - ] - }, - { - "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-cache-write-recursive" - ] - }, - { - "description": "fs:allow-config-meta -> This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-config-meta" - ] - }, - { - "description": "fs:allow-config-meta-recursive -> This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-config-meta-recursive" - ] - }, - { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", - "type": "string", - "enum": [ - "fs:allow-config-read" - ] - }, - { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-config-read-recursive" - ] - }, - { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", - "type": "string", - "enum": [ - "fs:allow-config-write" - ] - }, - { - "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-config-write-recursive" - ] - }, - { - "description": "fs:allow-data-meta -> This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-data-meta" - ] - }, - { - "description": "fs:allow-data-meta-recursive -> This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-data-meta-recursive" - ] - }, - { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", - "type": "string", - "enum": [ - "fs:allow-data-read" - ] - }, - { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-data-read-recursive" - ] - }, - { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", - "type": "string", - "enum": [ - "fs:allow-data-write" - ] - }, - { - "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-data-write-recursive" - ] - }, - { - "description": "fs:allow-desktop-meta -> This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-desktop-meta" - ] - }, - { - "description": "fs:allow-desktop-meta-recursive -> This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-desktop-meta-recursive" - ] - }, - { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "fs:allow-desktop-read" - ] - }, - { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-desktop-read-recursive" - ] - }, - { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "fs:allow-desktop-write" - ] - }, - { - "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-desktop-write-recursive" - ] - }, - { - "description": "fs:allow-document-meta -> This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-document-meta" - ] - }, - { - "description": "fs:allow-document-meta-recursive -> This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-document-meta-recursive" - ] - }, - { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "fs:allow-document-read" - ] - }, - { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-document-read-recursive" - ] - }, - { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "fs:allow-document-write" - ] - }, - { - "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-document-write-recursive" - ] - }, - { - "description": "fs:allow-download-meta -> This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-download-meta" - ] - }, - { - "description": "fs:allow-download-meta-recursive -> This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-download-meta-recursive" - ] - }, - { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "fs:allow-download-read" - ] - }, - { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-download-read-recursive" - ] - }, - { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "fs:allow-download-write" - ] - }, - { - "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-download-write-recursive" - ] - }, - { - "description": "fs:allow-exe-meta -> This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-exe-meta" - ] - }, - { - "description": "fs:allow-exe-meta-recursive -> This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-exe-meta-recursive" - ] - }, - { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", - "type": "string", - "enum": [ - "fs:allow-exe-read" - ] - }, - { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-exe-read-recursive" - ] - }, - { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", - "type": "string", - "enum": [ - "fs:allow-exe-write" - ] - }, - { - "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-exe-write-recursive" - ] - }, - { - "description": "fs:allow-font-meta -> This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-font-meta" - ] - }, - { - "description": "fs:allow-font-meta-recursive -> This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-font-meta-recursive" - ] - }, - { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", - "type": "string", - "enum": [ - "fs:allow-font-read" - ] - }, - { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-font-read-recursive" - ] - }, - { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", - "type": "string", - "enum": [ - "fs:allow-font-write" - ] - }, - { - "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-font-write-recursive" - ] - }, - { - "description": "fs:allow-home-meta -> This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-home-meta" - ] - }, - { - "description": "fs:allow-home-meta-recursive -> This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-home-meta-recursive" - ] - }, - { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", - "type": "string", - "enum": [ - "fs:allow-home-read" - ] - }, - { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-home-read-recursive" - ] - }, - { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", - "type": "string", - "enum": [ - "fs:allow-home-write" - ] - }, - { - "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-home-write-recursive" - ] - }, - { - "description": "fs:allow-localdata-meta -> This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-localdata-meta" - ] - }, - { - "description": "fs:allow-localdata-meta-recursive -> This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-localdata-meta-recursive" - ] - }, - { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-localdata-read" - ] - }, - { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-localdata-read-recursive" - ] - }, - { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-localdata-write" - ] - }, - { - "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-localdata-write-recursive" - ] - }, - { - "description": "fs:allow-log-meta -> This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-log-meta" - ] - }, - { - "description": "fs:allow-log-meta-recursive -> This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-log-meta-recursive" - ] - }, - { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", - "type": "string", - "enum": [ - "fs:allow-log-read" - ] - }, - { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-log-read-recursive" - ] - }, - { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", - "type": "string", - "enum": [ - "fs:allow-log-write" - ] - }, - { - "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-log-write-recursive" - ] - }, - { - "description": "fs:allow-picture-meta -> This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-picture-meta" - ] - }, - { - "description": "fs:allow-picture-meta-recursive -> This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-picture-meta-recursive" - ] - }, - { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", - "type": "string", - "enum": [ - "fs:allow-picture-read" - ] - }, - { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-picture-read-recursive" - ] - }, - { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", - "type": "string", - "enum": [ - "fs:allow-picture-write" - ] - }, - { - "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-picture-write-recursive" - ] - }, - { - "description": "fs:allow-public-meta -> This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-public-meta" - ] - }, - { - "description": "fs:allow-public-meta-recursive -> This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-public-meta-recursive" - ] - }, - { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "fs:allow-public-read" - ] - }, - { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-public-read-recursive" - ] - }, - { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "fs:allow-public-write" - ] - }, - { - "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-public-write-recursive" - ] - }, - { - "description": "fs:allow-resource-meta -> This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-resource-meta" - ] - }, - { - "description": "fs:allow-resource-meta-recursive -> This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-resource-meta-recursive" - ] - }, - { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "fs:allow-resource-read" - ] - }, - { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-resource-read-recursive" - ] - }, - { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "fs:allow-resource-write" - ] - }, - { - "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-resource-write-recursive" - ] - }, - { - "description": "fs:allow-runtime-meta -> This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-runtime-meta" - ] - }, - { - "description": "fs:allow-runtime-meta-recursive -> This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-runtime-meta-recursive" - ] - }, - { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "fs:allow-runtime-read" - ] - }, - { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-runtime-read-recursive" - ] - }, - { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "fs:allow-runtime-write" - ] - }, - { - "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-runtime-write-recursive" - ] - }, - { - "description": "fs:allow-temp-meta -> This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-temp-meta" - ] - }, - { - "description": "fs:allow-temp-meta-recursive -> This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-temp-meta-recursive" - ] - }, - { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", - "type": "string", - "enum": [ - "fs:allow-temp-read" - ] - }, - { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-temp-read-recursive" - ] - }, - { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", - "type": "string", - "enum": [ - "fs:allow-temp-write" - ] - }, - { - "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-temp-write-recursive" - ] - }, - { - "description": "fs:allow-template-meta -> This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-template-meta" - ] - }, - { - "description": "fs:allow-template-meta-recursive -> This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-template-meta-recursive" - ] - }, - { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "fs:allow-template-read" - ] - }, - { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-template-read-recursive" - ] - }, - { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "fs:allow-template-write" - ] - }, - { - "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-template-write-recursive" - ] - }, - { - "description": "fs:allow-video-meta -> This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-video-meta" - ] - }, - { - "description": "fs:allow-video-meta-recursive -> This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-video-meta-recursive" - ] - }, - { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", - "type": "string", - "enum": [ - "fs:allow-video-read" - ] - }, - { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-video-read-recursive" - ] - }, - { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", - "type": "string", - "enum": [ - "fs:allow-video-write" - ] - }, - { - "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-video-write-recursive" - ] - }, - { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", - "type": "string", - "enum": [ - "fs:deny-default" - ] - }, - { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-copy-file" - ] - }, - { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-create" - ] - }, - { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-exists" - ] - }, - { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-fstat" - ] - }, - { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-ftruncate" - ] - }, - { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-lstat" - ] - }, - { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-mkdir" - ] - }, - { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-open" - ] - }, - { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read" - ] - }, - { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-dir" - ] - }, - { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-file" - ] - }, - { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-text-file" - ] - }, - { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-text-file-lines" - ] - }, - { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-text-file-lines-next" - ] - }, - { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-remove" - ] - }, - { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-rename" - ] - }, - { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-seek" - ] - }, - { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-stat" - ] - }, - { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-truncate" - ] - }, - { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-unwatch" - ] - }, - { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-watch" - ] - }, - { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-write" - ] - }, - { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-write-file" - ] - }, - { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-write-text-file" - ] - }, - { - "description": "fs:create-app-specific-dirs -> This permissions allows to create the application specific directories.\n", - "type": "string", - "enum": [ - "fs:create-app-specific-dirs" - ] - }, - { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-copy-file" - ] - }, - { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-create" - ] - }, - { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-exists" - ] - }, - { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-fstat" - ] - }, - { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-ftruncate" - ] - }, - { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-lstat" - ] - }, - { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-mkdir" - ] - }, - { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-open" - ] - }, - { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read" - ] - }, - { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-dir" - ] - }, - { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-file" - ] - }, - { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-text-file" - ] - }, - { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-text-file-lines" - ] - }, - { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-text-file-lines-next" - ] - }, - { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-remove" - ] - }, - { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-rename" - ] - }, - { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-seek" - ] - }, - { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-stat" - ] - }, - { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-truncate" - ] - }, - { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-unwatch" - ] - }, - { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-watch" - ] - }, - { - "description": "fs:deny-webview-data-linux -> This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "enum": [ - "fs:deny-webview-data-linux" - ] - }, - { - "description": "fs:deny-webview-data-windows -> This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "enum": [ - "fs:deny-webview-data-windows" - ] - }, - { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-write" - ] - }, - { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-write-file" - ] - }, - { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-write-text-file" - ] - }, - { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-all" - ] - }, - { - "description": "fs:read-app-specific-dirs-recursive -> This permission allows recursive read functionality on the application\nspecific base directories. \n", - "type": "string", - "enum": [ - "fs:read-app-specific-dirs-recursive" - ] - }, - { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-dirs" - ] - }, - { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-files" - ] - }, - { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-meta" - ] - }, - { - "description": "fs:scope -> An empty permission you can use to modify the global scope.", - "type": "string", - "enum": [ - "fs:scope" - ] - }, - { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the application folders.", - "type": "string", - "enum": [ - "fs:scope-app" - ] - }, - { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the application directories.", - "type": "string", - "enum": [ - "fs:scope-app-index" - ] - }, - { - "description": "fs:scope-app-recursive -> This scope permits recursive access to the complete application folders, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-app-recursive" - ] - }, - { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "fs:scope-appcache" - ] - }, - { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", - "type": "string", - "enum": [ - "fs:scope-appcache-index" - ] - }, - { - "description": "fs:scope-appcache-recursive -> This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-appcache-recursive" - ] - }, - { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "fs:scope-appconfig" - ] - }, - { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", - "type": "string", - "enum": [ - "fs:scope-appconfig-index" - ] - }, - { - "description": "fs:scope-appconfig-recursive -> This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-appconfig-recursive" - ] - }, - { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.", - "type": "string", - "enum": [ - "fs:scope-appdata" - ] - }, - { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", - "type": "string", - "enum": [ - "fs:scope-appdata-index" - ] - }, - { - "description": "fs:scope-appdata-recursive -> This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-appdata-recursive" - ] - }, - { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:scope-applocaldata" - ] - }, - { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", - "type": "string", - "enum": [ - "fs:scope-applocaldata-index" - ] - }, - { - "description": "fs:scope-applocaldata-recursive -> This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-applocaldata-recursive" - ] - }, - { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.", - "type": "string", - "enum": [ - "fs:scope-applog" - ] - }, - { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", - "type": "string", - "enum": [ - "fs:scope-applog-index" - ] - }, - { - "description": "fs:scope-applog-recursive -> This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-applog-recursive" - ] - }, - { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.", - "type": "string", - "enum": [ - "fs:scope-audio" - ] - }, - { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", - "type": "string", - "enum": [ - "fs:scope-audio-index" - ] - }, - { - "description": "fs:scope-audio-recursive -> This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-audio-recursive" - ] - }, - { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE` folder.", - "type": "string", - "enum": [ - "fs:scope-cache" - ] - }, - { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", - "type": "string", - "enum": [ - "fs:scope-cache-index" - ] - }, - { - "description": "fs:scope-cache-recursive -> This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-cache-recursive" - ] - }, - { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.", - "type": "string", - "enum": [ - "fs:scope-config" - ] - }, - { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", - "type": "string", - "enum": [ - "fs:scope-config-index" - ] - }, - { - "description": "fs:scope-config-recursive -> This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-config-recursive" - ] - }, - { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA` folder.", - "type": "string", - "enum": [ - "fs:scope-data" - ] - }, - { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", - "type": "string", - "enum": [ - "fs:scope-data-index" - ] - }, - { - "description": "fs:scope-data-recursive -> This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-data-recursive" - ] - }, - { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "fs:scope-desktop" - ] - }, - { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", - "type": "string", - "enum": [ - "fs:scope-desktop-index" - ] - }, - { - "description": "fs:scope-desktop-recursive -> This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-desktop-recursive" - ] - }, - { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "fs:scope-document" - ] - }, - { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", - "type": "string", - "enum": [ - "fs:scope-document-index" - ] - }, - { - "description": "fs:scope-document-recursive -> This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-document-recursive" - ] - }, - { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "fs:scope-download" - ] - }, - { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", - "type": "string", - "enum": [ - "fs:scope-download-index" - ] - }, - { - "description": "fs:scope-download-recursive -> This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-download-recursive" - ] - }, - { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE` folder.", - "type": "string", - "enum": [ - "fs:scope-exe" - ] - }, - { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", - "type": "string", - "enum": [ - "fs:scope-exe-index" - ] - }, - { - "description": "fs:scope-exe-recursive -> This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-exe-recursive" - ] - }, - { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT` folder.", - "type": "string", - "enum": [ - "fs:scope-font" - ] - }, - { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", - "type": "string", - "enum": [ - "fs:scope-font-index" - ] - }, - { - "description": "fs:scope-font-recursive -> This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-font-recursive" - ] - }, - { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME` folder.", - "type": "string", - "enum": [ - "fs:scope-home" - ] - }, - { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", - "type": "string", - "enum": [ - "fs:scope-home-index" - ] - }, - { - "description": "fs:scope-home-recursive -> This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-home-recursive" - ] - }, - { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:scope-localdata" - ] - }, - { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", - "type": "string", - "enum": [ - "fs:scope-localdata-index" - ] - }, - { - "description": "fs:scope-localdata-recursive -> This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-localdata-recursive" - ] - }, - { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG` folder.", - "type": "string", - "enum": [ - "fs:scope-log" - ] - }, - { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", - "type": "string", - "enum": [ - "fs:scope-log-index" - ] - }, - { - "description": "fs:scope-log-recursive -> This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-log-recursive" - ] - }, - { - "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.", - "type": "string", - "enum": [ - "fs:scope-picture" - ] - }, - { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", - "type": "string", - "enum": [ - "fs:scope-picture-index" - ] - }, - { - "description": "fs:scope-picture-recursive -> This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-picture-recursive" - ] - }, - { - "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "fs:scope-public" - ] - }, - { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", - "type": "string", - "enum": [ - "fs:scope-public-index" - ] - }, - { - "description": "fs:scope-public-recursive -> This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-public-recursive" - ] - }, - { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "fs:scope-resource" - ] - }, - { - "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", - "type": "string", - "enum": [ - "fs:scope-resource-index" - ] - }, - { - "description": "fs:scope-resource-recursive -> This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-resource-recursive" - ] - }, - { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "fs:scope-runtime" - ] - }, - { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", - "type": "string", - "enum": [ - "fs:scope-runtime-index" - ] - }, - { - "description": "fs:scope-runtime-recursive -> This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-runtime-recursive" - ] - }, - { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP` folder.", - "type": "string", - "enum": [ - "fs:scope-temp" - ] - }, - { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", - "type": "string", - "enum": [ - "fs:scope-temp-index" - ] - }, - { - "description": "fs:scope-temp-recursive -> This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-temp-recursive" - ] - }, - { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "fs:scope-template" - ] - }, - { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", - "type": "string", - "enum": [ - "fs:scope-template-index" - ] - }, - { - "description": "fs:scope-template-recursive -> This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-template-recursive" - ] - }, - { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.", - "type": "string", - "enum": [ - "fs:scope-video" - ] - }, - { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", - "type": "string", - "enum": [ - "fs:scope-video-index" - ] - }, - { - "description": "fs:scope-video-recursive -> This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-video-recursive" - ] - }, - { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:write-all" - ] - }, - { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:write-files" - ] - } - ] - }, - "allow": { - "items": { - "title": "FsScopeEntry", - "description": "FS scope entry.", - "anyOf": [ - { - "description": "FS scope path.", - "type": "string" - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "description": "FS scope path.", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "FsScopeEntry", - "description": "FS scope entry.", - "anyOf": [ - { - "description": "FS scope path.", - "type": "string" - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "description": "FS scope path.", - "type": "string" - } - } - } - ] - } - } - } - }, - { - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "identifier": { - "oneOf": [ - { - "description": "http:default -> This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n", - "type": "string", - "enum": [ - "http:default" - ] - }, - { - "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:allow-fetch" - ] - }, - { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:allow-fetch-cancel" - ] - }, - { - "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:allow-fetch-read-body" - ] - }, - { - "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:allow-fetch-send" - ] - }, - { - "description": "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" - ] - } - ] - }, - "allow": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - } - } - }, - { - "type": "object", - "required": [ - "identifier" - ], - "properties": { - "identifier": { - "oneOf": [ - { - "description": "shell:default -> This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "enum": [ - "shell:default" - ] - }, - { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-execute" - ] - }, - { - "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-kill" - ] - }, - { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-open" - ] - }, - { - "description": "shell:allow-spawn -> Enables the spawn command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-spawn" - ] - }, - { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-stdin-write" - ] - }, - { - "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-execute" - ] - }, - { - "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-kill" - ] - }, - { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-open" - ] - }, - { - "description": "shell:deny-spawn -> Denies the spawn command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-spawn" - ] - }, - { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-stdin-write" - ] - } - ] - }, - "allow": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$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" - } - } - } - }, - "deny": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$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" - } - } - } - } - } - } - ] - } - ] - }, - "Identifier": { - "oneOf": [ - { - "description": "barcode-scanner:default -> This permission set configures which\nbarcode scanning features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all barcode related features.\n\n", - "type": "string", - "enum": [ - "barcode-scanner:default" - ] - }, - { - "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:default -> This permission set configures which\nbiometric features are by default exposed.\n\n#### Granted Permissions\n\nIt allows acccess to all biometric commands.\n\n", - "type": "string", - "enum": [ - "biometric:default" - ] - }, - { - "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:default -> No features are enabled by default, as we believe\nthe clipboard can be inherently dangerous and it is \napplication specific if read and/or write access is needed.\n\nClipboard interaction needs to be explicitly enabled.\n", - "type": "string", - "enum": [ - "clipboard-manager:default" - ] - }, - { - "description": "clipboard-manager:allow-clear -> Enables the clear command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-clear" - ] - }, - { - "description": "clipboard-manager:allow-read-image -> Enables the read_image command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-read-image" - ] - }, - { - "description": "clipboard-manager:allow-read-text -> Enables the read_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-read-text" - ] - }, - { - "description": "clipboard-manager:allow-write-html -> Enables the write_html command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-write-html" - ] - }, - { - "description": "clipboard-manager:allow-write-image -> Enables the write_image command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-write-image" - ] - }, - { - "description": "clipboard-manager:allow-write-text -> Enables the write_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:allow-write-text" - ] - }, - { - "description": "clipboard-manager:deny-clear -> Denies the clear command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-clear" - ] - }, - { - "description": "clipboard-manager:deny-read-image -> Denies the read_image command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-read-image" - ] - }, - { - "description": "clipboard-manager:deny-read-text -> Denies the read_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-read-text" - ] - }, - { - "description": "clipboard-manager:deny-write-html -> Denies the write_html command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-write-html" - ] - }, - { - "description": "clipboard-manager:deny-write-image -> Denies the write_image command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-write-image" - ] - }, - { - "description": "clipboard-manager:deny-write-text -> Denies the write_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "clipboard-manager:deny-write-text" - ] - }, - { - "description": "core:app:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:app:default" - ] - }, - { - "description": "core:app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:allow-app-hide" - ] - }, - { - "description": "core:app:allow-app-show -> Enables the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:allow-app-show" - ] - }, - { - "description": "core:app:allow-default-window-icon -> Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:allow-default-window-icon" - ] - }, - { - "description": "core:app:allow-name -> Enables the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:allow-name" - ] - }, - { - "description": "core:app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:allow-tauri-version" - ] - }, - { - "description": "core:app:allow-version -> Enables the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:allow-version" - ] - }, - { - "description": "core:app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:deny-app-hide" - ] - }, - { - "description": "core:app:deny-app-show -> Denies the app_show command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:deny-app-show" - ] - }, - { - "description": "core:app:deny-default-window-icon -> Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:deny-default-window-icon" - ] - }, - { - "description": "core:app:deny-name -> Denies the name command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:deny-name" - ] - }, - { - "description": "core:app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:deny-tauri-version" - ] - }, - { - "description": "core:app:deny-version -> Denies the version command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:app:deny-version" - ] - }, - { - "description": "core:event:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:event:default" - ] - }, - { - "description": "core:event:allow-emit -> Enables the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:event:allow-emit" - ] - }, - { - "description": "core:event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:event:allow-emit-to" - ] - }, - { - "description": "core:event:allow-listen -> Enables the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:event:allow-listen" - ] - }, - { - "description": "core:event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:event:allow-unlisten" - ] - }, - { - "description": "core:event:deny-emit -> Denies the emit command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:event:deny-emit" - ] - }, - { - "description": "core:event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:event:deny-emit-to" - ] - }, - { - "description": "core:event:deny-listen -> Denies the listen command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:event:deny-listen" - ] - }, - { - "description": "core:event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:event:deny-unlisten" - ] - }, - { - "description": "core:image:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:image:default" - ] - }, - { - "description": "core:image:allow-from-bytes -> Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:allow-from-bytes" - ] - }, - { - "description": "core:image:allow-from-path -> Enables the from_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:allow-from-path" - ] - }, - { - "description": "core:image:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:allow-new" - ] - }, - { - "description": "core:image:allow-rgba -> Enables the rgba command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:allow-rgba" - ] - }, - { - "description": "core:image:allow-size -> Enables the size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:allow-size" - ] - }, - { - "description": "core:image:deny-from-bytes -> Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:deny-from-bytes" - ] - }, - { - "description": "core:image:deny-from-path -> Denies the from_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:deny-from-path" - ] - }, - { - "description": "core:image:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:deny-new" - ] - }, - { - "description": "core:image:deny-rgba -> Denies the rgba command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:deny-rgba" - ] - }, - { - "description": "core:image:deny-size -> Denies the size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:image:deny-size" - ] - }, - { - "description": "core:menu:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:menu:default" - ] - }, - { - "description": "core:menu:allow-append -> Enables the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-append" - ] - }, - { - "description": "core:menu:allow-create-default -> Enables the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-create-default" - ] - }, - { - "description": "core:menu:allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-get" - ] - }, - { - "description": "core:menu:allow-insert -> Enables the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-insert" - ] - }, - { - "description": "core:menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-is-checked" - ] - }, - { - "description": "core:menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-is-enabled" - ] - }, - { - "description": "core:menu:allow-items -> Enables the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-items" - ] - }, - { - "description": "core:menu:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-new" - ] - }, - { - "description": "core:menu:allow-popup -> Enables the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-popup" - ] - }, - { - "description": "core:menu:allow-prepend -> Enables the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-prepend" - ] - }, - { - "description": "core:menu:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-remove" - ] - }, - { - "description": "core:menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-remove-at" - ] - }, - { - "description": "core:menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-set-accelerator" - ] - }, - { - "description": "core:menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-set-as-app-menu" - ] - }, - { - "description": "core: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": [ - "core:menu:allow-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "core:menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-set-as-window-menu" - ] - }, - { - "description": "core: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": [ - "core:menu:allow-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "core:menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-set-checked" - ] - }, - { - "description": "core:menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-set-enabled" - ] - }, - { - "description": "core:menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-set-icon" - ] - }, - { - "description": "core:menu:allow-set-text -> Enables the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-set-text" - ] - }, - { - "description": "core:menu:allow-text -> Enables the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:allow-text" - ] - }, - { - "description": "core:menu:deny-append -> Denies the append command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-append" - ] - }, - { - "description": "core:menu:deny-create-default -> Denies the create_default command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-create-default" - ] - }, - { - "description": "core:menu:deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-get" - ] - }, - { - "description": "core:menu:deny-insert -> Denies the insert command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-insert" - ] - }, - { - "description": "core:menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-is-checked" - ] - }, - { - "description": "core:menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-is-enabled" - ] - }, - { - "description": "core:menu:deny-items -> Denies the items command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-items" - ] - }, - { - "description": "core:menu:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-new" - ] - }, - { - "description": "core:menu:deny-popup -> Denies the popup command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-popup" - ] - }, - { - "description": "core:menu:deny-prepend -> Denies the prepend command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-prepend" - ] - }, - { - "description": "core:menu:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-remove" - ] - }, - { - "description": "core:menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-remove-at" - ] - }, - { - "description": "core:menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-set-accelerator" - ] - }, - { - "description": "core:menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-set-as-app-menu" - ] - }, - { - "description": "core: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": [ - "core:menu:deny-set-as-help-menu-for-nsapp" - ] - }, - { - "description": "core:menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-set-as-window-menu" - ] - }, - { - "description": "core: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": [ - "core:menu:deny-set-as-windows-menu-for-nsapp" - ] - }, - { - "description": "core:menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-set-checked" - ] - }, - { - "description": "core:menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-set-enabled" - ] - }, - { - "description": "core:menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-set-icon" - ] - }, - { - "description": "core:menu:deny-set-text -> Denies the set_text command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-set-text" - ] - }, - { - "description": "core:menu:deny-text -> Denies the text command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:menu:deny-text" - ] - }, - { - "description": "core:path:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:path:default" - ] - }, - { - "description": "core:path:allow-basename -> Enables the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:allow-basename" - ] - }, - { - "description": "core:path:allow-dirname -> Enables the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:allow-dirname" - ] - }, - { - "description": "core:path:allow-extname -> Enables the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:allow-extname" - ] - }, - { - "description": "core:path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:allow-is-absolute" - ] - }, - { - "description": "core:path:allow-join -> Enables the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:allow-join" - ] - }, - { - "description": "core:path:allow-normalize -> Enables the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:allow-normalize" - ] - }, - { - "description": "core:path:allow-resolve -> Enables the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:allow-resolve" - ] - }, - { - "description": "core:path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:allow-resolve-directory" - ] - }, - { - "description": "core:path:deny-basename -> Denies the basename command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:deny-basename" - ] - }, - { - "description": "core:path:deny-dirname -> Denies the dirname command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:deny-dirname" - ] - }, - { - "description": "core:path:deny-extname -> Denies the extname command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:deny-extname" - ] - }, - { - "description": "core:path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:deny-is-absolute" - ] - }, - { - "description": "core:path:deny-join -> Denies the join command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:deny-join" - ] - }, - { - "description": "core:path:deny-normalize -> Denies the normalize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:deny-normalize" - ] - }, - { - "description": "core:path:deny-resolve -> Denies the resolve command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:deny-resolve" - ] - }, - { - "description": "core:path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:path:deny-resolve-directory" - ] - }, - { - "description": "core:resources:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:resources:default" - ] - }, - { - "description": "core:resources:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:resources:allow-close" - ] - }, - { - "description": "core:resources:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:resources:deny-close" - ] - }, - { - "description": "core:tray:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:tray:default" - ] - }, - { - "description": "core:tray:allow-get-by-id -> Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-get-by-id" - ] - }, - { - "description": "core:tray:allow-new -> Enables the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-new" - ] - }, - { - "description": "core:tray:allow-remove-by-id -> Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-remove-by-id" - ] - }, - { - "description": "core:tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-set-icon" - ] - }, - { - "description": "core:tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-set-icon-as-template" - ] - }, - { - "description": "core:tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-set-menu" - ] - }, - { - "description": "core: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": [ - "core:tray:allow-set-show-menu-on-left-click" - ] - }, - { - "description": "core:tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-set-temp-dir-path" - ] - }, - { - "description": "core:tray:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-set-title" - ] - }, - { - "description": "core:tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-set-tooltip" - ] - }, - { - "description": "core:tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:allow-set-visible" - ] - }, - { - "description": "core:tray:deny-get-by-id -> Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-get-by-id" - ] - }, - { - "description": "core:tray:deny-new -> Denies the new command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-new" - ] - }, - { - "description": "core:tray:deny-remove-by-id -> Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-remove-by-id" - ] - }, - { - "description": "core:tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-set-icon" - ] - }, - { - "description": "core:tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-set-icon-as-template" - ] - }, - { - "description": "core:tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-set-menu" - ] - }, - { - "description": "core: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": [ - "core:tray:deny-set-show-menu-on-left-click" - ] - }, - { - "description": "core:tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-set-temp-dir-path" - ] - }, - { - "description": "core:tray:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-set-title" - ] - }, - { - "description": "core:tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-set-tooltip" - ] - }, - { - "description": "core:tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:tray:deny-set-visible" - ] - }, - { - "description": "core:webview:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:webview:default" - ] - }, - { - "description": "core:webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-create-webview" - ] - }, - { - "description": "core:webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-create-webview-window" - ] - }, - { - "description": "core:webview:allow-get-all-webviews -> Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-get-all-webviews" - ] - }, - { - "description": "core:webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-internal-toggle-devtools" - ] - }, - { - "description": "core:webview:allow-print -> Enables the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-print" - ] - }, - { - "description": "core:webview:allow-reparent -> Enables the reparent command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-reparent" - ] - }, - { - "description": "core:webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-set-webview-focus" - ] - }, - { - "description": "core:webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-set-webview-position" - ] - }, - { - "description": "core:webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-set-webview-size" - ] - }, - { - "description": "core:webview:allow-set-webview-zoom -> Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-set-webview-zoom" - ] - }, - { - "description": "core:webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-webview-close" - ] - }, - { - "description": "core:webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-webview-position" - ] - }, - { - "description": "core:webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:allow-webview-size" - ] - }, - { - "description": "core:webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-create-webview" - ] - }, - { - "description": "core:webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-create-webview-window" - ] - }, - { - "description": "core:webview:deny-get-all-webviews -> Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-get-all-webviews" - ] - }, - { - "description": "core:webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-internal-toggle-devtools" - ] - }, - { - "description": "core:webview:deny-print -> Denies the print command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-print" - ] - }, - { - "description": "core:webview:deny-reparent -> Denies the reparent command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-reparent" - ] - }, - { - "description": "core:webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-set-webview-focus" - ] - }, - { - "description": "core:webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-set-webview-position" - ] - }, - { - "description": "core:webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-set-webview-size" - ] - }, - { - "description": "core:webview:deny-set-webview-zoom -> Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-set-webview-zoom" - ] - }, - { - "description": "core:webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-webview-close" - ] - }, - { - "description": "core:webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-webview-position" - ] - }, - { - "description": "core:webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:webview:deny-webview-size" - ] - }, - { - "description": "core:window:default -> Default permissions for the plugin.", - "type": "string", - "enum": [ - "core:window:default" - ] - }, - { - "description": "core:window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-available-monitors" - ] - }, - { - "description": "core:window:allow-center -> Enables the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-center" - ] - }, - { - "description": "core:window:allow-close -> Enables the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-close" - ] - }, - { - "description": "core:window:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-create" - ] - }, - { - "description": "core:window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-current-monitor" - ] - }, - { - "description": "core:window:allow-cursor-position -> Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-cursor-position" - ] - }, - { - "description": "core:window:allow-destroy -> Enables the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-destroy" - ] - }, - { - "description": "core:window:allow-get-all-windows -> Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-get-all-windows" - ] - }, - { - "description": "core:window:allow-hide -> Enables the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-hide" - ] - }, - { - "description": "core:window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-inner-position" - ] - }, - { - "description": "core:window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-inner-size" - ] - }, - { - "description": "core:window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-internal-toggle-maximize" - ] - }, - { - "description": "core:window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-closable" - ] - }, - { - "description": "core:window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-decorated" - ] - }, - { - "description": "core:window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-focused" - ] - }, - { - "description": "core:window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-fullscreen" - ] - }, - { - "description": "core:window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-maximizable" - ] - }, - { - "description": "core:window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-maximized" - ] - }, - { - "description": "core:window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-minimizable" - ] - }, - { - "description": "core:window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-minimized" - ] - }, - { - "description": "core:window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-resizable" - ] - }, - { - "description": "core:window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-is-visible" - ] - }, - { - "description": "core:window:allow-maximize -> Enables the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-maximize" - ] - }, - { - "description": "core:window:allow-minimize -> Enables the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-minimize" - ] - }, - { - "description": "core:window:allow-monitor-from-point -> Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-monitor-from-point" - ] - }, - { - "description": "core:window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-outer-position" - ] - }, - { - "description": "core:window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-outer-size" - ] - }, - { - "description": "core:window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-primary-monitor" - ] - }, - { - "description": "core:window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-request-user-attention" - ] - }, - { - "description": "core:window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-scale-factor" - ] - }, - { - "description": "core:window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-always-on-bottom" - ] - }, - { - "description": "core:window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-always-on-top" - ] - }, - { - "description": "core:window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-closable" - ] - }, - { - "description": "core:window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-content-protected" - ] - }, - { - "description": "core:window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-cursor-grab" - ] - }, - { - "description": "core:window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-cursor-icon" - ] - }, - { - "description": "core:window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-cursor-position" - ] - }, - { - "description": "core:window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-cursor-visible" - ] - }, - { - "description": "core:window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-decorations" - ] - }, - { - "description": "core:window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-effects" - ] - }, - { - "description": "core:window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-focus" - ] - }, - { - "description": "core:window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-fullscreen" - ] - }, - { - "description": "core:window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-icon" - ] - }, - { - "description": "core:window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-ignore-cursor-events" - ] - }, - { - "description": "core:window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-max-size" - ] - }, - { - "description": "core:window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-maximizable" - ] - }, - { - "description": "core:window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-min-size" - ] - }, - { - "description": "core:window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-minimizable" - ] - }, - { - "description": "core:window:allow-set-position -> Enables the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-position" - ] - }, - { - "description": "core:window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-progress-bar" - ] - }, - { - "description": "core:window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-resizable" - ] - }, - { - "description": "core:window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-shadow" - ] - }, - { - "description": "core:window:allow-set-size -> Enables the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-size" - ] - }, - { - "description": "core:window:allow-set-size-constraints -> Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-size-constraints" - ] - }, - { - "description": "core:window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-skip-taskbar" - ] - }, - { - "description": "core:window:allow-set-title -> Enables the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-title" - ] - }, - { - "description": "core:window:allow-set-title-bar-style -> Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-title-bar-style" - ] - }, - { - "description": "core:window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-set-visible-on-all-workspaces" - ] - }, - { - "description": "core:window:allow-show -> Enables the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-show" - ] - }, - { - "description": "core:window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-start-dragging" - ] - }, - { - "description": "core:window:allow-start-resize-dragging -> Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-start-resize-dragging" - ] - }, - { - "description": "core:window:allow-theme -> Enables the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-theme" - ] - }, - { - "description": "core:window:allow-title -> Enables the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-title" - ] - }, - { - "description": "core:window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-toggle-maximize" - ] - }, - { - "description": "core:window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-unmaximize" - ] - }, - { - "description": "core:window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:allow-unminimize" - ] - }, - { - "description": "core:window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-available-monitors" - ] - }, - { - "description": "core:window:deny-center -> Denies the center command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-center" - ] - }, - { - "description": "core:window:deny-close -> Denies the close command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-close" - ] - }, - { - "description": "core:window:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-create" - ] - }, - { - "description": "core:window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-current-monitor" - ] - }, - { - "description": "core:window:deny-cursor-position -> Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-cursor-position" - ] - }, - { - "description": "core:window:deny-destroy -> Denies the destroy command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-destroy" - ] - }, - { - "description": "core:window:deny-get-all-windows -> Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-get-all-windows" - ] - }, - { - "description": "core:window:deny-hide -> Denies the hide command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-hide" - ] - }, - { - "description": "core:window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-inner-position" - ] - }, - { - "description": "core:window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-inner-size" - ] - }, - { - "description": "core:window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-internal-toggle-maximize" - ] - }, - { - "description": "core:window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-closable" - ] - }, - { - "description": "core:window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-decorated" - ] - }, - { - "description": "core:window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-focused" - ] - }, - { - "description": "core:window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-fullscreen" - ] - }, - { - "description": "core:window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-maximizable" - ] - }, - { - "description": "core:window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-maximized" - ] - }, - { - "description": "core:window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-minimizable" - ] - }, - { - "description": "core:window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-minimized" - ] - }, - { - "description": "core:window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-resizable" - ] - }, - { - "description": "core:window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-is-visible" - ] - }, - { - "description": "core:window:deny-maximize -> Denies the maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-maximize" - ] - }, - { - "description": "core:window:deny-minimize -> Denies the minimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-minimize" - ] - }, - { - "description": "core:window:deny-monitor-from-point -> Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-monitor-from-point" - ] - }, - { - "description": "core:window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-outer-position" - ] - }, - { - "description": "core:window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-outer-size" - ] - }, - { - "description": "core:window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-primary-monitor" - ] - }, - { - "description": "core:window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-request-user-attention" - ] - }, - { - "description": "core:window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-scale-factor" - ] - }, - { - "description": "core:window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-always-on-bottom" - ] - }, - { - "description": "core:window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-always-on-top" - ] - }, - { - "description": "core:window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-closable" - ] - }, - { - "description": "core:window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-content-protected" - ] - }, - { - "description": "core:window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-cursor-grab" - ] - }, - { - "description": "core:window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-cursor-icon" - ] - }, - { - "description": "core:window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-cursor-position" - ] - }, - { - "description": "core:window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-cursor-visible" - ] - }, - { - "description": "core:window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-decorations" - ] - }, - { - "description": "core:window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-effects" - ] - }, - { - "description": "core:window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-focus" - ] - }, - { - "description": "core:window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-fullscreen" - ] - }, - { - "description": "core:window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-icon" - ] - }, - { - "description": "core:window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-ignore-cursor-events" - ] - }, - { - "description": "core:window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-max-size" - ] - }, - { - "description": "core:window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-maximizable" - ] - }, - { - "description": "core:window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-min-size" - ] - }, - { - "description": "core:window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-minimizable" - ] - }, - { - "description": "core:window:deny-set-position -> Denies the set_position command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-position" - ] - }, - { - "description": "core:window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-progress-bar" - ] - }, - { - "description": "core:window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-resizable" - ] - }, - { - "description": "core:window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-shadow" - ] - }, - { - "description": "core:window:deny-set-size -> Denies the set_size command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-size" - ] - }, - { - "description": "core:window:deny-set-size-constraints -> Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-size-constraints" - ] - }, - { - "description": "core:window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-skip-taskbar" - ] - }, - { - "description": "core:window:deny-set-title -> Denies the set_title command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-title" - ] - }, - { - "description": "core:window:deny-set-title-bar-style -> Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-title-bar-style" - ] - }, - { - "description": "core:window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-set-visible-on-all-workspaces" - ] - }, - { - "description": "core:window:deny-show -> Denies the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-show" - ] - }, - { - "description": "core:window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-start-dragging" - ] - }, - { - "description": "core:window:deny-start-resize-dragging -> Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-start-resize-dragging" - ] - }, - { - "description": "core:window:deny-theme -> Denies the theme command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-theme" - ] - }, - { - "description": "core:window:deny-title -> Denies the title command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-title" - ] - }, - { - "description": "core:window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-toggle-maximize" - ] - }, - { - "description": "core:window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-unmaximize" - ] - }, - { - "description": "core:window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.", - "type": "string", - "enum": [ - "core:window:deny-unminimize" - ] - }, - { - "description": "dialog:default -> This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n", - "type": "string", - "enum": [ - "dialog:default" - ] - }, - { - "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": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the application folders, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-app-meta" - ] - }, - { - "description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the application folders, 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 application folders.", - "type": "string", - "enum": [ - "fs:allow-app-read" - ] - }, - { - "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete application folders, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-app-read-recursive" - ] - }, - { - "description": "fs:allow-app-write -> This allows non-recursive write access to the application folders.", - "type": "string", - "enum": [ - "fs:allow-app-write" - ] - }, - { - "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete application folders, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-app-write-recursive" - ] - }, - { - "description": "fs:allow-appcache-meta -> This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appcache-meta" - ] - }, - { - "description": "fs:allow-appcache-meta-recursive -> This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appcache-meta-recursive" - ] - }, - { - "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "fs:allow-appcache-read" - ] - }, - { - "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appcache-read-recursive" - ] - }, - { - "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "fs:allow-appcache-write" - ] - }, - { - "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appcache-write-recursive" - ] - }, - { - "description": "fs:allow-appconfig-meta -> This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appconfig-meta" - ] - }, - { - "description": "fs:allow-appconfig-meta-recursive -> This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appconfig-meta-recursive" - ] - }, - { - "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "fs:allow-appconfig-read" - ] - }, - { - "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appconfig-read-recursive" - ] - }, - { - "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "fs:allow-appconfig-write" - ] - }, - { - "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appconfig-write-recursive" - ] - }, - { - "description": "fs:allow-appdata-meta -> This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appdata-meta" - ] - }, - { - "description": "fs:allow-appdata-meta-recursive -> This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-appdata-meta-recursive" - ] - }, - { - "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-appdata-read" - ] - }, - { - "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appdata-read-recursive" - ] - }, - { - "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-appdata-write" - ] - }, - { - "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-appdata-write-recursive" - ] - }, - { - "description": "fs:allow-applocaldata-meta -> This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-meta" - ] - }, - { - "description": "fs:allow-applocaldata-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-meta-recursive" - ] - }, - { - "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-read" - ] - }, - { - "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-read-recursive" - ] - }, - { - "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-write" - ] - }, - { - "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-applocaldata-write-recursive" - ] - }, - { - "description": "fs:allow-applog-meta -> This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-applog-meta" - ] - }, - { - "description": "fs:allow-applog-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-applog-meta-recursive" - ] - }, - { - "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.", - "type": "string", - "enum": [ - "fs:allow-applog-read" - ] - }, - { - "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-applog-read-recursive" - ] - }, - { - "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.", - "type": "string", - "enum": [ - "fs:allow-applog-write" - ] - }, - { - "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-applog-write-recursive" - ] - }, - { - "description": "fs:allow-audio-meta -> This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-audio-meta" - ] - }, - { - "description": "fs:allow-audio-meta-recursive -> This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-audio-meta-recursive" - ] - }, - { - "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.", - "type": "string", - "enum": [ - "fs:allow-audio-read" - ] - }, - { - "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-audio-read-recursive" - ] - }, - { - "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.", - "type": "string", - "enum": [ - "fs:allow-audio-write" - ] - }, - { - "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-audio-write-recursive" - ] - }, - { - "description": "fs:allow-cache-meta -> This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-cache-meta" - ] - }, - { - "description": "fs:allow-cache-meta-recursive -> This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-cache-meta-recursive" - ] - }, - { - "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.", - "type": "string", - "enum": [ - "fs:allow-cache-read" - ] - }, - { - "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-cache-read-recursive" - ] - }, - { - "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.", - "type": "string", - "enum": [ - "fs:allow-cache-write" - ] - }, - { - "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-cache-write-recursive" - ] - }, - { - "description": "fs:allow-config-meta -> This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-config-meta" - ] - }, - { - "description": "fs:allow-config-meta-recursive -> This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-config-meta-recursive" - ] - }, - { - "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.", - "type": "string", - "enum": [ - "fs:allow-config-read" - ] - }, - { - "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-config-read-recursive" - ] - }, - { - "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.", - "type": "string", - "enum": [ - "fs:allow-config-write" - ] - }, - { - "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-config-write-recursive" - ] - }, - { - "description": "fs:allow-data-meta -> This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-data-meta" - ] - }, - { - "description": "fs:allow-data-meta-recursive -> This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-data-meta-recursive" - ] - }, - { - "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.", - "type": "string", - "enum": [ - "fs:allow-data-read" - ] - }, - { - "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-data-read-recursive" - ] - }, - { - "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.", - "type": "string", - "enum": [ - "fs:allow-data-write" - ] - }, - { - "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-data-write-recursive" - ] - }, - { - "description": "fs:allow-desktop-meta -> This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-desktop-meta" - ] - }, - { - "description": "fs:allow-desktop-meta-recursive -> This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-desktop-meta-recursive" - ] - }, - { - "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "fs:allow-desktop-read" - ] - }, - { - "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-desktop-read-recursive" - ] - }, - { - "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "fs:allow-desktop-write" - ] - }, - { - "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-desktop-write-recursive" - ] - }, - { - "description": "fs:allow-document-meta -> This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-document-meta" - ] - }, - { - "description": "fs:allow-document-meta-recursive -> This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-document-meta-recursive" - ] - }, - { - "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "fs:allow-document-read" - ] - }, - { - "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-document-read-recursive" - ] - }, - { - "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "fs:allow-document-write" - ] - }, - { - "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-document-write-recursive" - ] - }, - { - "description": "fs:allow-download-meta -> This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-download-meta" - ] - }, - { - "description": "fs:allow-download-meta-recursive -> This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-download-meta-recursive" - ] - }, - { - "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "fs:allow-download-read" - ] - }, - { - "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-download-read-recursive" - ] - }, - { - "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "fs:allow-download-write" - ] - }, - { - "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-download-write-recursive" - ] - }, - { - "description": "fs:allow-exe-meta -> This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-exe-meta" - ] - }, - { - "description": "fs:allow-exe-meta-recursive -> This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-exe-meta-recursive" - ] - }, - { - "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.", - "type": "string", - "enum": [ - "fs:allow-exe-read" - ] - }, - { - "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-exe-read-recursive" - ] - }, - { - "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.", - "type": "string", - "enum": [ - "fs:allow-exe-write" - ] - }, - { - "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-exe-write-recursive" - ] - }, - { - "description": "fs:allow-font-meta -> This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-font-meta" - ] - }, - { - "description": "fs:allow-font-meta-recursive -> This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-font-meta-recursive" - ] - }, - { - "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.", - "type": "string", - "enum": [ - "fs:allow-font-read" - ] - }, - { - "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-font-read-recursive" - ] - }, - { - "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.", - "type": "string", - "enum": [ - "fs:allow-font-write" - ] - }, - { - "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-font-write-recursive" - ] - }, - { - "description": "fs:allow-home-meta -> This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-home-meta" - ] - }, - { - "description": "fs:allow-home-meta-recursive -> This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-home-meta-recursive" - ] - }, - { - "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.", - "type": "string", - "enum": [ - "fs:allow-home-read" - ] - }, - { - "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-home-read-recursive" - ] - }, - { - "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.", - "type": "string", - "enum": [ - "fs:allow-home-write" - ] - }, - { - "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-home-write-recursive" - ] - }, - { - "description": "fs:allow-localdata-meta -> This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-localdata-meta" - ] - }, - { - "description": "fs:allow-localdata-meta-recursive -> This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-localdata-meta-recursive" - ] - }, - { - "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-localdata-read" - ] - }, - { - "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-localdata-read-recursive" - ] - }, - { - "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:allow-localdata-write" - ] - }, - { - "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-localdata-write-recursive" - ] - }, - { - "description": "fs:allow-log-meta -> This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-log-meta" - ] - }, - { - "description": "fs:allow-log-meta-recursive -> This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-log-meta-recursive" - ] - }, - { - "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.", - "type": "string", - "enum": [ - "fs:allow-log-read" - ] - }, - { - "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-log-read-recursive" - ] - }, - { - "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.", - "type": "string", - "enum": [ - "fs:allow-log-write" - ] - }, - { - "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-log-write-recursive" - ] - }, - { - "description": "fs:allow-picture-meta -> This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-picture-meta" - ] - }, - { - "description": "fs:allow-picture-meta-recursive -> This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-picture-meta-recursive" - ] - }, - { - "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.", - "type": "string", - "enum": [ - "fs:allow-picture-read" - ] - }, - { - "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-picture-read-recursive" - ] - }, - { - "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.", - "type": "string", - "enum": [ - "fs:allow-picture-write" - ] - }, - { - "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-picture-write-recursive" - ] - }, - { - "description": "fs:allow-public-meta -> This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-public-meta" - ] - }, - { - "description": "fs:allow-public-meta-recursive -> This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-public-meta-recursive" - ] - }, - { - "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "fs:allow-public-read" - ] - }, - { - "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-public-read-recursive" - ] - }, - { - "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "fs:allow-public-write" - ] - }, - { - "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-public-write-recursive" - ] - }, - { - "description": "fs:allow-resource-meta -> This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-resource-meta" - ] - }, - { - "description": "fs:allow-resource-meta-recursive -> This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-resource-meta-recursive" - ] - }, - { - "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "fs:allow-resource-read" - ] - }, - { - "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-resource-read-recursive" - ] - }, - { - "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "fs:allow-resource-write" - ] - }, - { - "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-resource-write-recursive" - ] - }, - { - "description": "fs:allow-runtime-meta -> This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-runtime-meta" - ] - }, - { - "description": "fs:allow-runtime-meta-recursive -> This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-runtime-meta-recursive" - ] - }, - { - "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "fs:allow-runtime-read" - ] - }, - { - "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-runtime-read-recursive" - ] - }, - { - "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "fs:allow-runtime-write" - ] - }, - { - "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-runtime-write-recursive" - ] - }, - { - "description": "fs:allow-temp-meta -> This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-temp-meta" - ] - }, - { - "description": "fs:allow-temp-meta-recursive -> This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-temp-meta-recursive" - ] - }, - { - "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.", - "type": "string", - "enum": [ - "fs:allow-temp-read" - ] - }, - { - "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-temp-read-recursive" - ] - }, - { - "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.", - "type": "string", - "enum": [ - "fs:allow-temp-write" - ] - }, - { - "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-temp-write-recursive" - ] - }, - { - "description": "fs:allow-template-meta -> This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-template-meta" - ] - }, - { - "description": "fs:allow-template-meta-recursive -> This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-template-meta-recursive" - ] - }, - { - "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "fs:allow-template-read" - ] - }, - { - "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-template-read-recursive" - ] - }, - { - "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "fs:allow-template-write" - ] - }, - { - "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-template-write-recursive" - ] - }, - { - "description": "fs:allow-video-meta -> This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-video-meta" - ] - }, - { - "description": "fs:allow-video-meta-recursive -> This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.", - "type": "string", - "enum": [ - "fs:allow-video-meta-recursive" - ] - }, - { - "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.", - "type": "string", - "enum": [ - "fs:allow-video-read" - ] - }, - { - "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-video-read-recursive" - ] - }, - { - "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.", - "type": "string", - "enum": [ - "fs:allow-video-write" - ] - }, - { - "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.", - "type": "string", - "enum": [ - "fs:allow-video-write-recursive" - ] - }, - { - "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.", - "type": "string", - "enum": [ - "fs:deny-default" - ] - }, - { - "description": "fs:default -> This set of permissions describes the what kind of\nfile system access the `fs` plugin has enabled or denied by default.\n\n#### Granted Permissions\n\nThis default permission set enables read access to the\napplication specific directories (AppConfig, AppData, AppLocalData, AppCache,\nAppLog) and all files and sub directories created in it.\nThe location of these directories depends on the operating system,\nwhere the application is run.\n\nIn general these directories need to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\nTherefore, it is also allowed to create all of these folders via\nthe `mkdir` command.\n\n#### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n", - "type": "string", - "enum": [ - "fs:default" - ] - }, - { - "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-copy-file" - ] - }, - { - "description": "fs:allow-create -> Enables the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-create" - ] - }, - { - "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-exists" - ] - }, - { - "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-fstat" - ] - }, - { - "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-ftruncate" - ] - }, - { - "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-lstat" - ] - }, - { - "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-mkdir" - ] - }, - { - "description": "fs:allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-open" - ] - }, - { - "description": "fs:allow-read -> Enables the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read" - ] - }, - { - "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-dir" - ] - }, - { - "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-file" - ] - }, - { - "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-text-file" - ] - }, - { - "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-text-file-lines" - ] - }, - { - "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-read-text-file-lines-next" - ] - }, - { - "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-remove" - ] - }, - { - "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-rename" - ] - }, - { - "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-seek" - ] - }, - { - "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-stat" - ] - }, - { - "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-truncate" - ] - }, - { - "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-unwatch" - ] - }, - { - "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-watch" - ] - }, - { - "description": "fs:allow-write -> Enables the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-write" - ] - }, - { - "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-write-file" - ] - }, - { - "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:allow-write-text-file" - ] - }, - { - "description": "fs:create-app-specific-dirs -> This permissions allows to create the application specific directories.\n", - "type": "string", - "enum": [ - "fs:create-app-specific-dirs" - ] - }, - { - "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-copy-file" - ] - }, - { - "description": "fs:deny-create -> Denies the create command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-create" - ] - }, - { - "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-exists" - ] - }, - { - "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-fstat" - ] - }, - { - "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-ftruncate" - ] - }, - { - "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-lstat" - ] - }, - { - "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-mkdir" - ] - }, - { - "description": "fs:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-open" - ] - }, - { - "description": "fs:deny-read -> Denies the read command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read" - ] - }, - { - "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-dir" - ] - }, - { - "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-file" - ] - }, - { - "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-text-file" - ] - }, - { - "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-text-file-lines" - ] - }, - { - "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-read-text-file-lines-next" - ] - }, - { - "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-remove" - ] - }, - { - "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-rename" - ] - }, - { - "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-seek" - ] - }, - { - "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-stat" - ] - }, - { - "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-truncate" - ] - }, - { - "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-unwatch" - ] - }, - { - "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-watch" - ] - }, - { - "description": "fs:deny-webview-data-linux -> This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "enum": [ - "fs:deny-webview-data-linux" - ] - }, - { - "description": "fs:deny-webview-data-windows -> This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.", - "type": "string", - "enum": [ - "fs:deny-webview-data-windows" - ] - }, - { - "description": "fs:deny-write -> Denies the write command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-write" - ] - }, - { - "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-write-file" - ] - }, - { - "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.", - "type": "string", - "enum": [ - "fs:deny-write-text-file" - ] - }, - { - "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-all" - ] - }, - { - "description": "fs:read-app-specific-dirs-recursive -> This permission allows recursive read functionality on the application\nspecific base directories. \n", - "type": "string", - "enum": [ - "fs:read-app-specific-dirs-recursive" - ] - }, - { - "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-dirs" - ] - }, - { - "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-files" - ] - }, - { - "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:read-meta" - ] - }, - { - "description": "fs:scope -> An empty permission you can use to modify the global scope.", - "type": "string", - "enum": [ - "fs:scope" - ] - }, - { - "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the application folders.", - "type": "string", - "enum": [ - "fs:scope-app" - ] - }, - { - "description": "fs:scope-app-index -> This scope permits to list all files and folders in the application directories.", - "type": "string", - "enum": [ - "fs:scope-app-index" - ] - }, - { - "description": "fs:scope-app-recursive -> This scope permits recursive access to the complete application folders, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-app-recursive" - ] - }, - { - "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE` folder.", - "type": "string", - "enum": [ - "fs:scope-appcache" - ] - }, - { - "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.", - "type": "string", - "enum": [ - "fs:scope-appcache-index" - ] - }, - { - "description": "fs:scope-appcache-recursive -> This scope permits recursive access to the complete `$APPCACHE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-appcache-recursive" - ] - }, - { - "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG` folder.", - "type": "string", - "enum": [ - "fs:scope-appconfig" - ] - }, - { - "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.", - "type": "string", - "enum": [ - "fs:scope-appconfig-index" - ] - }, - { - "description": "fs:scope-appconfig-recursive -> This scope permits recursive access to the complete `$APPCONFIG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-appconfig-recursive" - ] - }, - { - "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA` folder.", - "type": "string", - "enum": [ - "fs:scope-appdata" - ] - }, - { - "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.", - "type": "string", - "enum": [ - "fs:scope-appdata-index" - ] - }, - { - "description": "fs:scope-appdata-recursive -> This scope permits recursive access to the complete `$APPDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-appdata-recursive" - ] - }, - { - "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:scope-applocaldata" - ] - }, - { - "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.", - "type": "string", - "enum": [ - "fs:scope-applocaldata-index" - ] - }, - { - "description": "fs:scope-applocaldata-recursive -> This scope permits recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-applocaldata-recursive" - ] - }, - { - "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG` folder.", - "type": "string", - "enum": [ - "fs:scope-applog" - ] - }, - { - "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.", - "type": "string", - "enum": [ - "fs:scope-applog-index" - ] - }, - { - "description": "fs:scope-applog-recursive -> This scope permits recursive access to the complete `$APPLOG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-applog-recursive" - ] - }, - { - "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO` folder.", - "type": "string", - "enum": [ - "fs:scope-audio" - ] - }, - { - "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.", - "type": "string", - "enum": [ - "fs:scope-audio-index" - ] - }, - { - "description": "fs:scope-audio-recursive -> This scope permits recursive access to the complete `$AUDIO` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-audio-recursive" - ] - }, - { - "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE` folder.", - "type": "string", - "enum": [ - "fs:scope-cache" - ] - }, - { - "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.", - "type": "string", - "enum": [ - "fs:scope-cache-index" - ] - }, - { - "description": "fs:scope-cache-recursive -> This scope permits recursive access to the complete `$CACHE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-cache-recursive" - ] - }, - { - "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG` folder.", - "type": "string", - "enum": [ - "fs:scope-config" - ] - }, - { - "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.", - "type": "string", - "enum": [ - "fs:scope-config-index" - ] - }, - { - "description": "fs:scope-config-recursive -> This scope permits recursive access to the complete `$CONFIG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-config-recursive" - ] - }, - { - "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA` folder.", - "type": "string", - "enum": [ - "fs:scope-data" - ] - }, - { - "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.", - "type": "string", - "enum": [ - "fs:scope-data-index" - ] - }, - { - "description": "fs:scope-data-recursive -> This scope permits recursive access to the complete `$DATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-data-recursive" - ] - }, - { - "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP` folder.", - "type": "string", - "enum": [ - "fs:scope-desktop" - ] - }, - { - "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.", - "type": "string", - "enum": [ - "fs:scope-desktop-index" - ] - }, - { - "description": "fs:scope-desktop-recursive -> This scope permits recursive access to the complete `$DESKTOP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-desktop-recursive" - ] - }, - { - "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT` folder.", - "type": "string", - "enum": [ - "fs:scope-document" - ] - }, - { - "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.", - "type": "string", - "enum": [ - "fs:scope-document-index" - ] - }, - { - "description": "fs:scope-document-recursive -> This scope permits recursive access to the complete `$DOCUMENT` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-document-recursive" - ] - }, - { - "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD` folder.", - "type": "string", - "enum": [ - "fs:scope-download" - ] - }, - { - "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.", - "type": "string", - "enum": [ - "fs:scope-download-index" - ] - }, - { - "description": "fs:scope-download-recursive -> This scope permits recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-download-recursive" - ] - }, - { - "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE` folder.", - "type": "string", - "enum": [ - "fs:scope-exe" - ] - }, - { - "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.", - "type": "string", - "enum": [ - "fs:scope-exe-index" - ] - }, - { - "description": "fs:scope-exe-recursive -> This scope permits recursive access to the complete `$EXE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-exe-recursive" - ] - }, - { - "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT` folder.", - "type": "string", - "enum": [ - "fs:scope-font" - ] - }, - { - "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.", - "type": "string", - "enum": [ - "fs:scope-font-index" - ] - }, - { - "description": "fs:scope-font-recursive -> This scope permits recursive access to the complete `$FONT` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-font-recursive" - ] - }, - { - "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME` folder.", - "type": "string", - "enum": [ - "fs:scope-home" - ] - }, - { - "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.", - "type": "string", - "enum": [ - "fs:scope-home-index" - ] - }, - { - "description": "fs:scope-home-recursive -> This scope permits recursive access to the complete `$HOME` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-home-recursive" - ] - }, - { - "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA` folder.", - "type": "string", - "enum": [ - "fs:scope-localdata" - ] - }, - { - "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.", - "type": "string", - "enum": [ - "fs:scope-localdata-index" - ] - }, - { - "description": "fs:scope-localdata-recursive -> This scope permits recursive access to the complete `$LOCALDATA` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-localdata-recursive" - ] - }, - { - "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG` folder.", - "type": "string", - "enum": [ - "fs:scope-log" - ] - }, - { - "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.", - "type": "string", - "enum": [ - "fs:scope-log-index" - ] - }, - { - "description": "fs:scope-log-recursive -> This scope permits recursive access to the complete `$LOG` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-log-recursive" - ] - }, - { - "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE` folder.", - "type": "string", - "enum": [ - "fs:scope-picture" - ] - }, - { - "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.", - "type": "string", - "enum": [ - "fs:scope-picture-index" - ] - }, - { - "description": "fs:scope-picture-recursive -> This scope permits recursive access to the complete `$PICTURE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-picture-recursive" - ] - }, - { - "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC` folder.", - "type": "string", - "enum": [ - "fs:scope-public" - ] - }, - { - "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.", - "type": "string", - "enum": [ - "fs:scope-public-index" - ] - }, - { - "description": "fs:scope-public-recursive -> This scope permits recursive access to the complete `$PUBLIC` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-public-recursive" - ] - }, - { - "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE` folder.", - "type": "string", - "enum": [ - "fs:scope-resource" - ] - }, - { - "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.", - "type": "string", - "enum": [ - "fs:scope-resource-index" - ] - }, - { - "description": "fs:scope-resource-recursive -> This scope permits recursive access to the complete `$RESOURCE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-resource-recursive" - ] - }, - { - "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME` folder.", - "type": "string", - "enum": [ - "fs:scope-runtime" - ] - }, - { - "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.", - "type": "string", - "enum": [ - "fs:scope-runtime-index" - ] - }, - { - "description": "fs:scope-runtime-recursive -> This scope permits recursive access to the complete `$RUNTIME` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-runtime-recursive" - ] - }, - { - "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP` folder.", - "type": "string", - "enum": [ - "fs:scope-temp" - ] - }, - { - "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.", - "type": "string", - "enum": [ - "fs:scope-temp-index" - ] - }, - { - "description": "fs:scope-temp-recursive -> This scope permits recursive access to the complete `$TEMP` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-temp-recursive" - ] - }, - { - "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE` folder.", - "type": "string", - "enum": [ - "fs:scope-template" - ] - }, - { - "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.", - "type": "string", - "enum": [ - "fs:scope-template-index" - ] - }, - { - "description": "fs:scope-template-recursive -> This scope permits recursive access to the complete `$TEMPLATE` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-template-recursive" - ] - }, - { - "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO` folder.", - "type": "string", - "enum": [ - "fs:scope-video" - ] - }, - { - "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.", - "type": "string", - "enum": [ - "fs:scope-video-index" - ] - }, - { - "description": "fs:scope-video-recursive -> This scope permits recursive access to the complete `$VIDEO` folder, including sub directories and files.", - "type": "string", - "enum": [ - "fs:scope-video-recursive" - ] - }, - { - "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:write-all" - ] - }, - { - "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.", - "type": "string", - "enum": [ - "fs:write-files" - ] - }, - { - "description": "http:default -> This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n", - "type": "string", - "enum": [ - "http:default" - ] - }, - { - "description": "http:allow-fetch -> Enables the fetch command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:allow-fetch" - ] - }, - { - "description": "http:allow-fetch-cancel -> Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:allow-fetch-cancel" - ] - }, - { - "description": "http:allow-fetch-read-body -> Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:allow-fetch-read-body" - ] - }, - { - "description": "http:allow-fetch-send -> Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "enum": [ - "http:allow-fetch-send" - ] - }, - { - "description": "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": "nfc:default -> This permission set configures what kind of\noperations are available from the nfc plugin.\n\n#### Granted Permissions\n\nChecking if the NFC functionality is available\nand scanning nearby tags is allowed.\nWriting to tags needs to be manually enabled.\n\n", - "type": "string", - "enum": [ - "nfc:default" - ] - }, - { - "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 -> This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n", - "type": "string", - "enum": [ - "notification:default" - ] - }, - { - "description": "notification:allow-batch -> Enables the batch command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-batch" - ] - }, - { - "description": "notification:allow-cancel -> Enables the cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-cancel" - ] - }, - { - "description": "notification:allow-check-permissions -> Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-check-permissions" - ] - }, - { - "description": "notification:allow-create-channel -> Enables the create_channel command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-create-channel" - ] - }, - { - "description": "notification:allow-delete-channel -> Enables the delete_channel command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-delete-channel" - ] - }, - { - "description": "notification:allow-get-active -> Enables the get_active command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-get-active" - ] - }, - { - "description": "notification:allow-get-pending -> Enables the get_pending command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-get-pending" - ] - }, - { - "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-list-channels -> Enables the list_channels command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-list-channels" - ] - }, - { - "description": "notification:allow-notify -> Enables the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-notify" - ] - }, - { - "description": "notification:allow-permission-state -> Enables the permission_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-permission-state" - ] - }, - { - "description": "notification:allow-register-action-types -> Enables the register_action_types command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-register-action-types" - ] - }, - { - "description": "notification:allow-register-listener -> Enables the register_listener command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-register-listener" - ] - }, - { - "description": "notification:allow-remove-active -> Enables the remove_active command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-remove-active" - ] - }, - { - "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-show -> Enables the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:allow-show" - ] - }, - { - "description": "notification:deny-batch -> Denies the batch command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-batch" - ] - }, - { - "description": "notification:deny-cancel -> Denies the cancel command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-cancel" - ] - }, - { - "description": "notification:deny-check-permissions -> Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-check-permissions" - ] - }, - { - "description": "notification:deny-create-channel -> Denies the create_channel command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-create-channel" - ] - }, - { - "description": "notification:deny-delete-channel -> Denies the delete_channel command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-delete-channel" - ] - }, - { - "description": "notification:deny-get-active -> Denies the get_active command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-get-active" - ] - }, - { - "description": "notification:deny-get-pending -> Denies the get_pending command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-get-pending" - ] - }, - { - "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-list-channels -> Denies the list_channels command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-list-channels" - ] - }, - { - "description": "notification:deny-notify -> Denies the notify command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-notify" - ] - }, - { - "description": "notification:deny-permission-state -> Denies the permission_state command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-permission-state" - ] - }, - { - "description": "notification:deny-register-action-types -> Denies the register_action_types command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-register-action-types" - ] - }, - { - "description": "notification:deny-register-listener -> Denies the register_listener command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-register-listener" - ] - }, - { - "description": "notification:deny-remove-active -> Denies the remove_active command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-remove-active" - ] - }, - { - "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-show -> Denies the show command without any pre-configured scope.", - "type": "string", - "enum": [ - "notification:deny-show" - ] - }, - { - "description": "os:default -> This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n", - "type": "string", - "enum": [ - "os:default" - ] - }, - { - "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": "process:default -> This permission set configures which\nprocess feeatures are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n", - "type": "string", - "enum": [ - "process:default" - ] - }, - { - "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": "shell:default -> This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "enum": [ - "shell:default" - ] - }, - { - "description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-execute" - ] - }, - { - "description": "shell:allow-kill -> Enables the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-kill" - ] - }, - { - "description": "shell:allow-open -> Enables the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-open" - ] - }, - { - "description": "shell:allow-spawn -> Enables the spawn command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-spawn" - ] - }, - { - "description": "shell:allow-stdin-write -> Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:allow-stdin-write" - ] - }, - { - "description": "shell:deny-execute -> Denies the execute command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-execute" - ] - }, - { - "description": "shell:deny-kill -> Denies the kill command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-kill" - ] - }, - { - "description": "shell:deny-open -> Denies the open command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-open" - ] - }, - { - "description": "shell:deny-spawn -> Denies the spawn command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-spawn" - ] - }, - { - "description": "shell:deny-stdin-write -> Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "enum": [ - "shell:deny-stdin-write" - ] - }, - { - "description": "store:default -> This permission set configures what kind of\noperations are available from the store plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n", - "type": "string", - "enum": [ - "store:default" - ] - }, - { - "description": "store:allow-clear -> Enables the clear command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-clear" - ] - }, - { - "description": "store:allow-delete -> Enables the delete command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-delete" - ] - }, - { - "description": "store:allow-entries -> Enables the entries command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-entries" - ] - }, - { - "description": "store:allow-get -> Enables the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-get" - ] - }, - { - "description": "store:allow-has -> Enables the has command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-has" - ] - }, - { - "description": "store:allow-keys -> Enables the keys command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-keys" - ] - }, - { - "description": "store:allow-length -> Enables the length command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-length" - ] - }, - { - "description": "store:allow-load -> Enables the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-load" - ] - }, - { - "description": "store:allow-reset -> Enables the reset command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-reset" - ] - }, - { - "description": "store:allow-save -> Enables the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-save" - ] - }, - { - "description": "store:allow-set -> Enables the set command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-set" - ] - }, - { - "description": "store:allow-values -> Enables the values command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:allow-values" - ] - }, - { - "description": "store:deny-clear -> Denies the clear command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-clear" - ] - }, - { - "description": "store:deny-delete -> Denies the delete command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-delete" - ] - }, - { - "description": "store:deny-entries -> Denies the entries command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-entries" - ] - }, - { - "description": "store:deny-get -> Denies the get command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-get" - ] - }, - { - "description": "store:deny-has -> Denies the has command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-has" - ] - }, - { - "description": "store:deny-keys -> Denies the keys command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-keys" - ] - }, - { - "description": "store:deny-length -> Denies the length command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-length" - ] - }, - { - "description": "store:deny-load -> Denies the load command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-load" - ] - }, - { - "description": "store:deny-reset -> Denies the reset command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-reset" - ] - }, - { - "description": "store:deny-save -> Denies the save command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-save" - ] - }, - { - "description": "store:deny-set -> Denies the set command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-set" - ] - }, - { - "description": "store:deny-values -> Denies the values command without any pre-configured scope.", - "type": "string", - "enum": [ - "store:deny-values" - ] - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "ShellAllowedArg": { - "description": "A command argument allowed to be executed by the webview API.", - "anyOf": [ - { - "description": "A non-configurable argument that is passed to the command in the order it was specified.", - "type": "string" - }, - { - "description": "A variable that is set while calling the command from the webview API.", - "type": "object", - "required": [ - "validator" - ], - "properties": { - "raw": { - "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", - "default": false, - "type": "boolean" - }, - "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\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", - "type": "string" - } - }, - "additionalProperties": false - } - ] - }, - "ShellAllowedArgs": { - "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", - "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.", - "type": "array", - "items": { - "$ref": "#/definitions/ShellAllowedArg" - } - } - ] - } - } -} \ 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 077e56ea7..f3cacc434 100644 --- a/examples/api/src-tauri/src/lib.rs +++ b/examples/api/src-tauri/src/lib.rs @@ -55,6 +55,8 @@ pub fn run() { app.handle().plugin(tauri_plugin_barcode_scanner::init())?; app.handle().plugin(tauri_plugin_nfc::init())?; app.handle().plugin(tauri_plugin_biometric::init())?; + app.handle().plugin(tauri_plugin_geolocation::init())?; + app.handle().plugin(tauri_plugin_haptics::init())?; } let mut webview_window_builder = diff --git a/examples/api/src/App.svelte b/examples/api/src/App.svelte index a4b6334d9..ea626fa2b 100644 --- a/examples/api/src/App.svelte +++ b/examples/api/src/App.svelte @@ -1,203 +1,208 @@ @@ -332,7 +335,7 @@ children:items-center children:justify-center" > @@ -350,7 +353,7 @@
@@ -393,7 +396,7 @@ bg-darkPrimaryLighter transition-colors-250 overflow-hidden grid select-none px-2" > open("https://tauri.app/")} + on:click={() => open('https://tauri.app/')} class="self-center p-7 cursor-pointer" src="tauri_logo.png" alt="Tauri logo" @@ -449,8 +452,8 @@ href="##" class="nv {selected === view ? 'nv_selected' : ''}" on:click={() => { - select(view); - isSideBarOpen = false; + select(view) + isSideBarOpen = false }} >
diff --git a/examples/api/src/views/Geolocation.svelte b/examples/api/src/views/Geolocation.svelte new file mode 100644 index 000000000..cd181dfbe --- /dev/null +++ b/examples/api/src/views/Geolocation.svelte @@ -0,0 +1,29 @@ + + + diff --git a/plugins/geolocation/README.md b/plugins/geolocation/README.md index d6f2baded..57de24dd8 100644 --- a/plugins/geolocation/README.md +++ b/plugins/geolocation/README.md @@ -87,16 +87,31 @@ fn main() { Afterwards all the plugin's APIs are available through the JavaScript guest bindings: ```javascript -import { getCurrentPosition, watchPosition } from '@tauri-apps/plugin-log' +import { + checkPermissions, + requestPermissions, + getCurrentPosition, + watchPosition +} from '@tauri-apps/plugin-log' + +let permissions = await checkPermissions() +if ( + permissions.location === 'prompt' || + permissions.location === 'prompt-with-rationale' +) { + permissions = await requestPermissions(['location']) +} -const pos = await getCurrentPosition() +if (permissions.location === 'granted') { + const pos = await getCurrentPosition() -await watchPosition( - { enableHighAccuracy: true, timeout: 10000, maximumAge: 0 }, - (pos) => { - console.log(pos) - } -) + await watchPosition( + { enableHighAccuracy: true, timeout: 10000, maximumAge: 0 }, + (pos) => { + console.log(pos) + } + ) +} ``` ## Contributing diff --git a/plugins/geolocation/android/src/main/java/GeolocationPlugin.kt b/plugins/geolocation/android/src/main/java/GeolocationPlugin.kt index f96433fff..cf81f5e3b 100644 --- a/plugins/geolocation/android/src/main/java/GeolocationPlugin.kt +++ b/plugins/geolocation/android/src/main/java/GeolocationPlugin.kt @@ -60,18 +60,8 @@ private const val ALIAS_COARSE_LOCATION: String = "coarseLocation" ] ) class GeolocationPlugin(private val activity: Activity): Plugin(activity) { - private lateinit var implementation: Geolocation// = Geolocation(activity.applicationContext) - private var watchers = hashMapOf() - - // If multiple permissions get requested in quick succession not all callbacks will be fired, - // So we'll store all requests ourselves instead of using the callback argument. - private var positionRequests = mutableListOf() - private var watchRequests = mutableListOf() - // If getCurrentPosition or watchPosition are called before a prior call is done requesting permission, - // the callback will be called with denied for the prior call(s) so we keep track of them to make sure - // to only run the logic on the last request. - // TODO: Find a better solution after switching to explicit requestPermissions call - likely needs changes in Tauri - private var ongoingPermissionRequests = 0; + private lateinit var implementation: Geolocation + private var watchers = hashMapOf>() override fun load(webView: WebView) { super.load(webView) @@ -86,8 +76,9 @@ class GeolocationPlugin(private val activity: Activity): Plugin(activity) { override fun onResume() { super.onResume() - for (watcher in watchers.values) { - startWatch(watcher) + // resume watchers + for ((watcher, args) in watchers.values) { + startWatch(watcher, args) } } @@ -112,83 +103,39 @@ class GeolocationPlugin(private val activity: Activity): Plugin(activity) { @Command fun getCurrentPosition(invoke: Invoke) { val args = invoke.parseArgs(PositionOptions::class.java) - val alias = getAlias(args.enableHighAccuracy) - if (getPermissionState(alias) != PermissionState.GRANTED) { - Logger.error("NOT GRANTED"); - this.positionRequests.add(invoke) - this.ongoingPermissionRequests += 1 - requestPermissionForAlias(alias, invoke, "positionPermissionCallback") + val location = implementation.getLastLocation(args.maximumAge) + if (location != null) { + invoke.resolve(convertLocation(location)) } else { - Logger.error("GRANTED"); - getPosition(invoke, args) + implementation.sendLocation(args.enableHighAccuracy, + { loc -> invoke.resolve(convertLocation(loc)) }, + { error -> invoke.reject(error) }) } } @PermissionCallback private fun positionPermissionCallback(invoke: Invoke) { - Logger.error("positionPermissionCallback - ongoingRequests: " + this.ongoingPermissionRequests.toString()) - - this.ongoingPermissionRequests -= 1 - - if (this.ongoingPermissionRequests > 0) { - return - } - - val pRequests = this.positionRequests.toTypedArray() - val wRequests = this.watchRequests.toTypedArray() - this.positionRequests.clear() - this.watchRequests.clear() - - // TODO: capacitor only checks for coarse here - val permissionGranted = getPermissionState(ALIAS_COARSE_LOCATION) == PermissionState.GRANTED; - Logger.error("positionPermissionCallback - permissionGranted: $permissionGranted"); - - for (inv in pRequests) { - if (permissionGranted) { - val args = inv.parseArgs(PositionOptions::class.java) - - implementation.sendLocation(args.enableHighAccuracy, - { location -> inv.resolve(convertLocation(location)) }, - { error -> inv.reject(error) }) - } else { - inv.reject("Location permission was denied.") - } - } - - for (inv in wRequests) { - if (permissionGranted) { - startWatch(invoke) - } else { - inv.reject("Location permission was denied.") - } - } + val permissionsResultJSON = JSObject() + permissionsResultJSON.put("location", getPermissionState(ALIAS_LOCATION)) + permissionsResultJSON.put("coarseLocation", getPermissionState(ALIAS_COARSE_LOCATION)) + invoke.resolve(permissionsResultJSON) } @Command fun watchPosition(invoke: Invoke) { val args = invoke.parseArgs(WatchArgs::class.java) - val alias = getAlias(args.options.enableHighAccuracy) - - if (getPermissionState(alias) != PermissionState.GRANTED) { - this.watchRequests.add(invoke) - this.ongoingPermissionRequests += 1 - requestPermissionForAlias(alias, invoke, "positionPermissionCallback") - } else { - startWatch(invoke) - } + startWatch(invoke, args) } - private fun startWatch(invoke: Invoke) { - val args = invoke.parseArgs(WatchArgs::class.java) - + private fun startWatch(invoke: Invoke, args: WatchArgs) { implementation.requestLocationUpdates( args.options.enableHighAccuracy, args.options.timeout, { location -> args.channel.send(convertLocation(location)) }, { error -> args.channel.sendObject(error) }) - watchers[args.channel.id] = invoke + watchers[args.channel.id] = Pair(invoke, args) } @Command @@ -204,19 +151,6 @@ class GeolocationPlugin(private val activity: Activity): Plugin(activity) { invoke.resolve() } - private fun getPosition(invoke: Invoke, options: PositionOptions) { - val location = implementation.getLastLocation(options.maximumAge) - if (location != null) { - Logger.error("getPosition location non-null") - invoke.resolve(convertLocation(location)) - } else { - Logger.error("getPosition location null") - implementation.sendLocation(options.enableHighAccuracy, - { loc -> invoke.resolve(convertLocation(loc)) }, - { error -> invoke.reject(error) }) - } - } - private fun convertLocation(location: Location): JSObject { val ret = JSObject() val coords = JSObject() @@ -235,14 +169,4 @@ class GeolocationPlugin(private val activity: Activity): Plugin(activity) { return ret } - - private fun getAlias(enableHighAccuracy: Boolean): String { - var alias = ALIAS_LOCATION; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - if (!enableHighAccuracy) { - alias = ALIAS_COARSE_LOCATION; - } - } - return alias - } } diff --git a/plugins/geolocation/api-iife.js b/plugins/geolocation/api-iife.js index d653e7231..912c073ea 100644 --- a/plugins/geolocation/api-iife.js +++ b/plugins/geolocation/api-iife.js @@ -1 +1 @@ -if("__TAURI__"in window){var __TAURI_PLUGIN_GEOLOCATION__=function(t){"use strict";function r(t,r,e,s){if("a"===e&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof r?t!==r||!s:!r.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===e?s:"a"===e?s.call(t):s?s.value:r.get(t)}function e(t,r,e,s,o){if("function"==typeof r?t!==r||!o:!r.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r.set(t,e),e}var s,o,i,a;"function"==typeof SuppressedError&&SuppressedError;class n{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,s.set(this,(()=>{})),o.set(this,0),i.set(this,{}),this.id=function(t,r=!1){return window.__TAURI_INTERNALS__.transformCallback(t,r)}((({message:t,id:a})=>{if(a===r(this,o,"f")){e(this,o,a+1),r(this,s,"f").call(this,t);const n=Object.keys(r(this,i,"f"));if(n.length>0){let t=a+1;for(const e of n.sort()){if(parseInt(e)!==t)break;{const o=r(this,i,"f")[e];delete r(this,i,"f")[e],r(this,s,"f").call(this,o),t+=1}}e(this,o,t)}}else r(this,i,"f")[a.toString()]=t}))}set onmessage(t){e(this,s,t)}get onmessage(){return r(this,s,"f")}toJSON(){return`__CHANNEL__:${this.id}`}}async function c(t,r={},e){return window.__TAURI_INTERNALS__.invoke(t,r,e)}s=new WeakMap,o=new WeakMap,i=new WeakMap,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.WINDOW_CREATED="tauri://window-created",t.WEBVIEW_CREATED="tauri://webview-created",t.DRAG_ENTER="tauri://drag-enter",t.DRAG_OVER="tauri://drag-over",t.DRAG_DROP="tauri://drag-drop",t.DRAG_LEAVE="tauri://drag-leave"}(a||(a={}));const u={async getCurrentPosition(t){try{return{status:"ok",data:await c("plugin:geolocation|get_current_position",{options:t})}}catch(t){if(t instanceof Error)throw t;return{status:"error",error:t}}},async watchPosition(t,r){try{return{status:"ok",data:await c("plugin:geolocation|watch_position",{options:t,channel:r})}}catch(t){if(t instanceof Error)throw t;return{status:"error",error:t}}},async clearWatch(t){try{return{status:"ok",data:await c("plugin:geolocation|clear_watch",{channelId:t})}}catch(t){if(t instanceof Error)throw t;return{status:"error",error:t}}},async checkPermissions(){try{return{status:"ok",data:await c("plugin:geolocation|check_permissions")}}catch(t){if(t instanceof Error)throw t;return{status:"error",error:t}}},async requestPermissions(t){try{return{status:"ok",data:await c("plugin:geolocation|request_permissions",{permissions:t})}}catch(t){if(t instanceof Error)throw t;return{status:"error",error:t}}}};const{getCurrentPosition:_,clearWatch:h,checkPermissions:f,requestPermissions:w}=u;return t.checkPermissions=f,t.clearWatch=h,t.getCurrentPosition=_,t.requestPermissions=w,t.watchPosition=async function(t,r){const e=new n;return e.onmessage=r,await u.watchPosition(t,e),e.id},t}({});Object.defineProperty(window.__TAURI__,"geolocation",{value:__TAURI_PLUGIN_GEOLOCATION__})} +if("__TAURI__"in window){var __TAURI_PLUGIN_GEOLOCATION__=function(t){"use strict";function e(t,e,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:e.get(t)}function n(t,e,n,i,o){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");return e.set(t,n),n}var i,o,s;"function"==typeof SuppressedError&&SuppressedError;class r{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,i.set(this,(()=>{})),o.set(this,0),s.set(this,{}),this.id=function(t,e=!1){return window.__TAURI_INTERNALS__.transformCallback(t,e)}((({message:t,id:r})=>{if(r===e(this,o,"f")){n(this,o,r+1),e(this,i,"f").call(this,t);const a=Object.keys(e(this,s,"f"));if(a.length>0){let t=r+1;for(const n of a.sort()){if(parseInt(n)!==t)break;{const o=e(this,s,"f")[n];delete e(this,s,"f")[n],e(this,i,"f").call(this,o),t+=1}}n(this,o,t)}}else e(this,s,"f")[r.toString()]=t}))}set onmessage(t){n(this,i,t)}get onmessage(){return e(this,i,"f")}toJSON(){return`__CHANNEL__:${this.id}`}}async function a(t,e={},n){return window.__TAURI_INTERNALS__.invoke(t,e,n)}return i=new WeakMap,o=new WeakMap,s=new WeakMap,t.checkPermissions=async function(){return await async function(t){return a(`plugin:${t}|check_permissions`)}("geolocation")},t.clearWatch=async function(t){await a("plugin:geolocation|clear_watch",{channelId:t})},t.getCurrentPosition=async function(t){return await a("plugin:geolocation|get_current_position",{options:t})},t.requestPermissions=async function(t){return await a("plugin:geolocation|request_permissions",{permissions:t})},t.watchPosition=async function(t,e){const n=new r;return n.onmessage=t=>{"string"==typeof t?e(null,t):e(t)},await a("plugin:geolocation|watch_position",{options:t,channel:n}),n.id},t}({});Object.defineProperty(window.__TAURI__,"geolocation",{value:__TAURI_PLUGIN_GEOLOCATION__})} diff --git a/plugins/geolocation/build.rs b/plugins/geolocation/build.rs index d9b63afa6..b52497618 100644 --- a/plugins/geolocation/build.rs +++ b/plugins/geolocation/build.rs @@ -7,7 +7,7 @@ const COMMANDS: &[&str] = &[ "watch_position", "clear_watch", "check_permissions", - "clear_permissions", + "request_permissions", ]; fn main() { diff --git a/plugins/geolocation/guest-js/bindings.ts b/plugins/geolocation/guest-js/bindings.ts deleted file mode 100644 index f68ecbc32..000000000 --- a/plugins/geolocation/guest-js/bindings.ts +++ /dev/null @@ -1,248 +0,0 @@ -// Copyright 2019-2023 Tauri Programme within The Commons Conservancy -// SPDX-License-Identifier: Apache-2.0 -// SPDX-License-Identifier: MIT - -// @ts-nocheck -// This file was generated by [tauri-specta](https://github.com/oscartbeaumont/tauri-specta). Do not edit this file manually. - -/** user-defined commands **/ - -export const commands = { - async getCurrentPosition( - options: PositionOptions | null - ): Promise> { - try { - return { - status: 'ok', - data: await TAURI_INVOKE('plugin:geolocation|get_current_position', { - options - }) - } - } catch (e) { - if (e instanceof Error) throw e - else return { status: 'error', error: e as any } - } - }, - async watchPosition( - options: PositionOptions, - channel: any - ): Promise> { - try { - return { - status: 'ok', - data: await TAURI_INVOKE('plugin:geolocation|watch_position', { - options, - channel - }) - } - } catch (e) { - if (e instanceof Error) throw e - else return { status: 'error', error: e as any } - } - }, - async clearWatch(channelId: number): Promise> { - try { - return { - status: 'ok', - data: await TAURI_INVOKE('plugin:geolocation|clear_watch', { - channelId - }) - } - } catch (e) { - if (e instanceof Error) throw e - else return { status: 'error', error: e as any } - } - }, - async checkPermissions(): Promise> { - try { - return { - status: 'ok', - data: await TAURI_INVOKE('plugin:geolocation|check_permissions') - } - } catch (e) { - if (e instanceof Error) throw e - else return { status: 'error', error: e as any } - } - }, - async requestPermissions( - permissions: PermissionType[] | null - ): Promise> { - try { - return { - status: 'ok', - data: await TAURI_INVOKE('plugin:geolocation|request_permissions', { - permissions - }) - } - } catch (e) { - if (e instanceof Error) throw e - else return { status: 'error', error: e as any } - } - } -} - -/** user-defined events **/ - -/* export const events = __makeEvents__<{ - randomNumber: RandomNumber; -}>({ - randomNumber: "plugin:geolocation:random-number", -}); */ - -/** user-defined statics **/ - -/** user-defined types **/ - -export type Coordinates = { - /** - * Latitude in decimal degrees. - */ - latitude: number - /** - * Longitude in decimal degrees. - */ - longitude: number - /** - * Accuracy level of the latitude and longitude coordinates in meters. - */ - accuracy: number - /** - * Accuracy level of the altitude coordinate in meters, if available. - * Available on all iOS versions and on Android 8 and above. - */ - altitudeAccuracy: number | null - /** - * The altitude the user is at, if available. - */ - altitude: number | null - speed: number | null - /** - * The heading the user is facing, if available. - */ - heading: number | null -} -export type Error = never -/** - * Permission state. - */ -export type PermissionState = - /** - * Permission access has been granted. - */ - | 'granted' - /** - * Permission access has been denied. - */ - | 'denied' - /** - * The end user should be prompted for permission. - */ - | 'prompt' -export type PermissionStatus = { - /** - * Permission state for the location alias. - * - * On Android it requests/checks both ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION permissions. - * - * On iOS it requests/checks location permissions. - */ - location: PermissionState - /** - * Permissions state for the coarseLoaction alias. - * - * On Android it requests/checks ACCESS_COARSE_LOCATION. - * - * On Android 12+, users can choose between Approximate location (ACCESS_COARSE_LOCATION) and Precise location (ACCESS_FINE_LOCATION). - * - * On iOS it will have the same value as the `location` alias. - */ - coarseLocation: PermissionState -} -export type PermissionType = 'location' | 'coarseLocation' -export type Position = { - /** - * Creation time for these coordinates. - */ - timestamp: number - /** - * The GPD coordinates along with the accuracy of the data. - */ - coords: Coordinates -} -export type PositionOptions = { - /** - * High accuracy mode (such as GPS, if available) - * Will be ignored on Android 12+ if users didn't grant the ACCESS_FINE_LOCATION permission. - */ - enableHighAccuracy: boolean - /** - * The maximum wait time in milliseconds for location updates. - * On Android the timeout gets ignored for getCurrentPosition. - * Ignored on iOS - */ - timeout: number - /** - * The maximum age in milliseconds of a possible cached position that is acceptable to return. - * Default: 0 - * Ignored on iOS - */ - maximumAge: number -} -//export type RandomNumber = number; - -/** tauri-specta globals **/ - -import { invoke as TAURI_INVOKE } from '@tauri-apps/api/core' -import * as TAURI_API_EVENT from '@tauri-apps/api/event' -import { type WebviewWindow as __WebviewWindow__ } from '@tauri-apps/api/webviewWindow' - -type __EventObj__ = { - listen: ( - cb: TAURI_API_EVENT.EventCallback - ) => ReturnType> - once: ( - cb: TAURI_API_EVENT.EventCallback - ) => ReturnType> - emit: T extends null - ? (payload?: T) => ReturnType - : (payload: T) => ReturnType -} - -export type Result = - | { status: 'ok'; data: T } - | { status: 'error'; error: E } - -function __makeEvents__>( - mappings: Record -) { - return new Proxy( - {} as unknown as { - [K in keyof T]: __EventObj__ & { - (handle: __WebviewWindow__): __EventObj__ - } - }, - { - get: (_, event) => { - const name = mappings[event as keyof T] - - return new Proxy((() => {}) as any, { - apply: (_, __, [window]: [__WebviewWindow__]) => ({ - listen: (arg: any) => window.listen(name, arg), - once: (arg: any) => window.once(name, arg), - emit: (arg: any) => window.emit(name, arg) - }), - get: (_, command: keyof __EventObj__) => { - switch (command) { - case 'listen': - return (arg: any) => TAURI_API_EVENT.listen(name, arg) - case 'once': - return (arg: any) => TAURI_API_EVENT.once(name, arg) - case 'emit': - return (arg: any) => TAURI_API_EVENT.emit(name, arg) - } - } - }) - } - } - ) -} diff --git a/plugins/geolocation/guest-js/index.ts b/plugins/geolocation/guest-js/index.ts index ffda74837..8ef5c5330 100644 --- a/plugins/geolocation/guest-js/index.ts +++ b/plugins/geolocation/guest-js/index.ts @@ -2,36 +2,137 @@ // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT -/* eslint-disable @typescript-eslint/unbound-method */ +import { + Channel, + invoke, + PermissionState, + checkPermissions as checkPluginPermissions +} from '@tauri-apps/api/core' + +export type Coordinates = { + /** + * Latitude in decimal degrees. + */ + latitude: number + /** + * Longitude in decimal degrees. + */ + longitude: number + /** + * Accuracy level of the latitude and longitude coordinates in meters. + */ + accuracy: number + /** + * Accuracy level of the altitude coordinate in meters, if available. + * Available on all iOS versions and on Android 8 and above. + */ + altitudeAccuracy: number | null + /** + * The altitude the user is at, if available. + */ + altitude: number | null + speed: number | null + /** + * The heading the user is facing, if available. + */ + heading: number | null +} + +export type PermissionStatus = { + /** + * Permission state for the location alias. + * + * On Android it requests/checks both ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION permissions. + * + * On iOS it requests/checks location permissions. + */ + location: PermissionState + /** + * Permissions state for the coarseLoaction alias. + * + * On Android it requests/checks ACCESS_COARSE_LOCATION. + * + * On Android 12+, users can choose between Approximate location (ACCESS_COARSE_LOCATION) and Precise location (ACCESS_FINE_LOCATION). + * + * On iOS it will have the same value as the `location` alias. + */ + coarseLocation: PermissionState +} + +export type PermissionType = 'location' | 'coarseLocation' + +export type Position = { + /** + * Creation time for these coordinates. + */ + timestamp: number + /** + * The GPD coordinates along with the accuracy of the data. + */ + coords: Coordinates +} -import { Channel } from '@tauri-apps/api/core' -import { commands, type PositionOptions, type Position } from './bindings' +export type PositionOptions = { + /** + * High accuracy mode (such as GPS, if available) + * Will be ignored on Android 12+ if users didn't grant the ACCESS_FINE_LOCATION permission (`coarseLocation` permission). + */ + enableHighAccuracy: boolean + /** + * The maximum wait time in milliseconds for location updates. + * On Android the timeout gets ignored for getCurrentPosition. + * Ignored on iOS + */ + timeout: number + /** + * The maximum age in milliseconds of a possible cached position that is acceptable to return. + * Default: 0 + * Ignored on iOS + */ + maximumAge: number +} export async function watchPosition( options: PositionOptions, - // TODO: This can receive errors too - cb: (location: Position | string) => void + cb: (location: Position | null, error?: string) => void ): Promise { - const channel = new Channel() - channel.onmessage = cb - await commands.watchPosition(options, channel) + const channel = new Channel() + channel.onmessage = (message) => { + if (typeof message === 'string') { + cb(null, message) + } else { + cb(message) + } + } + await invoke('plugin:geolocation|watch_position', { + options, + channel + }) return channel.id } -export const { - getCurrentPosition, - clearWatch, - checkPermissions, - requestPermissions -} = commands +export async function getCurrentPosition( + options?: PositionOptions +): Promise { + return await invoke('plugin:geolocation|get_current_position', { + options + }) +} -export type { - PermissionState, - PermissionStatus, - PermissionType, - Position, - PositionOptions, - Coordinates -} from './bindings' - -// export { events }; +export async function clearWatch(channelId: number): Promise { + await invoke('plugin:geolocation|clear_watch', { + channelId + }) +} + +export async function checkPermissions(): Promise { + return await checkPluginPermissions('geolocation') +} + +export async function requestPermissions( + permissions: PermissionType[] | null +): Promise { + return await invoke('plugin:geolocation|request_permissions', { + permissions + }) +} diff --git a/plugins/geolocation/permissions/autogenerated/commands/clear_positions.toml b/plugins/geolocation/permissions/autogenerated/commands/clear_positions.toml deleted file mode 100644 index dc5c3e59a..000000000 --- a/plugins/geolocation/permissions/autogenerated/commands/clear_positions.toml +++ /dev/null @@ -1,13 +0,0 @@ -# Automatically generated - DO NOT EDIT! - -"$schema" = "../../schemas/schema.json" - -[[permission]] -identifier = "allow-clear-positions" -description = "Enables the clear_positions command without any pre-configured scope." -commands.allow = ["clear_positions"] - -[[permission]] -identifier = "deny-clear-positions" -description = "Denies the clear_positions command without any pre-configured scope." -commands.deny = ["clear_positions"] diff --git a/plugins/geolocation/permissions/autogenerated/commands/request_permissions.toml b/plugins/geolocation/permissions/autogenerated/commands/request_permissions.toml new file mode 100644 index 000000000..02dcd6271 --- /dev/null +++ b/plugins/geolocation/permissions/autogenerated/commands/request_permissions.toml @@ -0,0 +1,13 @@ +# Automatically generated - DO NOT EDIT! + +"$schema" = "../../schemas/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/geolocation/permissions/autogenerated/reference.md b/plugins/geolocation/permissions/autogenerated/reference.md index e8768210e..e0417c80e 100644 --- a/plugins/geolocation/permissions/autogenerated/reference.md +++ b/plugins/geolocation/permissions/autogenerated/reference.md @@ -63,12 +63,12 @@ Denies the clear_permissions command without any pre-configured scope. -`geolocation:allow-clear-positions` +`geolocation:allow-clear-watch` -Enables the clear_positions command without any pre-configured scope. +Enables the clear_watch command without any pre-configured scope. @@ -76,12 +76,12 @@ Enables the clear_positions command without any pre-configured scope. -`geolocation:deny-clear-positions` +`geolocation:deny-clear-watch` -Denies the clear_positions command without any pre-configured scope. +Denies the clear_watch command without any pre-configured scope. @@ -89,12 +89,12 @@ Denies the clear_positions command without any pre-configured scope. -`geolocation:allow-clear-watch` +`geolocation:allow-get-current-position` -Enables the clear_watch command without any pre-configured scope. +Enables the get_current_position command without any pre-configured scope. @@ -102,12 +102,12 @@ Enables the clear_watch command without any pre-configured scope. -`geolocation:deny-clear-watch` +`geolocation:deny-get-current-position` -Denies the clear_watch command without any pre-configured scope. +Denies the get_current_position command without any pre-configured scope. @@ -115,12 +115,12 @@ Denies the clear_watch command without any pre-configured scope. -`geolocation:allow-get-current-position` +`geolocation:allow-request-permissions` -Enables the get_current_position command without any pre-configured scope. +Enables the request_permissions command without any pre-configured scope. @@ -128,12 +128,12 @@ Enables the get_current_position command without any pre-configured scope. -`geolocation:deny-get-current-position` +`geolocation:deny-request-permissions` -Denies the get_current_position command without any pre-configured scope. +Denies the request_permissions command without any pre-configured scope. diff --git a/plugins/geolocation/permissions/schemas/schema.json b/plugins/geolocation/permissions/schemas/schema.json index b39d39f6f..4474ec6bd 100644 --- a/plugins/geolocation/permissions/schemas/schema.json +++ b/plugins/geolocation/permissions/schemas/schema.json @@ -314,16 +314,6 @@ "type": "string", "const": "deny-clear-permissions" }, - { - "description": "Enables the clear_positions command without any pre-configured scope.", - "type": "string", - "const": "allow-clear-positions" - }, - { - "description": "Denies the clear_positions command without any pre-configured scope.", - "type": "string", - "const": "deny-clear-positions" - }, { "description": "Enables the clear_watch command without any pre-configured scope.", "type": "string", @@ -344,6 +334,16 @@ "type": "string", "const": "deny-get-current-position" }, + { + "description": "Enables the request_permissions command without any pre-configured scope.", + "type": "string", + "const": "allow-request-permissions" + }, + { + "description": "Denies the request_permissions command without any pre-configured scope.", + "type": "string", + "const": "deny-request-permissions" + }, { "description": "Enables the watch_position command without any pre-configured scope.", "type": "string", diff --git a/plugins/geolocation/src/mobile.rs b/plugins/geolocation/src/mobile.rs index c7c5bc4e5..48a3f5ded 100644 --- a/plugins/geolocation/src/mobile.rs +++ b/plugins/geolocation/src/mobile.rs @@ -98,7 +98,10 @@ impl Geolocation { permissions: Option>, ) -> crate::Result { self.0 - .run_mobile_plugin("requestPermissions", permissions) + .run_mobile_plugin( + "requestPermissions", + serde_json::json!({ "permissions": permissions }), + ) .map_err(Into::into) } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf81c9c78..43e0632ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -78,9 +78,15 @@ importers: '@tauri-apps/plugin-fs': specifier: 2.0.0-rc.2 version: link:../../plugins/fs + '@tauri-apps/plugin-geolocation': + specifier: 2.0.0-rc.1 + version: link:../../plugins/geolocation '@tauri-apps/plugin-global-shortcut': specifier: 2.0.0-rc.1 version: link:../../plugins/global-shortcut + '@tauri-apps/plugin-haptics': + specifier: 2.0.0-rc.1 + version: link:../../plugins/haptics '@tauri-apps/plugin-http': specifier: 2.0.0-rc.2 version: link:../../plugins/http