diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ea9d0ee1..2e996410 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -3,6 +3,7 @@ on:
push:
branches:
- release
+ - beta
jobs:
build-artifacts:
permissions:
@@ -36,11 +37,11 @@ jobs:
if: matrix.platform == 'ubuntu-22.04' # This must match the platform value defined above.
run: |
sudo apt-get update
- sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- # webkitgtk 4.0 is for Tauri v1 - webkitgtk 4.1 is for Tauri v2.
- # You can remove the one that doesn't apply to your app to speed up the workflow a bit.
+ sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Install dependencies
run: npm ci
+ - name: Run lint
+ run: npm run lint
- name: Run tests
run: npm test
- uses: tauri-apps/tauri-action@v0
diff --git a/index.html b/index.html
index ca2d48a1..8f9f5c30 100644
--- a/index.html
+++ b/index.html
@@ -1,8 +1,8 @@
-
-
+
+
Yaak App
@@ -15,13 +15,13 @@
@media (prefers-color-scheme: dark) {
html, body {
- background-color: black;
+ background-color: #1b1a29;
}
}
-
+
diff --git a/package-lock.json b/package-lock.json
index 6bd78da0..cfd378c0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
"version": "0.0.0",
"dependencies": {
"@codemirror/commands": "^6.2.1",
- "@codemirror/lang-javascript": "^6.1.4",
+ "@codemirror/lang-javascript": "^6.2.2",
"@codemirror/lang-json": "^6.0.1",
"@codemirror/lang-xml": "^6.0.2",
"@codemirror/language": "^6.6.0",
@@ -54,7 +54,7 @@
"devDependencies": {
"@tailwindcss/nesting": "^0.0.0-insiders.565cd3e",
"@tanstack/react-query-devtools": "^5.35.5",
- "@tauri-apps/cli": ">=2.0.0-beta.0",
+ "@tauri-apps/cli": "^2.0.0-beta.15",
"@types/node": "^18.7.10",
"@types/papaparse": "^5.3.7",
"@types/parse-color": "^1.0.1",
@@ -81,7 +81,7 @@
"prettier": "^2.8.4",
"react-devtools": "^4.27.2",
"tailwindcss": "^3.2.7",
- "typescript": "^5.3.3",
+ "typescript": "^5.4.5",
"vite": "^5.0.0",
"vite-plugin-svgr": "^4.2.0",
"vite-plugin-top-level-await": "^1.4.1",
diff --git a/package.json b/package.json
index 4d9fb439..8247457e 100644
--- a/package.json
+++ b/package.json
@@ -4,9 +4,9 @@
"version": "0.0.0",
"type": "module",
"scripts": {
- "start": "npm run build:plugins && npm run tauri-dev:desktop",
+ "start": "npm run tauri-dev:desktop",
"tauri-dev:desktop": "tauri dev --no-watch --config ./src-tauri/tauri-dev.conf.json",
- "tauri-dev:ios": "tauri ios dev --no-watch --config ./src-tauri/tauri-dev.conf.json",
+ "tauri-dev:ios": "tauri ios dev --force-ip-prompt --config ./src-tauri/tauri-dev.conf.json",
"tauri-build": "tauri build",
"tauri": "tauri",
"build": "npm run build:frontend",
@@ -29,7 +29,7 @@
},
"dependencies": {
"@codemirror/commands": "^6.2.1",
- "@codemirror/lang-javascript": "^6.1.4",
+ "@codemirror/lang-javascript": "^6.2.2",
"@codemirror/lang-json": "^6.0.1",
"@codemirror/lang-xml": "^6.0.2",
"@codemirror/language": "^6.6.0",
@@ -74,7 +74,7 @@
"devDependencies": {
"@tailwindcss/nesting": "^0.0.0-insiders.565cd3e",
"@tanstack/react-query-devtools": "^5.35.5",
- "@tauri-apps/cli": ">=2.0.0-beta.0",
+ "@tauri-apps/cli": "^2.0.0-beta.15",
"@types/node": "^18.7.10",
"@types/papaparse": "^5.3.7",
"@types/parse-color": "^1.0.1",
@@ -101,7 +101,7 @@
"prettier": "^2.8.4",
"react-devtools": "^4.27.2",
"tailwindcss": "^3.2.7",
- "typescript": "^5.3.3",
+ "typescript": "^5.4.5",
"vite": "^5.0.0",
"vite-plugin-svgr": "^4.2.0",
"vite-plugin-top-level-await": "^1.4.1",
diff --git a/plugins/importer-postman/src/index.ts b/plugins/importer-postman/src/index.ts
index 43af714c..b0ddbffa 100644
--- a/plugins/importer-postman/src/index.ts
+++ b/plugins/importer-postman/src/index.ts
@@ -180,6 +180,7 @@ function importBody(rawBody: any): Pick(obj: T): T {
}
const idCount: Partial> = {};
+
function generateId(model: Model['model']): string {
idCount[model] = (idCount[model] ?? -1) + 1;
return `GENERATE_ID::${model.toUpperCase()}_${idCount[model]}`;
diff --git a/src-tauri/.sqlx/query-48ec5fdf20f34add763c540061caa25054545503704e19f149987f99b1a0e4f0.json b/src-tauri/.sqlx/query-48ec5fdf20f34add763c540061caa25054545503704e19f149987f99b1a0e4f0.json
deleted file mode 100644
index a959caf8..00000000
--- a/src-tauri/.sqlx/query-48ec5fdf20f34add763c540061caa25054545503704e19f149987f99b1a0e4f0.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "db_name": "SQLite",
- "query": "\n UPDATE settings SET (\n theme, appearance, update_channel\n ) = (?, ?, ?) WHERE id = 'default';\n ",
- "describe": {
- "columns": [],
- "parameters": {
- "Right": 3
- },
- "nullable": []
- },
- "hash": "48ec5fdf20f34add763c540061caa25054545503704e19f149987f99b1a0e4f0"
-}
diff --git a/src-tauri/.sqlx/query-b32994b09ae7a06eb0f031069d327e55127a5bce60cbb499b83d1701386a23cb.json b/src-tauri/.sqlx/query-b32994b09ae7a06eb0f031069d327e55127a5bce60cbb499b83d1701386a23cb.json
deleted file mode 100644
index aed140c8..00000000
--- a/src-tauri/.sqlx/query-b32994b09ae7a06eb0f031069d327e55127a5bce60cbb499b83d1701386a23cb.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "db_name": "SQLite",
- "query": "\n SELECT\n id, model, created_at, updated_at, theme, appearance, update_channel\n FROM settings\n WHERE id = 'default'\n ",
- "describe": {
- "columns": [
- {
- "name": "id",
- "ordinal": 0,
- "type_info": "Text"
- },
- {
- "name": "model",
- "ordinal": 1,
- "type_info": "Text"
- },
- {
- "name": "created_at",
- "ordinal": 2,
- "type_info": "Datetime"
- },
- {
- "name": "updated_at",
- "ordinal": 3,
- "type_info": "Datetime"
- },
- {
- "name": "theme",
- "ordinal": 4,
- "type_info": "Text"
- },
- {
- "name": "appearance",
- "ordinal": 5,
- "type_info": "Text"
- },
- {
- "name": "update_channel",
- "ordinal": 6,
- "type_info": "Text"
- }
- ],
- "parameters": {
- "Right": 0
- },
- "nullable": [
- false,
- false,
- false,
- false,
- false,
- false,
- false
- ]
- },
- "hash": "b32994b09ae7a06eb0f031069d327e55127a5bce60cbb499b83d1701386a23cb"
-}
diff --git a/src-tauri/.sqlx/query-ca3485d87b060cd77c4114d2af544adf18f6f15341d9d5db40865e92a80da4e2.json b/src-tauri/.sqlx/query-ca3485d87b060cd77c4114d2af544adf18f6f15341d9d5db40865e92a80da4e2.json
new file mode 100644
index 00000000..118bdd64
--- /dev/null
+++ b/src-tauri/.sqlx/query-ca3485d87b060cd77c4114d2af544adf18f6f15341d9d5db40865e92a80da4e2.json
@@ -0,0 +1,92 @@
+{
+ "db_name": "SQLite",
+ "query": "\n SELECT\n id, model, created_at, updated_at, theme, appearance,\n theme_dark, theme_light, update_channel,\n interface_font_size, interface_scale, editor_font_size, editor_soft_wrap\n FROM settings\n WHERE id = 'default'\n ",
+ "describe": {
+ "columns": [
+ {
+ "name": "id",
+ "ordinal": 0,
+ "type_info": "Text"
+ },
+ {
+ "name": "model",
+ "ordinal": 1,
+ "type_info": "Text"
+ },
+ {
+ "name": "created_at",
+ "ordinal": 2,
+ "type_info": "Datetime"
+ },
+ {
+ "name": "updated_at",
+ "ordinal": 3,
+ "type_info": "Datetime"
+ },
+ {
+ "name": "theme",
+ "ordinal": 4,
+ "type_info": "Text"
+ },
+ {
+ "name": "appearance",
+ "ordinal": 5,
+ "type_info": "Text"
+ },
+ {
+ "name": "theme_dark",
+ "ordinal": 6,
+ "type_info": "Text"
+ },
+ {
+ "name": "theme_light",
+ "ordinal": 7,
+ "type_info": "Text"
+ },
+ {
+ "name": "update_channel",
+ "ordinal": 8,
+ "type_info": "Text"
+ },
+ {
+ "name": "interface_font_size",
+ "ordinal": 9,
+ "type_info": "Int64"
+ },
+ {
+ "name": "interface_scale",
+ "ordinal": 10,
+ "type_info": "Int64"
+ },
+ {
+ "name": "editor_font_size",
+ "ordinal": 11,
+ "type_info": "Int64"
+ },
+ {
+ "name": "editor_soft_wrap",
+ "ordinal": 12,
+ "type_info": "Bool"
+ }
+ ],
+ "parameters": {
+ "Right": 0
+ },
+ "nullable": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ },
+ "hash": "ca3485d87b060cd77c4114d2af544adf18f6f15341d9d5db40865e92a80da4e2"
+}
diff --git a/src-tauri/.sqlx/query-efd8ba41ea909b18dd520c57c1d464c5ae057b720cbbedcaec1513d43535632c.json b/src-tauri/.sqlx/query-efd8ba41ea909b18dd520c57c1d464c5ae057b720cbbedcaec1513d43535632c.json
new file mode 100644
index 00000000..eed32b7a
--- /dev/null
+++ b/src-tauri/.sqlx/query-efd8ba41ea909b18dd520c57c1d464c5ae057b720cbbedcaec1513d43535632c.json
@@ -0,0 +1,12 @@
+{
+ "db_name": "SQLite",
+ "query": "\n UPDATE settings SET (\n theme, appearance, theme_dark, theme_light, update_channel,\n interface_font_size, interface_scale, editor_font_size, editor_soft_wrap\n ) = (?, ?, ?, ?, ?, ?, ?, ?, ?) WHERE id = 'default';\n ",
+ "describe": {
+ "columns": [],
+ "parameters": {
+ "Right": 9
+ },
+ "nullable": []
+ },
+ "hash": "efd8ba41ea909b18dd520c57c1d464c5ae057b720cbbedcaec1513d43535632c"
+}
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index 17b82503..99e49568 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
[[package]]
name = "addr2line"
-version = "0.21.0"
+version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
dependencies = [
"gimli",
]
@@ -17,24 +17,13 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-[[package]]
-name = "aes"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
-dependencies = [
- "cfg-if",
- "cipher",
- "cpufeatures",
-]
-
[[package]]
name = "ahash"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.15",
"once_cell",
"version_check 0.9.4",
]
@@ -46,7 +35,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
- "getrandom 0.2.11",
+ "getrandom 0.2.15",
"once_cell",
"version_check 0.9.4",
"zerocopy",
@@ -54,9 +43,9 @@ dependencies = [
[[package]]
name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
dependencies = [
"memchr",
]
@@ -78,9 +67,9 @@ dependencies = [
[[package]]
name = "allocator-api2"
-version = "0.2.16"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
[[package]]
name = "android-tzdata"
@@ -117,9 +106,18 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.79"
+version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca"
+checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
+
+[[package]]
+name = "arbitrary"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
+dependencies = [
+ "derive_arbitrary",
+]
[[package]]
name = "arboard"
@@ -168,32 +166,31 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
dependencies = [
- "event-listener 5.3.0",
- "event-listener-strategy 0.5.1",
+ "event-listener 5.3.1",
+ "event-listener-strategy 0.5.2",
"futures-core",
"pin-project-lite",
]
[[package]]
name = "async-channel"
-version = "2.2.1"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928"
+checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a"
dependencies = [
"concurrent-queue",
- "event-listener 5.3.0",
- "event-listener-strategy 0.5.1",
+ "event-listener-strategy 0.5.2",
"futures-core",
"pin-project-lite",
]
[[package]]
name = "async-compression"
-version = "0.4.6"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c"
+checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5"
dependencies = [
- "brotli",
+ "brotli 6.0.0",
"flate2",
"futures-core",
"memchr",
@@ -244,7 +241,7 @@ dependencies = [
"async-task",
"blocking",
"cfg-if",
- "event-listener 5.3.0",
+ "event-listener 5.3.1",
"futures-lite",
"rustix",
"tracing",
@@ -253,13 +250,13 @@ dependencies = [
[[package]]
name = "async-recursion"
-version = "1.1.0"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
+checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -299,24 +296,24 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "async-task"
-version = "4.7.0"
+version = "4.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
+checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
[[package]]
name = "async-trait"
-version = "0.1.77"
+version = "0.1.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -359,9 +356,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "autocfg"
-version = "1.1.0"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
[[package]]
name = "axum"
@@ -374,10 +371,10 @@ dependencies = [
"bitflags 1.3.2",
"bytes",
"futures-util",
- "http 0.2.10",
- "http-body 0.4.5",
- "hyper 0.14.27",
- "itoa 1.0.9",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
+ "itoa 1.0.11",
"matchit",
"memchr",
"mime",
@@ -400,8 +397,8 @@ dependencies = [
"async-trait",
"bytes",
"futures-util",
- "http 0.2.10",
- "http-body 0.4.5",
+ "http 0.2.12",
+ "http-body 0.4.6",
"mime",
"rustversion",
"tower-layer",
@@ -410,9 +407,9 @@ dependencies = [
[[package]]
name = "backtrace"
-version = "0.3.69"
+version = "0.3.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11"
dependencies = [
"addr2line",
"cc",
@@ -425,15 +422,15 @@ dependencies = [
[[package]]
name = "base64"
-version = "0.21.5"
+version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9"
+checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]]
name = "base64"
-version = "0.22.0"
+version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
+checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "base64ct"
@@ -491,27 +488,24 @@ dependencies = [
[[package]]
name = "block2"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43ff7d91d3c1d568065b06c899777d1e48dcf76103a672a0adbc238a7f247f1e"
+checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f"
dependencies = [
"objc2",
]
[[package]]
name = "blocking"
-version = "1.5.1"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
+checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea"
dependencies = [
"async-channel",
- "async-lock",
"async-task",
- "fastrand",
"futures-io",
"futures-lite",
"piper",
- "tracing",
]
[[package]]
@@ -546,11 +540,11 @@ dependencies = [
"cfg-if",
"dashmap",
"fast-float",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"icu_normalizer",
"indexmap 2.2.6",
"intrusive-collections",
- "itertools 0.12.1",
+ "itertools",
"num-bigint",
"num-integer",
"num-traits",
@@ -581,7 +575,7 @@ checksum = "c055ef3cd87ea7db014779195bc90c6adfc35de4902e3b2fe587adecbd384578"
dependencies = [
"boa_macros",
"boa_profiler",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"thin-vec",
]
@@ -593,7 +587,7 @@ checksum = "0cacc9caf022d92195c827a3e5bf83f96089d4bfaff834b359ac7b6be46e9187"
dependencies = [
"boa_gc",
"boa_macros",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"indexmap 2.2.6",
"once_cell",
"phf 0.11.2",
@@ -609,7 +603,7 @@ checksum = "6be9c93793b60dac381af475b98634d4b451e28336e72218cad9a20176218dbc"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
"synstructure",
]
@@ -669,19 +663,30 @@ dependencies = [
"proc-macro-crate 2.0.2",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
"syn_derive",
]
[[package]]
name = "brotli"
-version = "3.4.0"
+version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
+checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
- "brotli-decompressor",
+ "brotli-decompressor 2.5.1",
+]
+
+[[package]]
+name = "brotli"
+version = "6.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor 4.0.1",
]
[[package]]
@@ -695,10 +700,20 @@ dependencies = [
]
[[package]]
-name = "bumpalo"
-version = "3.14.0"
+name = "brotli-decompressor"
+version = "4.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
[[package]]
name = "byte-unit"
@@ -735,22 +750,22 @@ dependencies = [
[[package]]
name = "bytemuck"
-version = "1.15.0"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
+checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5"
dependencies = [
"bytemuck_derive",
]
[[package]]
name = "bytemuck_derive"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60"
+checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -761,34 +776,13 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
-version = "1.5.0"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
dependencies = [
"serde",
]
-[[package]]
-name = "bzip2"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
-dependencies = [
- "bzip2-sys",
- "libc",
-]
-
-[[package]]
-name = "bzip2-sys"
-version = "0.1.11+1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
-]
-
[[package]]
name = "cairo-rs"
version = "0.18.5"
@@ -816,9 +810,9 @@ dependencies = [
[[package]]
name = "camino"
-version = "1.1.6"
+version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
+checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239"
dependencies = [
"serde",
]
@@ -858,13 +852,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.83"
+version = "1.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
-dependencies = [
- "jobserver",
- "libc",
-]
+checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
[[package]]
name = "cesu8"
@@ -885,9 +875,9 @@ dependencies = [
[[package]]
name = "cfg-expr"
-version = "0.15.5"
+version = "0.15.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
+checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02"
dependencies = [
"smallvec",
"target-lexicon",
@@ -907,15 +897,15 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
[[package]]
name = "cfg_aliases"
-version = "0.2.0"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77e53693616d3075149f4ead59bdeecd204ac6b8192d8969757601b74bddf00f"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]]
name = "chrono"
-version = "0.4.31"
+version = "0.4.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
dependencies = [
"android-tzdata",
"iana-time-zone",
@@ -923,17 +913,7 @@ dependencies = [
"num-traits",
"serde",
"wasm-bindgen",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "cipher"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
-dependencies = [
- "crypto-common",
- "inout",
+ "windows-targets 0.52.5",
]
[[package]]
@@ -994,9 +974,9 @@ dependencies = [
[[package]]
name = "combine"
-version = "4.6.6"
+version = "4.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd"
dependencies = [
"bytes",
"memchr",
@@ -1004,24 +984,38 @@ dependencies = [
[[package]]
name = "concurrent-queue"
-version = "2.4.0"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
+checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
dependencies = [
"crossbeam-utils",
]
[[package]]
name = "const-oid"
-version = "0.9.5"
+version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
[[package]]
-name = "constant_time_eq"
-version = "0.1.5"
+name = "const-random"
+version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359"
+dependencies = [
+ "const-random-macro",
+]
+
+[[package]]
+name = "const-random-macro"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
+dependencies = [
+ "getrandom 0.2.15",
+ "once_cell",
+ "tiny-keccak",
+]
[[package]]
name = "convert_case"
@@ -1029,17 +1023,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
-[[package]]
-name = "cookie"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
-dependencies = [
- "percent-encoding",
- "time",
- "version_check 0.9.4",
-]
-
[[package]]
name = "cookie"
version = "0.17.0"
@@ -1051,30 +1034,13 @@ dependencies = [
"version_check 0.9.4",
]
-[[package]]
-name = "cookie_store"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa"
-dependencies = [
- "cookie 0.16.2",
- "idna 0.2.3",
- "log",
- "publicsuffix",
- "serde",
- "serde_derive",
- "serde_json",
- "time",
- "url",
-]
-
[[package]]
name = "cookie_store"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6"
dependencies = [
- "cookie 0.17.0",
+ "cookie",
"idna 0.3.0",
"log",
"publicsuffix",
@@ -1087,9 +1053,9 @@ dependencies = [
[[package]]
name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
dependencies = [
"core-foundation-sys",
"libc",
@@ -1097,15 +1063,15 @@ dependencies = [
[[package]]
name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "core-graphics"
-version = "0.23.1"
+version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
+checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
@@ -1116,9 +1082,9 @@ dependencies = [
[[package]]
name = "core-graphics-types"
-version = "0.1.2"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33"
+checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
@@ -1127,18 +1093,18 @@ dependencies = [
[[package]]
name = "cpufeatures"
-version = "0.2.11"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
+checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
dependencies = [
"libc",
]
[[package]]
name = "crc"
-version = "3.0.1"
+version = "3.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
+checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
dependencies = [
"crc-catalog",
]
@@ -1151,65 +1117,55 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
[[package]]
name = "crc32fast"
-version = "1.3.2"
+version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
dependencies = [
"cfg-if",
]
[[package]]
name = "crossbeam-channel"
-version = "0.5.8"
+version = "0.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
dependencies = [
- "cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
-version = "0.8.3"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
dependencies = [
- "cfg-if",
"crossbeam-epoch",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
-version = "0.9.15"
+version = "0.9.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
dependencies = [
- "autocfg",
- "cfg-if",
"crossbeam-utils",
- "memoffset",
- "scopeguard",
]
[[package]]
name = "crossbeam-queue"
-version = "0.3.8"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
dependencies = [
- "cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
-version = "0.8.16"
+version = "0.8.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
-dependencies = [
- "cfg-if",
-]
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
[[package]]
name = "crunchy"
@@ -1251,24 +1207,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
dependencies = [
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "ctor"
-version = "0.2.6"
+version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e"
+checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f"
dependencies = [
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "darling"
-version = "0.20.3"
+version = "0.20.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
+checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1"
dependencies = [
"darling_core",
"darling_macro",
@@ -1276,27 +1232,27 @@ dependencies = [
[[package]]
name = "darling_core"
-version = "0.20.3"
+version = "0.20.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621"
+checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120"
dependencies = [
"fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "darling_macro"
-version = "0.20.3"
+version = "0.20.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
+checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -1306,7 +1262,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"
dependencies = [
"cfg-if",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"lock_api",
"once_cell",
"parking_lot_core",
@@ -1328,9 +1284,9 @@ dependencies = [
[[package]]
name = "der"
-version = "0.7.8"
+version = "0.7.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0"
dependencies = [
"const-oid",
"pem-rfc7468",
@@ -1339,9 +1295,9 @@ dependencies = [
[[package]]
name = "deranged"
-version = "0.3.9"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
dependencies = [
"powerfmt",
"serde",
@@ -1358,6 +1314,17 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "derive_arbitrary"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.66",
+]
+
[[package]]
name = "derive_more"
version = "0.99.17"
@@ -1383,6 +1350,15 @@ dependencies = [
"subtle",
]
+[[package]]
+name = "dirs"
+version = "5.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
+dependencies = [
+ "dirs-sys",
+]
+
[[package]]
name = "dirs-next"
version = "2.0.0"
@@ -1393,6 +1369,18 @@ dependencies = [
"dirs-sys-next",
]
+[[package]]
+name = "dirs-sys"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
+dependencies = [
+ "libc",
+ "option-ext",
+ "redox_users",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "dirs-sys-next"
version = "0.1.2"
@@ -1418,7 +1406,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -1450,7 +1438,16 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "dlv-list"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f"
+dependencies = [
+ "const-random",
]
[[package]]
@@ -1497,25 +1494,25 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
[[package]]
name = "either"
-version = "1.9.0"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
dependencies = [
"serde",
]
[[package]]
name = "embed-resource"
-version = "2.4.1"
+version = "2.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bde55e389bea6a966bd467ad1ad7da0ae14546a5bc794d16d1e55e7fca44881"
+checksum = "c6985554d0688b687c5cb73898a34fbe3ad6c24c58c238a4d91d5e840670ee9d"
dependencies = [
"cc",
"memchr",
"rustc_version",
"toml 0.8.2",
"vswhom",
- "winreg 0.51.0",
+ "winreg 0.52.0",
]
[[package]]
@@ -1526,9 +1523,9 @@ checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7"
[[package]]
name = "encoding_rs"
-version = "0.8.33"
+version = "0.8.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
+checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
dependencies = [
"cfg-if",
]
@@ -1557,7 +1554,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -1578,9 +1575,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "errno"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
dependencies = [
"libc",
"windows-sys 0.52.0",
@@ -1622,9 +1619,9 @@ dependencies = [
[[package]]
name = "event-listener"
-version = "5.3.0"
+version = "5.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24"
+checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba"
dependencies = [
"concurrent-queue",
"parking",
@@ -1643,11 +1640,11 @@ dependencies = [
[[package]]
name = "event-listener-strategy"
-version = "0.5.1"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3"
+checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1"
dependencies = [
- "event-listener 5.3.0",
+ "event-listener 5.3.1",
"pin-project-lite",
]
@@ -1675,15 +1672,15 @@ checksum = "95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c"
[[package]]
name = "fastrand"
-version = "2.0.1"
+version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a"
[[package]]
name = "fdeflate"
-version = "0.3.1"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868"
+checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
dependencies = [
"simd-adler32",
]
@@ -1720,17 +1717,11 @@ dependencies = [
"windows-sys 0.52.0",
]
-[[package]]
-name = "finl_unicode"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6"
-
[[package]]
name = "flate2"
-version = "1.0.28"
+version = "1.0.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
dependencies = [
"crc32fast",
"miniz_oxide",
@@ -1780,7 +1771,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -1797,9 +1788,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
[[package]]
name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
dependencies = [
"percent-encoding",
]
@@ -1885,7 +1876,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -2071,9 +2062,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.11"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
+checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
dependencies = [
"cfg-if",
"libc",
@@ -2092,9 +2083,9 @@ dependencies = [
[[package]]
name = "gimli"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
[[package]]
name = "gio"
@@ -2162,7 +2153,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -2197,7 +2188,7 @@ name = "grpc"
version = "0.1.0"
dependencies = [
"anyhow",
- "hyper 0.14.27",
+ "hyper 0.14.28",
"hyper-rustls 0.24.2",
"log",
"prost",
@@ -2263,21 +2254,21 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "h2"
-version = "0.3.24"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
dependencies = [
"bytes",
"fnv",
"futures-core",
"futures-sink",
"futures-util",
- "http 0.2.10",
+ "http 0.2.12",
"indexmap 2.2.6",
"slab",
"tokio",
@@ -2306,9 +2297,9 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.14.3"
+version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
dependencies = [
"ahash 0.8.11",
"allocator-api2",
@@ -2320,7 +2311,7 @@ version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
dependencies = [
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
]
[[package]]
@@ -2351,10 +2342,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
-name = "hkdf"
-version = "0.12.3"
+name = "hex_color"
+version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+checksum = "d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0"
+dependencies = [
+ "rand 0.8.5",
+]
+
+[[package]]
+name = "hkdf"
+version = "0.12.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
dependencies = [
"hmac",
]
@@ -2370,11 +2370,11 @@ dependencies = [
[[package]]
name = "home"
-version = "0.5.5"
+version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -2393,13 +2393,13 @@ dependencies = [
[[package]]
name = "http"
-version = "0.2.10"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f95b9abcae896730d42b78e09c155ed4ddf82c07b4de772c64aee5b2d8b7c150"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
dependencies = [
"bytes",
"fnv",
- "itoa 1.0.9",
+ "itoa 1.0.11",
]
[[package]]
@@ -2410,17 +2410,17 @@ checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
dependencies = [
"bytes",
"fnv",
- "itoa 1.0.9",
+ "itoa 1.0.11",
]
[[package]]
name = "http-body"
-version = "0.4.5"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
dependencies = [
"bytes",
- "http 0.2.10",
+ "http 0.2.12",
"pin-project-lite",
]
@@ -2467,22 +2467,22 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hyper"
-version = "0.14.27"
+version = "0.14.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
dependencies = [
"bytes",
"futures-channel",
"futures-core",
"futures-util",
"h2",
- "http 0.2.10",
- "http-body 0.4.5",
+ "http 0.2.12",
+ "http-body 0.4.6",
"httparse",
"httpdate",
- "itoa 1.0.9",
+ "itoa 1.0.11",
"pin-project-lite",
- "socket2 0.4.10",
+ "socket2",
"tokio",
"tower-service",
"tracing",
@@ -2501,7 +2501,7 @@ dependencies = [
"http 1.1.0",
"http-body 1.0.0",
"httparse",
- "itoa 1.0.9",
+ "itoa 1.0.11",
"pin-project-lite",
"smallvec",
"tokio",
@@ -2515,10 +2515,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
- "http 0.2.10",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "hyper 0.14.28",
"log",
- "rustls 0.21.8",
+ "rustls 0.21.12",
"rustls-native-certs",
"tokio",
"tokio-rustls 0.24.1",
@@ -2547,7 +2547,7 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
dependencies = [
- "hyper 0.14.27",
+ "hyper 0.14.28",
"pin-project-lite",
"tokio",
"tokio-io-timeout",
@@ -2560,7 +2560,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [
"bytes",
- "hyper 0.14.27",
+ "hyper 0.14.28",
"native-tls",
"tokio",
"tokio-native-tls",
@@ -2568,9 +2568,9 @@ dependencies = [
[[package]]
name = "hyper-util"
-version = "0.1.3"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
+checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56"
dependencies = [
"bytes",
"futures-channel",
@@ -2579,7 +2579,7 @@ dependencies = [
"http-body 1.0.0",
"hyper 1.3.1",
"pin-project-lite",
- "socket2 0.5.5",
+ "socket2",
"tokio",
"tower",
"tower-service",
@@ -2588,16 +2588,16 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.58"
+version = "0.1.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"wasm-bindgen",
- "windows-core 0.51.1",
+ "windows-core 0.52.0",
]
[[package]]
@@ -2666,9 +2666,9 @@ checksum = "545c6c3e8bf9580e2dafee8de6f9ec14826aaf359787789c7724f1f85f47d3dc"
[[package]]
name = "icu_normalizer"
-version = "1.4.1"
+version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c183e31ed700f1ecd6b032d104c52fe8b15d028956b73727c97ec176b170e187"
+checksum = "accb85c5b2e76f8dade22978b3795ae1e550198c6cfc7e915144e17cd6e2ab56"
dependencies = [
"displaydoc",
"icu_collections",
@@ -2684,15 +2684,15 @@ dependencies = [
[[package]]
name = "icu_normalizer_data"
-version = "1.4.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22026918a80e6a9a330cb01b60f950e2b4e5284c59528fd0c6150076ef4c8522"
+checksum = "e3744fecc0df9ce19999cdaf1f9f3a48c253431ce1d67ef499128fe9d0b607ab"
[[package]]
name = "icu_properties"
-version = "1.4.0"
+version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "976e296217453af983efa25f287a4c1da04b9a63bf1ed63719455068e4453eb5"
+checksum = "d8173ba888885d250016e957b8ebfd5a65cdb690123d8833a19f6833f9c2b579"
dependencies = [
"displaydoc",
"icu_collections",
@@ -2705,9 +2705,9 @@ dependencies = [
[[package]]
name = "icu_properties_data"
-version = "1.4.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6a86c0e384532b06b6c104814f9c1b13bcd5b64409001c0d05713a1f3529d99"
+checksum = "e70a8b51ee5dd4ff8f20ee9b1dd1bc07afc110886a3747b1fec04cc6e5a15815"
[[package]]
name = "icu_provider"
@@ -2734,7 +2734,7 @@ checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -2743,17 +2743,6 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
-[[package]]
-name = "idna"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
-dependencies = [
- "matches",
- "unicode-bidi",
- "unicode-normalization",
-]
-
[[package]]
name = "idna"
version = "0.3.0"
@@ -2766,9 +2755,9 @@ dependencies = [
[[package]]
name = "idna"
-version = "0.4.0"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
dependencies = [
"unicode-bidi",
"unicode-normalization",
@@ -2823,7 +2812,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
dependencies = [
"equivalent",
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"serde",
]
@@ -2836,20 +2825,11 @@ dependencies = [
"cfb",
]
-[[package]]
-name = "inout"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
-dependencies = [
- "generic-array",
-]
-
[[package]]
name = "instant"
-version = "0.1.12"
+version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
dependencies = [
"cfg-if",
]
@@ -2880,13 +2860,13 @@ dependencies = [
[[package]]
name = "is-terminal"
-version = "0.4.9"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
dependencies = [
"hermit-abi",
- "rustix",
- "windows-sys 0.48.0",
+ "libc",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -2908,15 +2888,6 @@ dependencies = [
"nom 4.2.3",
]
-[[package]]
-name = "itertools"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
-dependencies = [
- "either",
-]
-
[[package]]
name = "itertools"
version = "0.12.1"
@@ -2934,9 +2905,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]]
name = "itoa"
-version = "1.0.9"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "javascriptcore-rs"
@@ -2983,15 +2954,6 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
-[[package]]
-name = "jobserver"
-version = "0.1.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
-dependencies = [
- "libc",
-]
-
[[package]]
name = "jpeg-decoder"
version = "0.3.1"
@@ -3003,23 +2965,22 @@ dependencies = [
[[package]]
name = "js-sys"
-version = "0.3.65"
+version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
dependencies = [
"wasm-bindgen",
]
[[package]]
name = "json-patch"
-version = "1.2.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55ff1e1486799e3f64129f8ccad108b38290df9cd7015cd31bed17239f0789d6"
+checksum = "ec9ad60d674508f3ca8f380a928cfe7b096bc729c4e2dbfe3852bc45da3ab30b"
dependencies = [
"serde",
"serde_json",
"thiserror",
- "treediff",
]
[[package]]
@@ -3087,9 +3048,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.153"
+version = "0.2.155"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
[[package]]
name = "libloading"
@@ -3119,13 +3080,12 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "libredox"
-version = "0.0.1"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
dependencies = [
"bitflags 2.5.0",
"libc",
- "redox_syscall 0.4.1",
]
[[package]]
@@ -3141,24 +3101,21 @@ dependencies = [
[[package]]
name = "line-wrap"
-version = "0.1.1"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
-dependencies = [
- "safemem",
-]
+checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e"
[[package]]
name = "linux-raw-sys"
-version = "0.4.13"
+version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
[[package]]
name = "litemap"
-version = "0.7.2"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9d642685b028806386b2b6e75685faadd3eb65a85fff7df711ce18446a422da"
+checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
[[package]]
name = "locale"
@@ -3171,9 +3128,9 @@ dependencies = [
[[package]]
name = "lock_api"
-version = "0.4.11"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
dependencies = [
"autocfg",
"scopeguard",
@@ -3265,15 +3222,15 @@ dependencies = [
[[package]]
name = "memchr"
-version = "2.7.1"
+version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
[[package]]
name = "memoffset"
-version = "0.9.0"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
dependencies = [
"autocfg",
]
@@ -3308,9 +3265,9 @@ checksum = "933dca44d65cdd53b355d0b73d380a2ff5da71f87f036053188bf1eab6a19881"
[[package]]
name = "miniz_oxide"
-version = "0.7.1"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
dependencies = [
"adler",
"simd-adler32",
@@ -3318,9 +3275,9 @@ dependencies = [
[[package]]
name = "mio"
-version = "0.8.9"
+version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
@@ -3329,9 +3286,9 @@ dependencies = [
[[package]]
name = "muda"
-version = "0.13.1"
+version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f428b4e9db3d17e2f809dfb1ff9ddfbbf16c71790d1656d10aee320877e1392f"
+checksum = "86b959f97c97044e4c96e32e1db292a7d594449546a3c6b77ae613dc3a5b5145"
dependencies = [
"cocoa",
"crossbeam-channel",
@@ -3348,11 +3305,10 @@ dependencies = [
[[package]]
name = "native-tls"
-version = "0.2.11"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
+checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466"
dependencies = [
- "lazy_static",
"libc",
"log",
"openssl",
@@ -3395,9 +3351,9 @@ dependencies = [
[[package]]
name = "new_debug_unreachable"
-version = "1.0.4"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
[[package]]
name = "nix"
@@ -3449,11 +3405,10 @@ dependencies = [
[[package]]
name = "num-bigint"
-version = "0.4.4"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
+checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7"
dependencies = [
- "autocfg",
"num-integer",
"num-traits",
"serde",
@@ -3493,9 +3448,9 @@ dependencies = [
[[package]]
name = "num-iter"
-version = "0.1.43"
+version = "0.1.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
dependencies = [
"autocfg",
"num-integer",
@@ -3504,9 +3459,9 @@ dependencies = [
[[package]]
name = "num-traits"
-version = "0.2.18"
+version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
dependencies = [
"autocfg",
"libm",
@@ -3561,14 +3516,14 @@ dependencies = [
"proc-macro-crate 2.0.2",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "num_threads"
-version = "0.1.6"
+version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
dependencies = [
"libc",
]
@@ -3596,15 +3551,15 @@ dependencies = [
[[package]]
name = "objc-sys"
-version = "0.3.3"
+version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da284c198fb9b7b0603f8635185e85fbd5b64ee154b1ed406d489077de2d6d60"
+checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310"
[[package]]
name = "objc2"
-version = "0.5.1"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4b25e1034d0e636cd84707ccdaa9f81243d399196b8a773946dcffec0401659"
+checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804"
dependencies = [
"objc-sys",
"objc2-encode",
@@ -3612,41 +3567,85 @@ dependencies = [
[[package]]
name = "objc2-app-kit"
-version = "0.2.0"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb79768a710a9a1798848179edb186d1af7e8a8679f369e4b8d201dd2a034047"
+checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff"
dependencies = [
+ "bitflags 2.5.0",
"block2",
+ "libc",
"objc2",
"objc2-core-data",
+ "objc2-core-image",
"objc2-foundation",
+ "objc2-quartz-core",
]
[[package]]
name = "objc2-core-data"
-version = "0.2.0"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e092bc42eaf30a08844e6a076938c60751225ec81431ab89f5d1ccd9f958d6c"
+checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef"
dependencies = [
+ "bitflags 2.5.0",
"block2",
"objc2",
"objc2-foundation",
]
[[package]]
-name = "objc2-encode"
-version = "4.0.1"
+name = "objc2-core-image"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88658da63e4cc2c8adb1262902cd6af51094df0488b760d6fd27194269c0950a"
-
-[[package]]
-name = "objc2-foundation"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfaefe14254871ea16c7d88968c0ff14ba554712a20d76421eec52f0a7fb8904"
+checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80"
dependencies = [
"block2",
"objc2",
+ "objc2-foundation",
+ "objc2-metal",
+]
+
+[[package]]
+name = "objc2-encode"
+version = "4.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8"
+
+[[package]]
+name = "objc2-foundation"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8"
+dependencies = [
+ "bitflags 2.5.0",
+ "block2",
+ "libc",
+ "objc2",
+]
+
+[[package]]
+name = "objc2-metal"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6"
+dependencies = [
+ "bitflags 2.5.0",
+ "block2",
+ "objc2",
+ "objc2-foundation",
+]
+
+[[package]]
+name = "objc2-quartz-core"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a"
+dependencies = [
+ "bitflags 2.5.0",
+ "block2",
+ "objc2",
+ "objc2-foundation",
+ "objc2-metal",
]
[[package]]
@@ -3669,9 +3668,9 @@ dependencies = [
[[package]]
name = "object"
-version = "0.32.1"
+version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e"
dependencies = [
"memchr",
]
@@ -3684,9 +3683,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "open"
-version = "5.1.2"
+version = "5.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32"
+checksum = "2eb49fbd5616580e9974662cb96a3463da4476e649a7e4b258df0de065db0657"
dependencies = [
"is-wsl",
"libc",
@@ -3695,9 +3694,9 @@ dependencies = [
[[package]]
name = "openssl"
-version = "0.10.59"
+version = "0.10.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33"
+checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
dependencies = [
"bitflags 2.5.0",
"cfg-if",
@@ -3716,7 +3715,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -3727,18 +3726,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-src"
-version = "300.1.6+3.1.4"
+version = "300.3.0+3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "439fac53e092cd7442a3660c85dde4643ab3b5bd39040912388dcdabf6b88085"
+checksum = "eba8804a1c5765b18c4b3f907e6897ebabeedebc9830e1a0046c4a4cf44663e1"
dependencies = [
"cc",
]
[[package]]
name = "openssl-sys"
-version = "0.9.95"
+version = "0.9.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9"
+checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
dependencies = [
"cc",
"libc",
@@ -3747,6 +3746,12 @@ dependencies = [
"vcpkg",
]
+[[package]]
+name = "option-ext"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
+
[[package]]
name = "ordered-float"
version = "2.10.1"
@@ -3756,6 +3761,16 @@ dependencies = [
"num-traits",
]
+[[package]]
+name = "ordered-multimap"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79"
+dependencies = [
+ "dlv-list",
+ "hashbrown 0.14.5",
+]
+
[[package]]
name = "ordered-stream"
version = "0.2.0"
@@ -3835,9 +3850,9 @@ checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae"
[[package]]
name = "parking_lot"
-version = "0.12.1"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
dependencies = [
"lock_api",
"parking_lot_core",
@@ -3845,33 +3860,22 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.9"
+version = "0.9.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.4.1",
+ "redox_syscall 0.5.1",
"smallvec",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "password-hash"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
-dependencies = [
- "base64ct",
- "rand_core 0.6.4",
- "subtle",
+ "windows-targets 0.52.5",
]
[[package]]
name = "paste"
-version = "1.0.14"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
[[package]]
name = "pathdiff"
@@ -3879,18 +3883,6 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
-[[package]]
-name = "pbkdf2"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
-dependencies = [
- "digest",
- "hmac",
- "password-hash",
- "sha2",
-]
-
[[package]]
name = "pem-rfc7468"
version = "0.7.0"
@@ -3902,9 +3894,9 @@ dependencies = [
[[package]]
name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "phf"
@@ -4010,7 +4002,7 @@ dependencies = [
"phf_shared 0.11.2",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -4042,29 +4034,29 @@ dependencies = [
[[package]]
name = "pin-project"
-version = "1.1.4"
+version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.1.4"
+version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.13"
+version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
[[package]]
name = "pin-utils"
@@ -4074,9 +4066,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "piper"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
+checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf"
dependencies = [
"atomic-waker",
"fastrand",
@@ -4106,17 +4098,17 @@ dependencies = [
[[package]]
name = "pkg-config"
-version = "0.3.27"
+version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
[[package]]
name = "plist"
-version = "1.6.0"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
+checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9"
dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
"indexmap 2.2.6",
"line-wrap",
"quick-xml",
@@ -4126,9 +4118,9 @@ dependencies = [
[[package]]
name = "png"
-version = "0.17.10"
+version = "0.17.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
dependencies = [
"bitflags 1.3.2",
"crc32fast",
@@ -4234,18 +4226,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
-version = "1.0.76"
+version = "1.0.84"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c"
+checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6"
dependencies = [
"unicode-ident",
]
[[package]]
name = "prost"
-version = "0.12.3"
+version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a"
+checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29"
dependencies = [
"bytes",
"prost-derive",
@@ -4253,15 +4245,15 @@ dependencies = [
[[package]]
name = "prost-derive"
-version = "0.12.3"
+version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e"
+checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
dependencies = [
"anyhow",
- "itertools 0.11.0",
+ "itertools",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -4270,7 +4262,7 @@ version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "057237efdb71cf4b3f9396302a3d6599a92fa94063ba537b66130980ea9909f3"
dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
"once_cell",
"prost",
"prost-reflect-derive",
@@ -4287,14 +4279,14 @@ checksum = "172da1212c02be2c94901440cb27183cd92bff00ebacca5c323bf7520b8f9c04"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "prost-types"
-version = "0.12.3"
+version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e"
+checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0"
dependencies = [
"prost",
]
@@ -4355,9 +4347,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.35"
+version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
dependencies = [
"proc-macro2",
]
@@ -4428,7 +4420,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.15",
]
[[package]]
@@ -4457,9 +4449,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9"
[[package]]
name = "raw-window-handle"
-version = "0.6.1"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cc3bcbdb1ddfc11e700e62968e6b4cc9c75bb466464ad28fb61c5b2c964418b"
+checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539"
[[package]]
name = "rayon"
@@ -4507,25 +4499,25 @@ dependencies = [
[[package]]
name = "redox_users"
-version = "0.4.4"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.15",
"libredox",
"thiserror",
]
[[package]]
name = "regex"
-version = "1.10.2"
+version = "1.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
dependencies = [
"aho-corasick",
"memchr",
- "regex-automata 0.4.3",
- "regex-syntax 0.8.2",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.3",
]
[[package]]
@@ -4539,13 +4531,13 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.3"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
dependencies = [
"aho-corasick",
"memchr",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
]
[[package]]
@@ -4556,9 +4548,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "regex-syntax"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
[[package]]
name = "regress"
@@ -4566,7 +4558,7 @@ version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eae2a1ebfecc58aff952ef8ccd364329abe627762f5bf09ff42eb9d98522479"
dependencies = [
- "hashbrown 0.14.3",
+ "hashbrown 0.14.5",
"memchr",
]
@@ -4581,22 +4573,22 @@ dependencies = [
[[package]]
name = "reqwest"
-version = "0.11.23"
+version = "0.11.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
dependencies = [
"async-compression",
- "base64 0.21.5",
+ "base64 0.21.7",
"bytes",
- "cookie 0.16.2",
- "cookie_store 0.16.2",
+ "cookie",
+ "cookie_store",
"encoding_rs",
"futures-core",
"futures-util",
"h2",
- "http 0.2.10",
- "http-body 0.4.5",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
"hyper-tls",
"ipnet",
"js-sys",
@@ -4607,9 +4599,11 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
+ "rustls-pemfile 1.0.4",
"serde",
"serde_json",
"serde_urlencoded",
+ "sync_wrapper",
"system-configuration",
"tokio",
"tokio-native-tls",
@@ -4628,7 +4622,7 @@ version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
"bytes",
"futures-core",
"futures-util",
@@ -4672,8 +4666,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba529055ea150e42e4eb9c11dcd380a41025ad4d594b0cb4904ef28b037e1061"
dependencies = [
"bytes",
- "cookie_store 0.20.0",
- "reqwest 0.11.23",
+ "cookie_store",
+ "reqwest 0.11.27",
"url",
]
@@ -4694,7 +4688,7 @@ dependencies = [
"objc",
"objc-foundation",
"objc_id",
- "raw-window-handle 0.6.1",
+ "raw-window-handle 0.6.2",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
@@ -4703,16 +4697,17 @@ dependencies = [
[[package]]
name = "ring"
-version = "0.17.5"
+version = "0.17.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
+checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
dependencies = [
"cc",
- "getrandom 0.2.11",
+ "cfg-if",
+ "getrandom 0.2.15",
"libc",
"spin 0.9.8",
"untrusted",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -4746,9 +4741,9 @@ dependencies = [
[[package]]
name = "rsa"
-version = "0.9.3"
+version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d"
+checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
dependencies = [
"const-oid",
"digest",
@@ -4764,6 +4759,17 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "rust-ini"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d625ed57d8f49af6cfa514c42e1a71fadcff60eb0b1c517ff82fe41aa025b41"
+dependencies = [
+ "cfg-if",
+ "ordered-multimap",
+ "trim-in-place",
+]
+
[[package]]
name = "rust_decimal"
version = "1.35.0"
@@ -4782,9 +4788,9 @@ dependencies = [
[[package]]
name = "rustc-demangle"
-version = "0.1.23"
+version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
[[package]]
name = "rustc-hash"
@@ -4803,9 +4809,9 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.31"
+version = "0.38.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f"
dependencies = [
"bitflags 2.5.0",
"errno",
@@ -4816,9 +4822,9 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.21.8"
+version = "0.21.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
+checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
dependencies = [
"log",
"ring",
@@ -4835,7 +4841,7 @@ dependencies = [
"log",
"ring",
"rustls-pki-types",
- "rustls-webpki 0.102.3",
+ "rustls-webpki 0.102.4",
"subtle",
"zeroize",
]
@@ -4858,7 +4864,7 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
]
[[package]]
@@ -4867,15 +4873,15 @@ version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
"rustls-pki-types",
]
[[package]]
name = "rustls-pki-types"
-version = "1.4.1"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
+checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
[[package]]
name = "rustls-webpki"
@@ -4889,9 +4895,9 @@ dependencies = [
[[package]]
name = "rustls-webpki"
-version = "0.102.3"
+version = "0.102.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
+checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e"
dependencies = [
"ring",
"rustls-pki-types",
@@ -4900,15 +4906,15 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.14"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
[[package]]
name = "ryu"
-version = "1.0.15"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
[[package]]
name = "ryu-js"
@@ -4916,12 +4922,6 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5"
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
[[package]]
name = "same-file"
version = "1.0.6"
@@ -4933,18 +4933,18 @@ dependencies = [
[[package]]
name = "schannel"
-version = "0.1.22"
+version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
]
[[package]]
name = "schemars"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc6e7ed6919cb46507fb01ff1654309219f62b4d603822501b0b80d42f6f21ef"
+checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92"
dependencies = [
"dyn-clone",
"indexmap 1.9.3",
@@ -4956,14 +4956,14 @@ dependencies = [
[[package]]
name = "schemars_derive"
-version = "0.8.19"
+version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "185f2b7aa7e02d418e453790dde16890256bbd2bcd04b7dc5348811052b53f49"
+checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -4996,11 +4996,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
[[package]]
name = "security-framework"
-version = "2.9.2"
+version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.5.0",
"core-foundation",
"core-foundation-sys",
"libc",
@@ -5009,9 +5009,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.9.1"
+version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7"
dependencies = [
"core-foundation-sys",
"libc",
@@ -5039,18 +5039,18 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.20"
+version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
dependencies = [
"serde",
]
[[package]]
name = "serde"
-version = "1.0.198"
+version = "1.0.203"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
+checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
dependencies = [
"serde_derive",
]
@@ -5067,53 +5067,53 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.198"
+version = "1.0.203"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
+checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "serde_derive_internals"
-version = "0.29.0"
+version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "330f01ce65a3a5fe59a60c82f3c9a024b573b8a6e875bd233fe5f934e71d54e3"
+checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "serde_json"
-version = "1.0.116"
+version = "1.0.117"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
+checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3"
dependencies = [
- "itoa 1.0.9",
+ "itoa 1.0.11",
"ryu",
"serde",
]
[[package]]
name = "serde_repr"
-version = "0.1.17"
+version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "serde_spanned"
-version = "0.6.4"
+version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
+checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
dependencies = [
"serde",
]
@@ -5125,23 +5125,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
- "itoa 1.0.9",
+ "itoa 1.0.11",
"ryu",
"serde",
]
[[package]]
name = "serde_with"
-version = "3.4.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
+checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20"
dependencies = [
- "base64 0.21.5",
+ "base64 0.22.1",
"chrono",
"hex",
"indexmap 1.9.3",
"indexmap 2.2.6",
"serde",
+ "serde_derive",
"serde_json",
"serde_with_macros",
"time",
@@ -5149,14 +5150,14 @@ dependencies = [
[[package]]
name = "serde_with_macros"
-version = "3.4.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
+checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2"
dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -5243,9 +5244,9 @@ dependencies = [
[[package]]
name = "signature"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
"digest",
"rand_core 0.6.4",
@@ -5280,45 +5281,37 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "socket2"
-version = "0.4.10"
+version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
dependencies = [
"libc",
- "winapi",
-]
-
-[[package]]
-name = "socket2"
-version = "0.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
-dependencies = [
- "libc",
- "windows-sys 0.48.0",
+ "windows-sys 0.52.0",
]
[[package]]
name = "softbuffer"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61d5d17f23326fe0d9b0af282f73f3af666699420fd5f42629efd9c6e7dc166f"
+checksum = "d09e57a5a6b300bf917329da0ff30a58737d83abb7b14f99a419c23e83007cb8"
dependencies = [
"bytemuck",
- "cfg_aliases 0.2.0",
- "cocoa",
+ "cfg_aliases 0.2.1",
"core-graphics",
"foreign-types 0.5.0",
"js-sys",
"log",
- "objc",
- "raw-window-handle 0.6.1",
+ "objc2",
+ "objc2-app-kit",
+ "objc2-foundation",
+ "objc2-quartz-core",
+ "raw-window-handle 0.6.2",
"redox_syscall 0.5.1",
"wasm-bindgen",
"wayland-sys",
@@ -5369,9 +5362,9 @@ dependencies = [
[[package]]
name = "spki"
-version = "0.7.2"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
dependencies = [
"base64ct",
"der",
@@ -5385,11 +5378,11 @@ checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
[[package]]
name = "sqlformat"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b7b278788e7be4d0d29c0f39497a0eef3fba6bbc8e70d8bf7fde46edeaa9e85"
+checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c"
dependencies = [
- "itertools 0.11.0",
+ "itertools",
"nom 7.1.3",
"unicode_categories",
]
@@ -5435,7 +5428,7 @@ dependencies = [
"once_cell",
"paste",
"percent-encoding",
- "rustls 0.21.8",
+ "rustls 0.21.12",
"rustls-pemfile 1.0.4",
"serde",
"serde_json",
@@ -5497,7 +5490,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418"
dependencies = [
"atoi",
- "base64 0.21.5",
+ "base64 0.21.7",
"bitflags 2.5.0",
"byteorder",
"bytes",
@@ -5514,7 +5507,7 @@ dependencies = [
"hex",
"hkdf",
"hmac",
- "itoa 1.0.9",
+ "itoa 1.0.11",
"log",
"md-5",
"memchr",
@@ -5541,7 +5534,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e"
dependencies = [
"atoi",
- "base64 0.21.5",
+ "base64 0.21.7",
"bitflags 2.5.0",
"byteorder",
"chrono",
@@ -5556,7 +5549,7 @@ dependencies = [
"hkdf",
"hmac",
"home",
- "itoa 1.0.9",
+ "itoa 1.0.11",
"log",
"md-5",
"memchr",
@@ -5648,20 +5641,20 @@ dependencies = [
[[package]]
name = "stringprep"
-version = "0.1.4"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6"
+checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1"
dependencies = [
- "finl_unicode",
"unicode-bidi",
"unicode-normalization",
+ "unicode-properties",
]
[[package]]
name = "strsim"
-version = "0.10.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "subtle"
@@ -5675,7 +5668,7 @@ version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bbdb58577b6301f8d17ae2561f32002a5bae056d444e0f69e611e504a276204"
dependencies = [
- "base64 0.21.5",
+ "base64 0.21.7",
"serde",
"serde_json",
]
@@ -5693,9 +5686,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.58"
+version = "2.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
+checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
dependencies = [
"proc-macro2",
"quote",
@@ -5711,7 +5704,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -5722,14 +5715,13 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
[[package]]
name = "synstructure"
-version = "0.13.0"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06"
+checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
- "unicode-xid",
+ "syn 2.0.66",
]
[[package]]
@@ -5764,12 +5756,12 @@ dependencies = [
[[package]]
name = "system-deps"
-version = "6.2.0"
+version = "6.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
dependencies = [
"cfg-expr",
- "heck 0.4.1",
+ "heck 0.5.0",
"pkg-config",
"toml 0.8.2",
"version-compare",
@@ -5803,7 +5795,7 @@ dependencies = [
"objc",
"once_cell",
"parking_lot",
- "raw-window-handle 0.6.1",
+ "raw-window-handle 0.6.2",
"scopeguard",
"tao-macros",
"unicode-segmentation",
@@ -5844,15 +5836,15 @@ dependencies = [
[[package]]
name = "target-lexicon"
-version = "0.12.12"
+version = "0.12.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
+checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
[[package]]
name = "tauri"
-version = "2.0.0-beta.19"
+version = "2.0.0-beta.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f8e5bc2e4f5eb7496d1a3e5f4d272f69f1333db5f8efed28d79d7f93334fe95"
+checksum = "5a258ecc5ac7ddade525f512c4962fd01cd0f5265e917b4572579c32c027bb31"
dependencies = [
"anyhow",
"bytes",
@@ -5861,7 +5853,7 @@ dependencies = [
"dunce",
"embed_plist",
"futures-util",
- "getrandom 0.2.11",
+ "getrandom 0.2.15",
"glob",
"gtk",
"heck 0.5.0",
@@ -5874,7 +5866,7 @@ dependencies = [
"muda",
"objc",
"percent-encoding",
- "raw-window-handle 0.6.1",
+ "raw-window-handle 0.6.2",
"reqwest 0.12.4",
"serde",
"serde_json",
@@ -5900,9 +5892,9 @@ dependencies = [
[[package]]
name = "tauri-build"
-version = "2.0.0-beta.15"
+version = "2.0.0-beta.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8aa28eebafcda490fa7097a6e3a4d07f65967614d35dd88b2aaa19dbb49241cd"
+checksum = "82b964bb6d03d97e24e12f896aab463b02a3c2ff76a60f728cc37b5548eb470e"
dependencies = [
"anyhow",
"cargo_toml",
@@ -5922,12 +5914,12 @@ dependencies = [
[[package]]
name = "tauri-codegen"
-version = "2.0.0-beta.15"
+version = "2.0.0-beta.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "727d13a28e9ec895f537d90a09acb0aa3593f703a715fe8a77f87269d3245b52"
+checksum = "3529cfa977ed7c097f2a5e8da19ecffbe61982450a6c819e6165b6d0cfd3dd3a"
dependencies = [
- "base64 0.22.0",
- "brotli",
+ "base64 0.22.1",
+ "brotli 3.5.0",
"ico",
"json-patch",
"plist",
@@ -5938,7 +5930,7 @@ dependencies = [
"serde",
"serde_json",
"sha2",
- "syn 2.0.58",
+ "syn 2.0.66",
"tauri-utils",
"thiserror",
"time",
@@ -5949,23 +5941,23 @@ dependencies = [
[[package]]
name = "tauri-macros"
-version = "2.0.0-beta.15"
+version = "2.0.0-beta.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "258667612ad901d256e04ace71ac54d4b3dd8fb1e5baa24403b50991cade4365"
+checksum = "36f97dd80334f29314aa5f40b5fad10cb9feffd08e5a5324fd728613841e5d33"
dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
"tauri-codegen",
"tauri-utils",
]
[[package]]
name = "tauri-plugin"
-version = "2.0.0-beta.13"
+version = "2.0.0-beta.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6baaee0a083db1e04a1b7a3b0670d86a4d95dd2a54e7cbfb5547762b8ed098d9"
+checksum = "7c8385fd0a4f661f5652b0d9e2d7256187d553bb174f88564d10ebcfa6a3af53"
dependencies = [
"anyhow",
"glob",
@@ -5980,8 +5972,8 @@ dependencies = [
[[package]]
name = "tauri-plugin-clipboard-manager"
-version = "2.1.0-beta.2"
-source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#56dde7688938225f91b3d35fe13432bf4ef00577"
+version = "2.1.0-beta.4"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
dependencies = [
"arboard",
"image 0.24.9",
@@ -5994,13 +5986,32 @@ dependencies = [
]
[[package]]
-name = "tauri-plugin-dialog"
+name = "tauri-plugin-deep-link"
version = "2.0.0-beta.7"
-source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#56dde7688938225f91b3d35fe13432bf4ef00577"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
dependencies = [
"dunce",
"log",
- "raw-window-handle 0.6.1",
+ "rust-ini",
+ "serde",
+ "serde_json",
+ "tauri",
+ "tauri-plugin",
+ "tauri-utils",
+ "thiserror",
+ "url",
+ "windows-registry",
+ "windows-result",
+]
+
+[[package]]
+name = "tauri-plugin-dialog"
+version = "2.0.0-beta.9"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
+dependencies = [
+ "dunce",
+ "log",
+ "raw-window-handle 0.6.2",
"rfd",
"serde",
"serde_json",
@@ -6012,8 +6023,8 @@ dependencies = [
[[package]]
name = "tauri-plugin-fs"
-version = "2.0.0-beta.7"
-source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#56dde7688938225f91b3d35fe13432bf4ef00577"
+version = "2.0.0-beta.9"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
dependencies = [
"anyhow",
"glob",
@@ -6030,8 +6041,8 @@ dependencies = [
[[package]]
name = "tauri-plugin-log"
-version = "2.0.0-beta.4"
-source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#56dde7688938225f91b3d35fe13432bf4ef00577"
+version = "2.0.0-beta.6"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
dependencies = [
"android_logger",
"byte-unit",
@@ -6050,8 +6061,8 @@ dependencies = [
[[package]]
name = "tauri-plugin-os"
-version = "2.0.0-beta.4"
-source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#56dde7688938225f91b3d35fe13432bf4ef00577"
+version = "2.0.0-beta.6"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
dependencies = [
"gethostname",
"log",
@@ -6067,8 +6078,8 @@ dependencies = [
[[package]]
name = "tauri-plugin-shell"
-version = "2.0.0-beta.4"
-source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#56dde7688938225f91b3d35fe13432bf4ef00577"
+version = "2.0.0-beta.7"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
dependencies = [
"encoding_rs",
"log",
@@ -6082,14 +6093,15 @@ dependencies = [
"tauri",
"tauri-plugin",
"thiserror",
+ "tokio",
]
[[package]]
name = "tauri-plugin-updater"
-version = "2.0.0-beta.5"
-source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#56dde7688938225f91b3d35fe13432bf4ef00577"
+version = "2.0.0-beta.7"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
"dirs-next",
"flate2",
"futures-util",
@@ -6114,8 +6126,8 @@ dependencies = [
[[package]]
name = "tauri-plugin-window-state"
-version = "2.0.0-beta.6"
-source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#56dde7688938225f91b3d35fe13432bf4ef00577"
+version = "2.0.0-beta.9"
+source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#0f739dbc483a1f091977cbe575c3862fd39f8cf1"
dependencies = [
"bitflags 2.5.0",
"log",
@@ -6128,15 +6140,15 @@ dependencies = [
[[package]]
name = "tauri-runtime"
-version = "2.0.0-beta.16"
+version = "2.0.0-beta.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "574f3d59cbe6c76b6d849bc35aa3a9e8061ff8f75f557dc33f38c0e43cf55a41"
+checksum = "d7dc96172a43536236ab55b7da7b8461bf75810985e668589e2395cb476937cb"
dependencies = [
"dpi",
"gtk",
"http 1.1.0",
"jni",
- "raw-window-handle 0.6.1",
+ "raw-window-handle 0.6.2",
"serde",
"serde_json",
"tauri-utils",
@@ -6147,9 +6159,9 @@ dependencies = [
[[package]]
name = "tauri-runtime-wry"
-version = "2.0.0-beta.16"
+version = "2.0.0-beta.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6d1f223de1d674aaa561c900ac650b3160f11520e9b191a3574f6c493fc77fa"
+checksum = "5d4fd913b1f14a9b618c7f3ae35656d3aa759767fcb95b72006357c12b9d0b09"
dependencies = [
"cocoa",
"gtk",
@@ -6157,7 +6169,7 @@ dependencies = [
"jni",
"log",
"percent-encoding",
- "raw-window-handle 0.6.1",
+ "raw-window-handle 0.6.2",
"softbuffer",
"tao",
"tauri-runtime",
@@ -6171,16 +6183,15 @@ dependencies = [
[[package]]
name = "tauri-utils"
-version = "2.0.0-beta.15"
+version = "2.0.0-beta.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b4251529d92b5c611ccaa611f8a31cb41b1aa00db8bcc0a49efe5d966bfa911"
+checksum = "4f24a9c20d676a3f025331cc1c3841256ba88c9f25fb7fae709d2b3089c50d90"
dependencies = [
- "brotli",
+ "brotli 3.5.0",
"cargo_metadata",
"ctor",
"dunce",
"glob",
- "heck 0.5.0",
"html5ever",
"infer",
"json-patch",
@@ -6216,9 +6227,9 @@ dependencies = [
[[package]]
name = "tempfile"
-version = "3.10.0"
+version = "3.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
dependencies = [
"cfg-if",
"fastrand",
@@ -6251,29 +6262,29 @@ checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b"
[[package]]
name = "thiserror"
-version = "1.0.59"
+version = "1.0.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa"
+checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.59"
+version = "1.0.61"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66"
+checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "thread_local"
-version = "1.1.7"
+version = "1.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
dependencies = [
"cfg-if",
"once_cell",
@@ -6297,7 +6308,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
"deranged",
- "itoa 1.0.9",
+ "itoa 1.0.11",
"js-sys",
"libc",
"num-conv",
@@ -6325,10 +6336,19 @@ dependencies = [
]
[[package]]
-name = "tinystr"
-version = "0.7.5"
+name = "tiny-keccak"
+version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
+
+[[package]]
+name = "tinystr"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
dependencies = [
"displaydoc",
"zerovec",
@@ -6351,9 +6371,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.36.0"
+version = "1.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
dependencies = [
"backtrace",
"bytes",
@@ -6362,7 +6382,7 @@ dependencies = [
"num_cpus",
"pin-project-lite",
"signal-hook-registry",
- "socket2 0.5.5",
+ "socket2",
"tokio-macros",
"tracing",
"windows-sys 0.48.0",
@@ -6380,13 +6400,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
-version = "2.2.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
+checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -6405,7 +6425,7 @@ version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
- "rustls 0.21.8",
+ "rustls 0.21.12",
"tokio",
]
@@ -6433,16 +6453,15 @@ dependencies = [
[[package]]
name = "tokio-util"
-version = "0.7.10"
+version = "0.7.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
+checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1"
dependencies = [
"bytes",
"futures-core",
"futures-sink",
"pin-project-lite",
"tokio",
- "tracing",
]
[[package]]
@@ -6513,12 +6532,12 @@ dependencies = [
"async-stream",
"async-trait",
"axum",
- "base64 0.21.5",
+ "base64 0.21.7",
"bytes",
"h2",
- "http 0.2.10",
- "http-body 0.4.5",
- "hyper 0.14.27",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
"hyper-timeout",
"percent-encoding",
"pin-project",
@@ -6596,7 +6615,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -6611,9 +6630,9 @@ dependencies = [
[[package]]
name = "tracing-log"
-version = "0.1.4"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
+checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
@@ -6622,9 +6641,9 @@ dependencies = [
[[package]]
name = "tracing-subscriber"
-version = "0.3.17"
+version = "0.3.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
dependencies = [
"matchers",
"nu-ansi-term",
@@ -6640,14 +6659,14 @@ dependencies = [
[[package]]
name = "tray-icon"
-version = "0.13.4"
+version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a97ec55956c54569e74209ae9d29a7a79193b252d17a6ac28bcffd4c11a384ad"
+checksum = "0b27516dfcfa22a9faaf192283a122bfbede38c1e59ef194e3c4db6549b419c0"
dependencies = [
"cocoa",
"core-graphics",
"crossbeam-channel",
- "dirs-next",
+ "dirs",
"libappindicator",
"muda",
"objc",
@@ -6659,19 +6678,16 @@ dependencies = [
]
[[package]]
-name = "treediff"
-version = "4.0.2"
+name = "trim-in-place"
+version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303"
-dependencies = [
- "serde_json",
-]
+checksum = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc"
[[package]]
name = "try-lock"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
[[package]]
name = "typenum"
@@ -6742,9 +6758,9 @@ dependencies = [
[[package]]
name = "unicode-bidi"
-version = "0.3.13"
+version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
[[package]]
name = "unicode-ident"
@@ -6754,13 +6770,19 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "unicode-normalization"
-version = "0.1.22"
+version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
dependencies = [
"tinyvec",
]
+[[package]]
+name = "unicode-properties"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291"
+
[[package]]
name = "unicode-segmentation"
version = "1.11.0"
@@ -6769,15 +6791,9 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
[[package]]
name = "unicode-width"
-version = "0.1.11"
+version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
[[package]]
name = "unicode_categories"
@@ -6793,12 +6809,12 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "url"
-version = "2.4.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
dependencies = [
"form_urlencoded",
- "idna 0.4.0",
+ "idna 0.5.0",
"percent-encoding",
"serde",
]
@@ -6830,29 +6846,29 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
[[package]]
name = "utf16_iter"
-version = "1.0.4"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52df8b7fb78e7910d776fccf2e42ceaf3604d55e8e7eb2dbd183cb1441d8a692"
+checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
[[package]]
name = "utf8-width"
-version = "0.1.6"
+version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1"
+checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
[[package]]
name = "utf8_iter"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a8922555b9500e3d865caed19330172cd67cbf82203f1a3311d8c305cc9f33"
+checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]]
name = "uuid"
-version = "1.7.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
dependencies = [
- "getrandom 0.2.11",
+ "getrandom 0.2.15",
]
[[package]]
@@ -6863,9 +6879,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "value-bag"
-version = "1.8.1"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74797339c3b98616c009c7c3eb53a0ce41e85c8ec66bd3db96ed132d20cfdee8"
+checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101"
[[package]]
name = "vcpkg"
@@ -6875,9 +6891,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version-compare"
-version = "0.1.1"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
[[package]]
name = "version_check"
@@ -6913,9 +6929,9 @@ dependencies = [
[[package]]
name = "walkdir"
-version = "2.4.0"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
dependencies = [
"same-file",
"winapi-util",
@@ -6943,10 +6959,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
-name = "wasm-bindgen"
-version = "0.2.88"
+name = "wasite"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce"
+checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
+
+[[package]]
+name = "wasm-bindgen"
+version = "0.2.92"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -6954,24 +6976,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.88"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.38"
+version = "0.4.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
dependencies = [
"cfg-if",
"js-sys",
@@ -6981,9 +7003,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.88"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -6991,22 +7013,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.88"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.88"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
[[package]]
name = "wasm-streams"
@@ -7023,9 +7045,9 @@ dependencies = [
[[package]]
name = "wayland-sys"
-version = "0.31.1"
+version = "0.31.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
+checksum = "105b1842da6554f91526c14a2a2172897b7f745a805d62af4ce698706be79c12"
dependencies = [
"dlib",
"log",
@@ -7034,9 +7056,9 @@ dependencies = [
[[package]]
name = "web-sys"
-version = "0.3.65"
+version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -7123,7 +7145,7 @@ checksum = "ac1345798ecd8122468840bcdf1b95e5dc6d2206c5e4b0eafa078d061f59c9bc"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -7145,9 +7167,13 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
[[package]]
name = "whoami"
-version = "1.4.1"
+version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50"
+checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9"
+dependencies = [
+ "redox_syscall 0.4.1",
+ "wasite",
+]
[[package]]
name = "winapi"
@@ -7167,11 +7193,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
-version = "0.1.6"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
dependencies = [
- "winapi",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -7188,7 +7214,7 @@ checksum = "33082acd404763b315866e14a0d5193f3422c81086657583937a750cdd3ec340"
dependencies = [
"cocoa",
"objc",
- "raw-window-handle 0.6.1",
+ "raw-window-handle 0.6.2",
"windows-sys 0.52.0",
"windows-version",
]
@@ -7214,11 +7240,11 @@ dependencies = [
[[package]]
name = "windows-core"
-version = "0.51.1"
+version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [
- "windows-targets 0.48.5",
+ "windows-targets 0.52.5",
]
[[package]]
@@ -7241,7 +7267,7 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
@@ -7252,7 +7278,17 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
+]
+
+[[package]]
+name = "windows-registry"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f721bc2e55efb506a1a395a545cb76c2481fb023d33b51f0050e7888716281cf"
+dependencies = [
+ "windows-result",
+ "windows-targets 0.52.5",
]
[[package]]
@@ -7339,9 +7375,9 @@ dependencies = [
[[package]]
name = "windows-version"
-version = "0.1.0"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75aa004c988e080ad34aff5739c39d0312f4684699d6d71fc8a198d057b8b9b4"
+checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515"
dependencies = [
"windows-targets 0.52.5",
]
@@ -7480,9 +7516,9 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
[[package]]
name = "winnow"
-version = "0.5.19"
+version = "0.5.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
+checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
dependencies = [
"memchr",
]
@@ -7497,16 +7533,6 @@ dependencies = [
"windows-sys 0.48.0",
]
-[[package]]
-name = "winreg"
-version = "0.51.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc"
-dependencies = [
- "cfg-if",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "winreg"
version = "0.52.0"
@@ -7525,17 +7551,17 @@ checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
[[package]]
name = "writeable"
-version = "0.5.4"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dad7bb64b8ef9c0aa27b6da38b452b0ee9fd82beaf276a87dd796fb55cbae14e"
+checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
[[package]]
name = "wry"
-version = "0.39.3"
+version = "0.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e180ac2740d6cb4d5cec0abf63eacbea90f1b7e5e3803043b13c1c84c4b7884"
+checksum = "7cd42682bad8d1efd0e0d0593770c602c13b8922bb1ca705cb845967de81bbc4"
dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
"block",
"cocoa",
"core-graphics",
@@ -7557,7 +7583,7 @@ dependencies = [
"objc_id",
"once_cell",
"percent-encoding",
- "raw-window-handle 0.6.1",
+ "raw-window-handle 0.6.2",
"sha2",
"soup3",
"tao-macros",
@@ -7643,20 +7669,21 @@ dependencies = [
name = "yaak-app"
version = "0.0.0"
dependencies = [
- "base64 0.22.0",
+ "base64 0.22.1",
"boa_engine",
"boa_runtime",
"chrono",
"cocoa",
"datetime",
"grpc",
- "http 0.2.10",
+ "hex_color",
+ "http 0.2.12",
"log",
"objc",
"openssl-sys",
"rand 0.8.5",
"regex",
- "reqwest 0.11.23",
+ "reqwest 0.11.27",
"reqwest_cookie_store",
"serde",
"serde_json",
@@ -7664,6 +7691,7 @@ dependencies = [
"tauri",
"tauri-build",
"tauri-plugin-clipboard-manager",
+ "tauri-plugin-deep-link",
"tauri-plugin-dialog",
"tauri-plugin-fs",
"tauri-plugin-log",
@@ -7674,13 +7702,14 @@ dependencies = [
"tokio",
"tokio-stream",
"uuid",
+ "windows 0.56.0",
]
[[package]]
name = "yoke"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65e71b2e4f287f467794c671e2b8f8a5f3716b3c829079a1c44740148eff07e4"
+checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
dependencies = [
"serde",
"stable_deref_trait",
@@ -7690,13 +7719,13 @@ dependencies = [
[[package]]
name = "yoke-derive"
-version = "0.7.3"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8"
+checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
"synstructure",
]
@@ -7712,7 +7741,7 @@ dependencies = [
"async-trait",
"derivative",
"enumflags2",
- "event-listener 5.3.0",
+ "event-listener 5.3.1",
"futures-core",
"futures-sink",
"futures-util",
@@ -7761,56 +7790,56 @@ dependencies = [
[[package]]
name = "zerocopy"
-version = "0.7.32"
+version = "0.7.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
+checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.7.32"
+version = "0.7.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
+checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "zerofrom"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "655b0814c5c0b19ade497851070c640773304939a6c0fd5f5fb43da0696d05b7"
+checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
dependencies = [
"zerofrom-derive",
]
[[package]]
name = "zerofrom-derive"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3"
+checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
"synstructure",
]
[[package]]
name = "zeroize"
-version = "1.6.0"
+version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
[[package]]
name = "zerovec"
-version = "0.10.1"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eff4439ae91fb5c72b8abc12f3f2dbf51bd27e6eadb9f8a5bc8898dddb0e27ea"
+checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c"
dependencies = [
"yoke",
"zerofrom",
@@ -7819,62 +7848,28 @@ dependencies = [
[[package]]
name = "zerovec-derive"
-version = "0.10.1"
+version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b4e5997cbf58990550ef1f0e5124a05e47e1ebd33a84af25739be6031a62c20"
+checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.58",
+ "syn 2.0.66",
]
[[package]]
name = "zip"
-version = "0.6.6"
+version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
+checksum = "9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164"
dependencies = [
- "aes",
- "byteorder",
- "bzip2",
- "constant_time_eq",
+ "arbitrary",
"crc32fast",
"crossbeam-utils",
- "flate2",
- "hmac",
- "pbkdf2",
- "sha1",
- "time",
- "zstd",
-]
-
-[[package]]
-name = "zstd"
-version = "0.11.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
-dependencies = [
- "zstd-safe",
-]
-
-[[package]]
-name = "zstd-safe"
-version = "5.0.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
-dependencies = [
- "libc",
- "zstd-sys",
-]
-
-[[package]]
-name = "zstd-sys"
-version = "2.0.10+zstd.1.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa"
-dependencies = [
- "cc",
- "pkg-config",
+ "displaydoc",
+ "indexmap 2.2.6",
+ "num_enum 0.7.2",
+ "thiserror",
]
[[package]]
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index ef7c3d2e..8aac84c9 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -20,6 +20,13 @@ tauri-build = { version = "2.0.0-beta", features = [] }
objc = "0.2.7"
cocoa = "0.25.0"
+[target.'cfg(target_os = "windows")'.dependencies]
+windows = { version = "0.56.0", features = [
+ "Win32_Graphics_Dwm",
+ "Win32_Foundation",
+ "Win32_UI_Controls",
+] }
+
[target.'cfg(target_os = "linux")'.dependencies]
openssl-sys = { version = "0.9", features = ["vendored"] } # For Ubuntu installation to work
@@ -34,7 +41,7 @@ reqwest = { version = "0.11.23", features = ["multipart", "cookies", "gzip", "br
serde = { version = "1.0.198", features = ["derive"] }
serde_json = { version = "1.0.116", features = ["raw_value"] }
sqlx = { version = "0.7.4", features = ["sqlite", "runtime-tokio-rustls", "json", "chrono", "time"] }
-tauri = { version = "2.0.0-beta.19", features = ["config-toml", "devtools", "protocol-asset"] }
+tauri = { version = "2.0.0-beta.22", features = ["config-toml", "devtools", "protocol-asset"] }
tauri-plugin-clipboard-manager = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
tauri-plugin-dialog = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
tauri-plugin-log = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2", features = ["colored"] }
@@ -43,6 +50,7 @@ tauri-plugin-os = { git = "https://github.com/tauri-apps/plugins-workspace", bra
tauri-plugin-updater = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
tauri-plugin-fs = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
+tauri-plugin-deep-link = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
tokio = { version = "1.36.0", features = ["sync"] }
uuid = "1.7.0"
log = "0.4.21"
@@ -51,3 +59,4 @@ reqwest_cookie_store = "0.6.0"
grpc = { path = "./grpc" }
tokio-stream = "0.1.15"
regex = "1.10.2"
+hex_color = "3.0.0"
diff --git a/src-tauri/capabilities/capabilities.json b/src-tauri/capabilities/capabilities.json
index 0e65fdf3..8f560256 100644
--- a/src-tauri/capabilities/capabilities.json
+++ b/src-tauri/capabilities/capabilities.json
@@ -39,6 +39,7 @@
}
]
},
+ "webview:allow-set-webview-zoom",
"window:allow-close",
"window:allow-is-fullscreen",
"window:allow-maximize",
@@ -48,6 +49,7 @@
"window:allow-set-title",
"window:allow-start-dragging",
"window:allow-unmaximize",
+ "window:allow-theme",
"clipboard-manager:allow-read-text",
"clipboard-manager:allow-write-text"
]
diff --git a/src-tauri/gen/apple/.gitignore b/src-tauri/gen/apple/.gitignore
deleted file mode 100644
index 6726e2f8..00000000
--- a/src-tauri/gen/apple/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-xcuserdata/
-build/
-Externals/
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png
deleted file mode 100644
index f8b128e3..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@1x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png
deleted file mode 100644
index 6bbd9e3c..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x-1.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png
deleted file mode 100644
index 6bbd9e3c..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@2x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png
deleted file mode 100644
index f702cc04..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-20x20@3x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png
deleted file mode 100644
index c5e92f78..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@1x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png
deleted file mode 100644
index 1c607d5c..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x-1.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png
deleted file mode 100644
index 1c607d5c..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@2x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png
deleted file mode 100644
index 60e93a6a..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-29x29@3x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png
deleted file mode 100644
index 6bbd9e3c..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@1x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png
deleted file mode 100644
index 819410f9..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x-1.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png
deleted file mode 100644
index 819410f9..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@2x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png
deleted file mode 100644
index e00ae5a6..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-40x40@3x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
deleted file mode 100644
index f5301f37..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512x512@2x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512x512@2x.png
deleted file mode 100644
index 5e9add73..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-512x512@2x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png
deleted file mode 100644
index e00ae5a6..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@2x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png
deleted file mode 100644
index 3546ca10..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-60x60@3x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png
deleted file mode 100644
index d8367101..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@1x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png
deleted file mode 100644
index 29925f2a..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-76x76@2x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png
deleted file mode 100644
index dfd22619..00000000
Binary files a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5x83.5@2x.png and /dev/null differ
diff --git a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/Contents.json b/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 90eea7ec..00000000
--- a/src-tauri/gen/apple/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "images" : [
- {
- "size" : "20x20",
- "idiom" : "iphone",
- "filename" : "AppIcon-20x20@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "20x20",
- "idiom" : "iphone",
- "filename" : "AppIcon-20x20@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "AppIcon-29x29@2x-1.png",
- "scale" : "2x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "AppIcon-29x29@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "AppIcon-40x40@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "AppIcon-40x40@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "AppIcon-60x60@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "AppIcon-60x60@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "20x20",
- "idiom" : "ipad",
- "filename" : "AppIcon-20x20@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "20x20",
- "idiom" : "ipad",
- "filename" : "AppIcon-20x20@2x-1.png",
- "scale" : "2x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "AppIcon-29x29@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "AppIcon-29x29@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "AppIcon-40x40@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "AppIcon-40x40@2x-1.png",
- "scale" : "2x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "AppIcon-76x76@1x.png",
- "scale" : "1x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "AppIcon-76x76@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "83.5x83.5",
- "idiom" : "ipad",
- "filename" : "AppIcon-83.5x83.5@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "1024x1024",
- "idiom" : "ios-marketing",
- "filename" : "AppIcon-512@2x.png",
- "scale" : "1x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/src-tauri/gen/apple/Assets.xcassets/Contents.json b/src-tauri/gen/apple/Assets.xcassets/Contents.json
deleted file mode 100644
index da4a164c..00000000
--- a/src-tauri/gen/apple/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/src-tauri/gen/apple/ExportOptions.plist b/src-tauri/gen/apple/ExportOptions.plist
deleted file mode 100644
index b69cf1de..00000000
--- a/src-tauri/gen/apple/ExportOptions.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- method
- development
-
-
diff --git a/src-tauri/gen/apple/Podfile b/src-tauri/gen/apple/Podfile
deleted file mode 100644
index e3cff877..00000000
--- a/src-tauri/gen/apple/Podfile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Uncomment the next line to define a global platform for your project
-
-target 'yaak-app_iOS' do
-platform :ios, '13.0'
- # Pods for yaak-app_iOS
-end
-
-target 'yaak-app_macOS' do
-platform :osx, '11.0'
- # Pods for yaak-app_macOS
-end
-
-# Delete the deployment target for iOS and macOS, causing it to be inherited from the Podfile
-post_install do |installer|
- installer.pods_project.targets.each do |target|
- target.build_configurations.each do |config|
- config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
- config.build_settings.delete 'MACOSX_DEPLOYMENT_TARGET'
- end
- end
-end
diff --git a/src-tauri/gen/apple/Sources/yaak-app/bindings/bindings.h b/src-tauri/gen/apple/Sources/yaak-app/bindings/bindings.h
deleted file mode 100644
index 51522007..00000000
--- a/src-tauri/gen/apple/Sources/yaak-app/bindings/bindings.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#pragma once
-
-namespace ffi {
- extern "C" {
- void start_app();
- }
-}
-
diff --git a/src-tauri/gen/apple/Sources/yaak-app/main.mm b/src-tauri/gen/apple/Sources/yaak-app/main.mm
deleted file mode 100644
index 7793a9d5..00000000
--- a/src-tauri/gen/apple/Sources/yaak-app/main.mm
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "bindings/bindings.h"
-
-int main(int argc, char * argv[]) {
- ffi::start_app();
- return 0;
-}
diff --git a/src-tauri/gen/apple/project.yml b/src-tauri/gen/apple/project.yml
deleted file mode 100644
index 9d5d67f4..00000000
--- a/src-tauri/gen/apple/project.yml
+++ /dev/null
@@ -1,90 +0,0 @@
-name: yaak-app
-options:
- bundleIdPrefix: app.yaak
- deploymentTarget:
- iOS: 13.0
-fileGroups: [../../src]
-configs:
- debug: debug
- release: release
-settingGroups:
- app:
- base:
- PRODUCT_NAME: Yaak
- PRODUCT_BUNDLE_IDENTIFIER: app.yaak.yaak-app
- DEVELOPMENT_TEAM: 7PU3P6ELJ8
-targetTemplates:
- app:
- type: application
- sources:
- - path: Sources
- scheme:
- environmentVariables:
- RUST_BACKTRACE: full
- RUST_LOG: info
- settings:
- groups: [app]
-targets:
- yaak-app_iOS:
- type: application
- platform: iOS
- sources:
- - path: Sources
- - path: Assets.xcassets
- - path: Externals
- - path: yaak-app_iOS
- - path: assets
- buildPhase: resources
- type: folder
- info:
- path: yaak-app_iOS/Info.plist
- properties:
- LSRequiresIPhoneOS: true
- UILaunchStoryboardName: LaunchScreen
- UIRequiredDeviceCapabilities: [arm64, metal]
- UISupportedInterfaceOrientations:
- - UIInterfaceOrientationPortrait
- - UIInterfaceOrientationLandscapeLeft
- - UIInterfaceOrientationLandscapeRight
- UISupportedInterfaceOrientations~ipad:
- - UIInterfaceOrientationPortrait
- - UIInterfaceOrientationPortraitUpsideDown
- - UIInterfaceOrientationLandscapeLeft
- - UIInterfaceOrientationLandscapeRight
- CFBundleShortVersionString: 2024.3.10
- CFBundleVersion: 2024.3.10
- entitlements:
- path: yaak-app_iOS/yaak-app_iOS.entitlements
- scheme:
- environmentVariables:
- RUST_BACKTRACE: full
- RUST_LOG: info
- settings:
- base:
- ENABLE_BITCODE: false
- ARCHS: [arm64, arm64-sim]
- VALID_ARCHS: arm64 arm64-sim
- LIBRARY_SEARCH_PATHS[arch=x86_64]: $(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
- LIBRARY_SEARCH_PATHS[arch=arm64]: $(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
- LIBRARY_SEARCH_PATHS[arch=arm64-sim]: $(inherited) $(PROJECT_DIR)/Externals/arm64-sim/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: true
- EXCLUDED_ARCHS[sdk=iphonesimulator*]: arm64
- EXCLUDED_ARCHS[sdk=iphoneos*]: arm64-sim x86_64
- groups: [app]
- dependencies:
- - framework: libapp_lib.a
- embed: false
- - sdk: CoreGraphics.framework
- - sdk: Metal.framework
- - sdk: MetalKit.framework
- - sdk: QuartzCore.framework
- - sdk: Security.framework
- - sdk: UIKit.framework
- - sdk: WebKit.framework
- preBuildScripts:
- - script: node tauri ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths "${FRAMEWORK_SEARCH_PATHS:?}" --header-search-paths "${HEADER_SEARCH_PATHS:?}" --gcc-preprocessor-definitions "${GCC_PREPROCESSOR_DEFINITIONS:-}" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}
- name: Build Rust Code
- basedOnDependencyAnalysis: false
- outputFiles:
- - $(SRCROOT)/target/aarch64-apple-ios/${CONFIGURATION}/deps/libapp_lib.a
- - $(SRCROOT)/target/x86_64-apple-ios/${CONFIGURATION}/deps/libapp_lib.a
\ No newline at end of file
diff --git a/src-tauri/gen/apple/yaak-app.xcodeproj/project.pbxproj b/src-tauri/gen/apple/yaak-app.xcodeproj/project.pbxproj
deleted file mode 100644
index b076dfd1..00000000
--- a/src-tauri/gen/apple/yaak-app.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,481 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 54;
- objects = {
-
-/* Begin PBXBuildFile section */
- 0AC23E163631EF3775908406 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EDEF0D2E01608E7F464F71B6 /* WebKit.framework */; };
- 1B1BFDF8BC345D0D980E4427 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EF0B8CF73BE8166011E2CEAB /* QuartzCore.framework */; };
- 36588BE1A75B386BB2FEDAC5 /* MetalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A93A95F6B2F31FA92AA099E0 /* MetalKit.framework */; };
- 38E2C1B0E9FCC9A5FDE8876D /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF2908761467DF191C2A8939 /* Metal.framework */; };
- 8D518C1A67069BD7D339D055 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F34A96C5084EFDF1802A634 /* CoreGraphics.framework */; };
- 8DF67739DC49E577EB0FAE3F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 396F45DCFBE2C71866817528 /* Assets.xcassets */; };
- A1D932F0E7399066AD07DC6D /* libapp_lib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 75D938BE0FA8770BA965AE1E /* libapp_lib.a */; };
- AF0EEC868306E1D1C85994D0 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5BF2E39256494269E65F8E /* Security.framework */; };
- BE9FFDF51EB7DEBF707BB39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5415A3F2D217A47DD3BA40B3 /* UIKit.framework */; };
- F0627C04787F4E187EF416F4 /* assets in Resources */ = {isa = PBXBuildFile; fileRef = 2A615609009B3AE2728043E4 /* assets */; };
- FEE5934F5FFB0FBE10883AF2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = C754460F1DAF2D414038A7EA /* main.mm */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 106BE62BE01A35403424018C /* main.rs */ = {isa = PBXFileReference; path = main.rs; sourceTree = ""; };
- 14F240DAC31C5C52D7B4BB96 /* window_ext.rs */ = {isa = PBXFileReference; path = window_ext.rs; sourceTree = ""; };
- 1B5226A88D8B805E878524C8 /* updates.rs */ = {isa = PBXFileReference; path = updates.rs; sourceTree = ""; };
- 1F34A96C5084EFDF1802A634 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
- 1F5A647F82A24722F3C830BB /* plugin.rs */ = {isa = PBXFileReference; path = plugin.rs; sourceTree = ""; };
- 2A615609009B3AE2728043E4 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; path = assets; sourceTree = SOURCE_ROOT; };
- 396F45DCFBE2C71866817528 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- 53872C1120171EDC4A6DFEDD /* analytics.rs */ = {isa = PBXFileReference; path = analytics.rs; sourceTree = ""; };
- 5415A3F2D217A47DD3BA40B3 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
- 5C1B6610F62B56E1947BEBBD /* http.rs */ = {isa = PBXFileReference; path = http.rs; sourceTree = ""; };
- 6286C385ABAD2E04237679D7 /* yaak-app_iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "yaak-app_iOS.entitlements"; sourceTree = ""; };
- 75D938BE0FA8770BA965AE1E /* libapp_lib.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libapp_lib.a; sourceTree = ""; };
- 7B5BF2E39256494269E65F8E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
- A2CC02313D71CECB68031D53 /* grpc.rs */ = {isa = PBXFileReference; path = grpc.rs; sourceTree = ""; };
- A6DA9B210723CA84891876F8 /* bindings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bindings.h; sourceTree = ""; };
- A93A95F6B2F31FA92AA099E0 /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
- C754460F1DAF2D414038A7EA /* main.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = ""; };
- D69BFB768591FDEEF65198EE /* yaak-app_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = "yaak-app_iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
- DDDE197D9C6BC5680EEEEA00 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; };
- DF2908761467DF191C2A8939 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
- DF45D08D97DE587CABF9537E /* window_menu.rs */ = {isa = PBXFileReference; path = window_menu.rs; sourceTree = ""; };
- E1E84E267D81D6437901B1C6 /* render.rs */ = {isa = PBXFileReference; path = render.rs; sourceTree = ""; };
- E964D3637BAED49E34B91739 /* models.rs */ = {isa = PBXFileReference; path = models.rs; sourceTree = ""; };
- EDEF0D2E01608E7F464F71B6 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
- EF0B8CF73BE8166011E2CEAB /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
- FB34CB48BB9F25D49F80D513 /* lib.rs */ = {isa = PBXFileReference; path = lib.rs; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- D8E8888B0F3E4411B98AE8EE /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A1D932F0E7399066AD07DC6D /* libapp_lib.a in Frameworks */,
- 8D518C1A67069BD7D339D055 /* CoreGraphics.framework in Frameworks */,
- 38E2C1B0E9FCC9A5FDE8876D /* Metal.framework in Frameworks */,
- 36588BE1A75B386BB2FEDAC5 /* MetalKit.framework in Frameworks */,
- 1B1BFDF8BC345D0D980E4427 /* QuartzCore.framework in Frameworks */,
- AF0EEC868306E1D1C85994D0 /* Security.framework in Frameworks */,
- BE9FFDF51EB7DEBF707BB39A /* UIKit.framework in Frameworks */,
- 0AC23E163631EF3775908406 /* WebKit.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 0844ACEFE550685042AC6029 /* Products */ = {
- isa = PBXGroup;
- children = (
- D69BFB768591FDEEF65198EE /* yaak-app_iOS.app */,
- );
- name = Products;
- sourceTree = "";
- };
- 6D0B6FF641B88DAF74C78B00 /* Externals */ = {
- isa = PBXGroup;
- children = (
- );
- path = Externals;
- sourceTree = "";
- };
- 8A07575CB8654BB9107F9A32 /* bindings */ = {
- isa = PBXGroup;
- children = (
- A6DA9B210723CA84891876F8 /* bindings.h */,
- );
- path = bindings;
- sourceTree = "";
- };
- 8F0B46911FBEF2B246BE3385 /* yaak-app */ = {
- isa = PBXGroup;
- children = (
- C754460F1DAF2D414038A7EA /* main.mm */,
- 8A07575CB8654BB9107F9A32 /* bindings */,
- );
- path = "yaak-app";
- sourceTree = "";
- };
- 90E982C0E9B45CBAAE66E16D /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 1F34A96C5084EFDF1802A634 /* CoreGraphics.framework */,
- 75D938BE0FA8770BA965AE1E /* libapp_lib.a */,
- DF2908761467DF191C2A8939 /* Metal.framework */,
- A93A95F6B2F31FA92AA099E0 /* MetalKit.framework */,
- EF0B8CF73BE8166011E2CEAB /* QuartzCore.framework */,
- 7B5BF2E39256494269E65F8E /* Security.framework */,
- 5415A3F2D217A47DD3BA40B3 /* UIKit.framework */,
- EDEF0D2E01608E7F464F71B6 /* WebKit.framework */,
- );
- name = Frameworks;
- sourceTree = "";
- };
- C88F9D29DC52F052255C35A3 = {
- isa = PBXGroup;
- children = (
- 2A615609009B3AE2728043E4 /* assets */,
- 396F45DCFBE2C71866817528 /* Assets.xcassets */,
- 6D0B6FF641B88DAF74C78B00 /* Externals */,
- EBC83899FBFA4A3D0A92837F /* Sources */,
- F3A6B45E25E23922AB1BDB34 /* src */,
- D49CF68C9105CE84E2084C14 /* yaak-app_iOS */,
- 90E982C0E9B45CBAAE66E16D /* Frameworks */,
- 0844ACEFE550685042AC6029 /* Products */,
- );
- sourceTree = "";
- };
- D49CF68C9105CE84E2084C14 /* yaak-app_iOS */ = {
- isa = PBXGroup;
- children = (
- DDDE197D9C6BC5680EEEEA00 /* Info.plist */,
- 6286C385ABAD2E04237679D7 /* yaak-app_iOS.entitlements */,
- );
- path = "yaak-app_iOS";
- sourceTree = "";
- };
- EBC83899FBFA4A3D0A92837F /* Sources */ = {
- isa = PBXGroup;
- children = (
- 8F0B46911FBEF2B246BE3385 /* yaak-app */,
- );
- path = Sources;
- sourceTree = "";
- };
- F3A6B45E25E23922AB1BDB34 /* src */ = {
- isa = PBXGroup;
- children = (
- 53872C1120171EDC4A6DFEDD /* analytics.rs */,
- A2CC02313D71CECB68031D53 /* grpc.rs */,
- 5C1B6610F62B56E1947BEBBD /* http.rs */,
- FB34CB48BB9F25D49F80D513 /* lib.rs */,
- 106BE62BE01A35403424018C /* main.rs */,
- E964D3637BAED49E34B91739 /* models.rs */,
- 1F5A647F82A24722F3C830BB /* plugin.rs */,
- E1E84E267D81D6437901B1C6 /* render.rs */,
- 1B5226A88D8B805E878524C8 /* updates.rs */,
- 14F240DAC31C5C52D7B4BB96 /* window_ext.rs */,
- DF45D08D97DE587CABF9537E /* window_menu.rs */,
- );
- name = src;
- path = ../../src;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 7C3E2AC18A0A227C2DF356E2 /* yaak-app_iOS */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = C05E07AE7C7B25CACFADCDD4 /* Build configuration list for PBXNativeTarget "yaak-app_iOS" */;
- buildPhases = (
- 5454ED506FC51D41C81A0318 /* Build Rust Code */,
- C3495A2849227C6276D3876E /* Sources */,
- E148188313FB67F061AB4E59 /* Resources */,
- D8E8888B0F3E4411B98AE8EE /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "yaak-app_iOS";
- productName = "yaak-app_iOS";
- productReference = D69BFB768591FDEEF65198EE /* yaak-app_iOS.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- A8F6206BC76F061F1FEFD439 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- BuildIndependentTargetsInParallel = YES;
- LastUpgradeCheck = 1430;
- TargetAttributes = {
- 7C3E2AC18A0A227C2DF356E2 = {
- DevelopmentTeam = 7PU3P6ELJ8;
- };
- };
- };
- buildConfigurationList = 24EF8D1B948FFF6B275FB0F4 /* Build configuration list for PBXProject "yaak-app" */;
- compatibilityVersion = "Xcode 14.0";
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- Base,
- en,
- );
- mainGroup = C88F9D29DC52F052255C35A3;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 7C3E2AC18A0A227C2DF356E2 /* yaak-app_iOS */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- E148188313FB67F061AB4E59 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 8DF67739DC49E577EB0FAE3F /* Assets.xcassets in Resources */,
- F0627C04787F4E187EF416F4 /* assets in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 5454ED506FC51D41C81A0318 /* Build Rust Code */ = {
- isa = PBXShellScriptBuildPhase;
- alwaysOutOfDate = 1;
- buildActionMask = 2147483647;
- files = (
- );
- inputFileListPaths = (
- );
- inputPaths = (
- );
- name = "Build Rust Code";
- outputFileListPaths = (
- );
- outputPaths = (
- "$(SRCROOT)/target/aarch64-apple-ios/${CONFIGURATION}/deps/libapp_lib.a",
- "$(SRCROOT)/target/x86_64-apple-ios/${CONFIGURATION}/deps/libapp_lib.a",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "node tauri ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths \"${FRAMEWORK_SEARCH_PATHS:?}\" --header-search-paths \"${HEADER_SEARCH_PATHS:?}\" --gcc-preprocessor-definitions \"${GCC_PREPROCESSOR_DEFINITIONS:-}\" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- C3495A2849227C6276D3876E /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- FEE5934F5FFB0FBE10883AF2 /* main.mm in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 35D1DB294FFD067C835186C7 /* debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_ENABLE_OBJC_WEAK = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "$(inherited)",
- "DEBUG=1",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
- MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
- MTL_FAST_MATH = YES;
- ONLY_ACTIVE_ARCH = YES;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SDKROOT = iphoneos;
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 5.0;
- };
- name = debug;
- };
- 368BB1E364597E7675463634 /* release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
- ARCHS = (
- arm64,
- "arm64-sim",
- );
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CODE_SIGN_ENTITLEMENTS = "yaak-app_iOS/yaak-app_iOS.entitlements";
- CODE_SIGN_IDENTITY = "iPhone Developer";
- DEVELOPMENT_TEAM = 7PU3P6ELJ8;
- ENABLE_BITCODE = NO;
- "EXCLUDED_ARCHS[sdk=iphoneos*]" = "arm64-sim x86_64";
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "\".\"",
- );
- INFOPLIST_FILE = "yaak-app_iOS/Info.plist";
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- "LIBRARY_SEARCH_PATHS[arch=arm64-sim]" = "$(inherited) $(PROJECT_DIR)/Externals/arm64-sim/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
- "LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
- "LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
- PRODUCT_BUNDLE_IDENTIFIER = "app.yaak.yaak-app";
- PRODUCT_NAME = Yaak;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- VALID_ARCHS = "arm64 arm64-sim";
- };
- name = release;
- };
- 45382E89556BF93E8D1F1C2D /* debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
- ARCHS = (
- arm64,
- "arm64-sim",
- );
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CODE_SIGN_ENTITLEMENTS = "yaak-app_iOS/yaak-app_iOS.entitlements";
- CODE_SIGN_IDENTITY = "iPhone Developer";
- DEVELOPMENT_TEAM = 7PU3P6ELJ8;
- ENABLE_BITCODE = NO;
- "EXCLUDED_ARCHS[sdk=iphoneos*]" = "arm64-sim x86_64";
- "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
- FRAMEWORK_SEARCH_PATHS = (
- "$(inherited)",
- "\".\"",
- );
- INFOPLIST_FILE = "yaak-app_iOS/Info.plist";
- LD_RUNPATH_SEARCH_PATHS = (
- "$(inherited)",
- "@executable_path/Frameworks",
- );
- "LIBRARY_SEARCH_PATHS[arch=arm64-sim]" = "$(inherited) $(PROJECT_DIR)/Externals/arm64-sim/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
- "LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
- "LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
- PRODUCT_BUNDLE_IDENTIFIER = "app.yaak.yaak-app";
- PRODUCT_NAME = Yaak;
- SDKROOT = iphoneos;
- TARGETED_DEVICE_FAMILY = "1,2";
- VALID_ARCHS = "arm64 arm64-sim";
- };
- name = debug;
- };
- ABD0A3DD3D5C66C839496F44 /* release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_ENABLE_OBJC_WEAK = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 13.0;
- MTL_ENABLE_DEBUG_INFO = NO;
- MTL_FAST_MATH = YES;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SDKROOT = iphoneos;
- SWIFT_COMPILATION_MODE = wholemodule;
- SWIFT_OPTIMIZATION_LEVEL = "-O";
- SWIFT_VERSION = 5.0;
- };
- name = release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 24EF8D1B948FFF6B275FB0F4 /* Build configuration list for PBXProject "yaak-app" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 35D1DB294FFD067C835186C7 /* debug */,
- ABD0A3DD3D5C66C839496F44 /* release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = debug;
- };
- C05E07AE7C7B25CACFADCDD4 /* Build configuration list for PBXNativeTarget "yaak-app_iOS" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 45382E89556BF93E8D1F1C2D /* debug */,
- 368BB1E364597E7675463634 /* release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = debug;
- };
-/* End XCConfigurationList section */
- };
- rootObject = A8F6206BC76F061F1FEFD439 /* Project object */;
-}
diff --git a/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 919434a6..00000000
--- a/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d98100..00000000
--- a/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted file mode 100644
index ac90d5ac..00000000
--- a/src-tauri/gen/apple/yaak-app.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- BuildSystemType
- Original
- DisableBuildSystemDeprecationDiagnostic
-
-
-
diff --git a/src-tauri/gen/apple/yaak-app.xcodeproj/xcshareddata/xcschemes/yaak-app_iOS.xcscheme b/src-tauri/gen/apple/yaak-app.xcodeproj/xcshareddata/xcschemes/yaak-app_iOS.xcscheme
deleted file mode 100644
index ceed736e..00000000
--- a/src-tauri/gen/apple/yaak-app.xcodeproj/xcshareddata/xcschemes/yaak-app_iOS.xcscheme
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src-tauri/gen/apple/yaak-app_iOS/Info.plist b/src-tauri/gen/apple/yaak-app_iOS/Info.plist
deleted file mode 100644
index 449b577a..00000000
--- a/src-tauri/gen/apple/yaak-app_iOS/Info.plist
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 2024.3.10
- CFBundleVersion
- 2024.3.10
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- LaunchScreen
- UIRequiredDeviceCapabilities
-
- arm64
- metal
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
-
-
diff --git a/src-tauri/gen/apple/yaak-app_iOS/yaak-app_iOS.entitlements b/src-tauri/gen/apple/yaak-app_iOS/yaak-app_iOS.entitlements
deleted file mode 100644
index 0c67376e..00000000
--- a/src-tauri/gen/apple/yaak-app_iOS/yaak-app_iOS.entitlements
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/src-tauri/gen/schemas/acl-manifests.json b/src-tauri/gen/schemas/acl-manifests.json
index 890be7a6..8d07ffef 100644
--- a/src-tauri/gen/schemas/acl-manifests.json
+++ b/src-tauri/gen/schemas/acl-manifests.json
@@ -1 +1 @@
-{"app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]}},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]}},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"clipboard-manager":{"default_permission":null,"permissions":{"allow-clear":{"identifier":"allow-clear","description":"Enables the clear command without any pre-configured scope.","commands":{"allow":["clear"],"deny":[]}},"allow-read-image":{"identifier":"allow-read-image","description":"Enables the read_image command without any pre-configured scope.","commands":{"allow":["read_image"],"deny":[]}},"allow-read-text":{"identifier":"allow-read-text","description":"Enables the read_text command without any pre-configured scope.","commands":{"allow":["read_text"],"deny":[]}},"allow-write-html":{"identifier":"allow-write-html","description":"Enables the write_html command without any pre-configured scope.","commands":{"allow":["write_html"],"deny":[]}},"allow-write-image":{"identifier":"allow-write-image","description":"Enables the write_image command without any pre-configured scope.","commands":{"allow":["write_image"],"deny":[]}},"allow-write-text":{"identifier":"allow-write-text","description":"Enables the write_text command without any pre-configured scope.","commands":{"allow":["write_text"],"deny":[]}},"deny-clear":{"identifier":"deny-clear","description":"Denies the clear command without any pre-configured scope.","commands":{"allow":[],"deny":["clear"]}},"deny-read-image":{"identifier":"deny-read-image","description":"Denies the read_image command without any pre-configured scope.","commands":{"allow":[],"deny":["read_image"]}},"deny-read-text":{"identifier":"deny-read-text","description":"Denies the read_text command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text"]}},"deny-write-html":{"identifier":"deny-write-html","description":"Denies the write_html command without any pre-configured scope.","commands":{"allow":[],"deny":["write_html"]}},"deny-write-image":{"identifier":"deny-write-image","description":"Denies the write_image command without any pre-configured scope.","commands":{"allow":[],"deny":["write_image"]}},"deny-write-text":{"identifier":"deny-write-text","description":"Denies the write_text command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text"]}}},"permission_sets":{},"global_scope_schema":null},"dialog":{"default_permission":null,"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]}},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]}},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]}},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]}},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}}},"permission_sets":{},"global_scope_schema":null},"event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]}},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]}},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]}},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]}},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]}},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]}},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]}},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]}}},"permission_sets":{},"global_scope_schema":null},"fs":{"default_permission":{"identifier":"default","description":"# Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n","permissions":["read-all","scope-app-recursive","deny-default"]},"permissions":{"allow-copy-file":{"identifier":"allow-copy-file","description":"Enables the copy_file command without any pre-configured scope.","commands":{"allow":["copy_file"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-exists":{"identifier":"allow-exists","description":"Enables the exists command without any pre-configured scope.","commands":{"allow":["exists"],"deny":[]}},"allow-fstat":{"identifier":"allow-fstat","description":"Enables the fstat command without any pre-configured scope.","commands":{"allow":["fstat"],"deny":[]}},"allow-ftruncate":{"identifier":"allow-ftruncate","description":"Enables the ftruncate command without any pre-configured scope.","commands":{"allow":["ftruncate"],"deny":[]}},"allow-lstat":{"identifier":"allow-lstat","description":"Enables the lstat command without any pre-configured scope.","commands":{"allow":["lstat"],"deny":[]}},"allow-mkdir":{"identifier":"allow-mkdir","description":"Enables the mkdir command without any pre-configured scope.","commands":{"allow":["mkdir"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-read":{"identifier":"allow-read","description":"Enables the read command without any pre-configured scope.","commands":{"allow":["read"],"deny":[]}},"allow-read-dir":{"identifier":"allow-read-dir","description":"Enables the read_dir command without any pre-configured scope.","commands":{"allow":["read_dir"],"deny":[]}},"allow-read-file":{"identifier":"allow-read-file","description":"Enables the read_file command without any pre-configured scope.","commands":{"allow":["read_file"],"deny":[]}},"allow-read-text-file":{"identifier":"allow-read-text-file","description":"Enables the read_text_file command without any pre-configured scope.","commands":{"allow":["read_text_file"],"deny":[]}},"allow-read-text-file-lines":{"identifier":"allow-read-text-file-lines","description":"Enables the read_text_file_lines command without any pre-configured scope.","commands":{"allow":["read_text_file_lines"],"deny":[]}},"allow-read-text-file-lines-next":{"identifier":"allow-read-text-file-lines-next","description":"Enables the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":["read_text_file_lines_next"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-rename":{"identifier":"allow-rename","description":"Enables the rename command without any pre-configured scope.","commands":{"allow":["rename"],"deny":[]}},"allow-seek":{"identifier":"allow-seek","description":"Enables the seek command without any pre-configured scope.","commands":{"allow":["seek"],"deny":[]}},"allow-stat":{"identifier":"allow-stat","description":"Enables the stat command without any pre-configured scope.","commands":{"allow":["stat"],"deny":[]}},"allow-truncate":{"identifier":"allow-truncate","description":"Enables the truncate command without any pre-configured scope.","commands":{"allow":["truncate"],"deny":[]}},"allow-unwatch":{"identifier":"allow-unwatch","description":"Enables the unwatch command without any pre-configured scope.","commands":{"allow":["unwatch"],"deny":[]}},"allow-watch":{"identifier":"allow-watch","description":"Enables the watch command without any pre-configured scope.","commands":{"allow":["watch"],"deny":[]}},"allow-write":{"identifier":"allow-write","description":"Enables the write command without any pre-configured scope.","commands":{"allow":["write"],"deny":[]}},"allow-write-file":{"identifier":"allow-write-file","description":"Enables the write_file command without any pre-configured scope.","commands":{"allow":["write_file"],"deny":[]}},"allow-write-text-file":{"identifier":"allow-write-text-file","description":"Enables the write_text_file command without any pre-configured scope.","commands":{"allow":["write_text_file"],"deny":[]}},"deny-copy-file":{"identifier":"deny-copy-file","description":"Denies the copy_file command without any pre-configured scope.","commands":{"allow":[],"deny":["copy_file"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-exists":{"identifier":"deny-exists","description":"Denies the exists command without any pre-configured scope.","commands":{"allow":[],"deny":["exists"]}},"deny-fstat":{"identifier":"deny-fstat","description":"Denies the fstat command without any pre-configured scope.","commands":{"allow":[],"deny":["fstat"]}},"deny-ftruncate":{"identifier":"deny-ftruncate","description":"Denies the ftruncate command without any pre-configured scope.","commands":{"allow":[],"deny":["ftruncate"]}},"deny-lstat":{"identifier":"deny-lstat","description":"Denies the lstat command without any pre-configured scope.","commands":{"allow":[],"deny":["lstat"]}},"deny-mkdir":{"identifier":"deny-mkdir","description":"Denies the mkdir command without any pre-configured scope.","commands":{"allow":[],"deny":["mkdir"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-read":{"identifier":"deny-read","description":"Denies the read command without any pre-configured scope.","commands":{"allow":[],"deny":["read"]}},"deny-read-dir":{"identifier":"deny-read-dir","description":"Denies the read_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["read_dir"]}},"deny-read-file":{"identifier":"deny-read-file","description":"Denies the read_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_file"]}},"deny-read-text-file":{"identifier":"deny-read-text-file","description":"Denies the read_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file"]}},"deny-read-text-file-lines":{"identifier":"deny-read-text-file-lines","description":"Denies the read_text_file_lines command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines"]}},"deny-read-text-file-lines-next":{"identifier":"deny-read-text-file-lines-next","description":"Denies the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines_next"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-rename":{"identifier":"deny-rename","description":"Denies the rename command without any pre-configured scope.","commands":{"allow":[],"deny":["rename"]}},"deny-seek":{"identifier":"deny-seek","description":"Denies the seek command without any pre-configured scope.","commands":{"allow":[],"deny":["seek"]}},"deny-stat":{"identifier":"deny-stat","description":"Denies the stat command without any pre-configured scope.","commands":{"allow":[],"deny":["stat"]}},"deny-truncate":{"identifier":"deny-truncate","description":"Denies the truncate command without any pre-configured scope.","commands":{"allow":[],"deny":["truncate"]}},"deny-unwatch":{"identifier":"deny-unwatch","description":"Denies the unwatch command without any pre-configured scope.","commands":{"allow":[],"deny":["unwatch"]}},"deny-watch":{"identifier":"deny-watch","description":"Denies the watch command without any pre-configured scope.","commands":{"allow":[],"deny":["watch"]}},"deny-webview-data-linux":{"identifier":"deny-webview-data-linux","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.","commands":{"allow":[],"deny":[]}},"deny-webview-data-windows":{"identifier":"deny-webview-data-windows","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.","commands":{"allow":[],"deny":[]}},"deny-write":{"identifier":"deny-write","description":"Denies the write command without any pre-configured scope.","commands":{"allow":[],"deny":["write"]}},"deny-write-file":{"identifier":"deny-write-file","description":"Denies the write_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_file"]}},"deny-write-text-file":{"identifier":"deny-write-text-file","description":"Denies the write_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text_file"]}},"read-all":{"identifier":"read-all","description":"This enables all read related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists","watch","unwatch"],"deny":[]}},"read-dirs":{"identifier":"read-dirs","description":"This enables directory read and file metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]}},"read-files":{"identifier":"read-files","description":"This enables file read related commands without any pre-configured accessible paths.","commands":{"allow":["read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists"],"deny":[]}},"read-meta":{"identifier":"read-meta","description":"This enables all index or metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]}},"scope":{"identifier":"scope","description":"An empty permission you can use to modify the global scope.","commands":{"allow":[],"deny":[]}},"scope-app":{"identifier":"scope-app","description":"This scope permits access to all files and list content of top level directories in the `$APP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/*"}]}},"scope-app-index":{"identifier":"scope-app-index","description":"This scope permits to list all files and folders in the `$APP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/"}]}},"scope-app-recursive":{"identifier":"scope-app-recursive","description":"This scope recursive access to the complete `$APP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/**"}]}},"scope-appcache":{"identifier":"scope-appcache","description":"This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/*"}]}},"scope-appcache-index":{"identifier":"scope-appcache-index","description":"This scope permits to list all files and folders in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/"}]}},"scope-appcache-recursive":{"identifier":"scope-appcache-recursive","description":"This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/**"}]}},"scope-appconfig":{"identifier":"scope-appconfig","description":"This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/*"}]}},"scope-appconfig-index":{"identifier":"scope-appconfig-index","description":"This scope permits to list all files and folders in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/"}]}},"scope-appconfig-recursive":{"identifier":"scope-appconfig-recursive","description":"This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/**"}]}},"scope-appdata":{"identifier":"scope-appdata","description":"This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/*"}]}},"scope-appdata-index":{"identifier":"scope-appdata-index","description":"This scope permits to list all files and folders in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/"}]}},"scope-appdata-recursive":{"identifier":"scope-appdata-recursive","description":"This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/**"}]}},"scope-applocaldata":{"identifier":"scope-applocaldata","description":"This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/*"}]}},"scope-applocaldata-index":{"identifier":"scope-applocaldata-index","description":"This scope permits to list all files and folders in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/"}]}},"scope-applocaldata-recursive":{"identifier":"scope-applocaldata-recursive","description":"This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/**"}]}},"scope-applog":{"identifier":"scope-applog","description":"This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/*"}]}},"scope-applog-index":{"identifier":"scope-applog-index","description":"This scope permits to list all files and folders in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/"}]}},"scope-applog-recursive":{"identifier":"scope-applog-recursive","description":"This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/**"}]}},"scope-audio":{"identifier":"scope-audio","description":"This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/*"}]}},"scope-audio-index":{"identifier":"scope-audio-index","description":"This scope permits to list all files and folders in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/"}]}},"scope-audio-recursive":{"identifier":"scope-audio-recursive","description":"This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/**"}]}},"scope-cache":{"identifier":"scope-cache","description":"This scope permits access to all files and list content of top level directories in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/*"}]}},"scope-cache-index":{"identifier":"scope-cache-index","description":"This scope permits to list all files and folders in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/"}]}},"scope-cache-recursive":{"identifier":"scope-cache-recursive","description":"This scope recursive access to the complete `$CACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/**"}]}},"scope-config":{"identifier":"scope-config","description":"This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/*"}]}},"scope-config-index":{"identifier":"scope-config-index","description":"This scope permits to list all files and folders in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/"}]}},"scope-config-recursive":{"identifier":"scope-config-recursive","description":"This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/**"}]}},"scope-data":{"identifier":"scope-data","description":"This scope permits access to all files and list content of top level directories in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/*"}]}},"scope-data-index":{"identifier":"scope-data-index","description":"This scope permits to list all files and folders in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/"}]}},"scope-data-recursive":{"identifier":"scope-data-recursive","description":"This scope recursive access to the complete `$DATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/**"}]}},"scope-desktop":{"identifier":"scope-desktop","description":"This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/*"}]}},"scope-desktop-index":{"identifier":"scope-desktop-index","description":"This scope permits to list all files and folders in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/"}]}},"scope-desktop-recursive":{"identifier":"scope-desktop-recursive","description":"This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/**"}]}},"scope-document":{"identifier":"scope-document","description":"This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/*"}]}},"scope-document-index":{"identifier":"scope-document-index","description":"This scope permits to list all files and folders in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/"}]}},"scope-document-recursive":{"identifier":"scope-document-recursive","description":"This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/**"}]}},"scope-download":{"identifier":"scope-download","description":"This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/*"}]}},"scope-download-index":{"identifier":"scope-download-index","description":"This scope permits to list all files and folders in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/"}]}},"scope-download-recursive":{"identifier":"scope-download-recursive","description":"This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/**"}]}},"scope-exe":{"identifier":"scope-exe","description":"This scope permits access to all files and list content of top level directories in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/*"}]}},"scope-exe-index":{"identifier":"scope-exe-index","description":"This scope permits to list all files and folders in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/"}]}},"scope-exe-recursive":{"identifier":"scope-exe-recursive","description":"This scope recursive access to the complete `$EXE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/**"}]}},"scope-font":{"identifier":"scope-font","description":"This scope permits access to all files and list content of top level directories in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/*"}]}},"scope-font-index":{"identifier":"scope-font-index","description":"This scope permits to list all files and folders in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/"}]}},"scope-font-recursive":{"identifier":"scope-font-recursive","description":"This scope recursive access to the complete `$FONT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/**"}]}},"scope-home":{"identifier":"scope-home","description":"This scope permits access to all files and list content of top level directories in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/*"}]}},"scope-home-index":{"identifier":"scope-home-index","description":"This scope permits to list all files and folders in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/"}]}},"scope-home-recursive":{"identifier":"scope-home-recursive","description":"This scope recursive access to the complete `$HOME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/**"}]}},"scope-localdata":{"identifier":"scope-localdata","description":"This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/*"}]}},"scope-localdata-index":{"identifier":"scope-localdata-index","description":"This scope permits to list all files and folders in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/"}]}},"scope-localdata-recursive":{"identifier":"scope-localdata-recursive","description":"This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/**"}]}},"scope-log":{"identifier":"scope-log","description":"This scope permits access to all files and list content of top level directories in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/*"}]}},"scope-log-index":{"identifier":"scope-log-index","description":"This scope permits to list all files and folders in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/"}]}},"scope-log-recursive":{"identifier":"scope-log-recursive","description":"This scope recursive access to the complete `$LOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/**"}]}},"scope-picture":{"identifier":"scope-picture","description":"This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/*"}]}},"scope-picture-index":{"identifier":"scope-picture-index","description":"This scope permits to list all files and folders in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/"}]}},"scope-picture-recursive":{"identifier":"scope-picture-recursive","description":"This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/**"}]}},"scope-public":{"identifier":"scope-public","description":"This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/*"}]}},"scope-public-index":{"identifier":"scope-public-index","description":"This scope permits to list all files and folders in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/"}]}},"scope-public-recursive":{"identifier":"scope-public-recursive","description":"This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/**"}]}},"scope-resource":{"identifier":"scope-resource","description":"This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/*"}]}},"scope-resource-index":{"identifier":"scope-resource-index","description":"This scope permits to list all files and folders in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/"}]}},"scope-resource-recursive":{"identifier":"scope-resource-recursive","description":"This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/**"}]}},"scope-runtime":{"identifier":"scope-runtime","description":"This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/*"}]}},"scope-runtime-index":{"identifier":"scope-runtime-index","description":"This scope permits to list all files and folders in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/"}]}},"scope-runtime-recursive":{"identifier":"scope-runtime-recursive","description":"This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/**"}]}},"scope-temp":{"identifier":"scope-temp","description":"This scope permits access to all files and list content of top level directories in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/*"}]}},"scope-temp-index":{"identifier":"scope-temp-index","description":"This scope permits to list all files and folders in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/"}]}},"scope-temp-recursive":{"identifier":"scope-temp-recursive","description":"This scope recursive access to the complete `$TEMP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/**"}]}},"scope-template":{"identifier":"scope-template","description":"This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/*"}]}},"scope-template-index":{"identifier":"scope-template-index","description":"This scope permits to list all files and folders in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/"}]}},"scope-template-recursive":{"identifier":"scope-template-recursive","description":"This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/**"}]}},"scope-video":{"identifier":"scope-video","description":"This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/*"}]}},"scope-video-index":{"identifier":"scope-video-index","description":"This scope permits to list all files and folders in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/"}]}},"scope-video-recursive":{"identifier":"scope-video-recursive","description":"This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/**"}]}},"write-all":{"identifier":"write-all","description":"This enables all write related commands without any pre-configured accessible paths.","commands":{"allow":["mkdir","create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}},"write-files":{"identifier":"write-files","description":"This enables all file write related commands without any pre-configured accessible paths.","commands":{"allow":["create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}}},"permission_sets":{"allow-app-meta":{"identifier":"allow-app-meta","description":"This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.","permissions":["read-meta","scope-app-index"]},"allow-app-meta-recursive":{"identifier":"allow-app-meta-recursive","description":"This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.","permissions":["read-meta","scope-app-recursive"]},"allow-app-read":{"identifier":"allow-app-read","description":"This allows non-recursive read access to the `$APP` folder.","permissions":["read-all","scope-app"]},"allow-app-read-recursive":{"identifier":"allow-app-read-recursive","description":"This allows full recursive read access to the complete `$APP` folder, files and subdirectories.","permissions":["read-all","scope-app-recursive"]},"allow-app-write":{"identifier":"allow-app-write","description":"This allows non-recursive write access to the `$APP` folder.","permissions":["write-all","scope-app"]},"allow-app-write-recursive":{"identifier":"allow-app-write-recursive","description":"This allows full recursive write access to the complete `$APP` folder, files and subdirectories.","permissions":["write-all","scope-app-recursive"]},"allow-appcache-meta":{"identifier":"allow-appcache-meta","description":"This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-index"]},"allow-appcache-meta-recursive":{"identifier":"allow-appcache-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-recursive"]},"allow-appcache-read":{"identifier":"allow-appcache-read","description":"This allows non-recursive read access to the `$APPCACHE` folder.","permissions":["read-all","scope-appcache"]},"allow-appcache-read-recursive":{"identifier":"allow-appcache-read-recursive","description":"This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["read-all","scope-appcache-recursive"]},"allow-appcache-write":{"identifier":"allow-appcache-write","description":"This allows non-recursive write access to the `$APPCACHE` folder.","permissions":["write-all","scope-appcache"]},"allow-appcache-write-recursive":{"identifier":"allow-appcache-write-recursive","description":"This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["write-all","scope-appcache-recursive"]},"allow-appconfig-meta":{"identifier":"allow-appconfig-meta","description":"This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-index"]},"allow-appconfig-meta-recursive":{"identifier":"allow-appconfig-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-recursive"]},"allow-appconfig-read":{"identifier":"allow-appconfig-read","description":"This allows non-recursive read access to the `$APPCONFIG` folder.","permissions":["read-all","scope-appconfig"]},"allow-appconfig-read-recursive":{"identifier":"allow-appconfig-read-recursive","description":"This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["read-all","scope-appconfig-recursive"]},"allow-appconfig-write":{"identifier":"allow-appconfig-write","description":"This allows non-recursive write access to the `$APPCONFIG` folder.","permissions":["write-all","scope-appconfig"]},"allow-appconfig-write-recursive":{"identifier":"allow-appconfig-write-recursive","description":"This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["write-all","scope-appconfig-recursive"]},"allow-appdata-meta":{"identifier":"allow-appdata-meta","description":"This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-index"]},"allow-appdata-meta-recursive":{"identifier":"allow-appdata-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-recursive"]},"allow-appdata-read":{"identifier":"allow-appdata-read","description":"This allows non-recursive read access to the `$APPDATA` folder.","permissions":["read-all","scope-appdata"]},"allow-appdata-read-recursive":{"identifier":"allow-appdata-read-recursive","description":"This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["read-all","scope-appdata-recursive"]},"allow-appdata-write":{"identifier":"allow-appdata-write","description":"This allows non-recursive write access to the `$APPDATA` folder.","permissions":["write-all","scope-appdata"]},"allow-appdata-write-recursive":{"identifier":"allow-appdata-write-recursive","description":"This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["write-all","scope-appdata-recursive"]},"allow-applocaldata-meta":{"identifier":"allow-applocaldata-meta","description":"This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-index"]},"allow-applocaldata-meta-recursive":{"identifier":"allow-applocaldata-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-recursive"]},"allow-applocaldata-read":{"identifier":"allow-applocaldata-read","description":"This allows non-recursive read access to the `$APPLOCALDATA` folder.","permissions":["read-all","scope-applocaldata"]},"allow-applocaldata-read-recursive":{"identifier":"allow-applocaldata-read-recursive","description":"This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-applocaldata-recursive"]},"allow-applocaldata-write":{"identifier":"allow-applocaldata-write","description":"This allows non-recursive write access to the `$APPLOCALDATA` folder.","permissions":["write-all","scope-applocaldata"]},"allow-applocaldata-write-recursive":{"identifier":"allow-applocaldata-write-recursive","description":"This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-applocaldata-recursive"]},"allow-applog-meta":{"identifier":"allow-applog-meta","description":"This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-index"]},"allow-applog-meta-recursive":{"identifier":"allow-applog-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-recursive"]},"allow-applog-read":{"identifier":"allow-applog-read","description":"This allows non-recursive read access to the `$APPLOG` folder.","permissions":["read-all","scope-applog"]},"allow-applog-read-recursive":{"identifier":"allow-applog-read-recursive","description":"This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["read-all","scope-applog-recursive"]},"allow-applog-write":{"identifier":"allow-applog-write","description":"This allows non-recursive write access to the `$APPLOG` folder.","permissions":["write-all","scope-applog"]},"allow-applog-write-recursive":{"identifier":"allow-applog-write-recursive","description":"This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["write-all","scope-applog-recursive"]},"allow-audio-meta":{"identifier":"allow-audio-meta","description":"This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-index"]},"allow-audio-meta-recursive":{"identifier":"allow-audio-meta-recursive","description":"This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-recursive"]},"allow-audio-read":{"identifier":"allow-audio-read","description":"This allows non-recursive read access to the `$AUDIO` folder.","permissions":["read-all","scope-audio"]},"allow-audio-read-recursive":{"identifier":"allow-audio-read-recursive","description":"This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["read-all","scope-audio-recursive"]},"allow-audio-write":{"identifier":"allow-audio-write","description":"This allows non-recursive write access to the `$AUDIO` folder.","permissions":["write-all","scope-audio"]},"allow-audio-write-recursive":{"identifier":"allow-audio-write-recursive","description":"This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["write-all","scope-audio-recursive"]},"allow-cache-meta":{"identifier":"allow-cache-meta","description":"This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-index"]},"allow-cache-meta-recursive":{"identifier":"allow-cache-meta-recursive","description":"This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-recursive"]},"allow-cache-read":{"identifier":"allow-cache-read","description":"This allows non-recursive read access to the `$CACHE` folder.","permissions":["read-all","scope-cache"]},"allow-cache-read-recursive":{"identifier":"allow-cache-read-recursive","description":"This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.","permissions":["read-all","scope-cache-recursive"]},"allow-cache-write":{"identifier":"allow-cache-write","description":"This allows non-recursive write access to the `$CACHE` folder.","permissions":["write-all","scope-cache"]},"allow-cache-write-recursive":{"identifier":"allow-cache-write-recursive","description":"This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.","permissions":["write-all","scope-cache-recursive"]},"allow-config-meta":{"identifier":"allow-config-meta","description":"This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-index"]},"allow-config-meta-recursive":{"identifier":"allow-config-meta-recursive","description":"This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-recursive"]},"allow-config-read":{"identifier":"allow-config-read","description":"This allows non-recursive read access to the `$CONFIG` folder.","permissions":["read-all","scope-config"]},"allow-config-read-recursive":{"identifier":"allow-config-read-recursive","description":"This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["read-all","scope-config-recursive"]},"allow-config-write":{"identifier":"allow-config-write","description":"This allows non-recursive write access to the `$CONFIG` folder.","permissions":["write-all","scope-config"]},"allow-config-write-recursive":{"identifier":"allow-config-write-recursive","description":"This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["write-all","scope-config-recursive"]},"allow-data-meta":{"identifier":"allow-data-meta","description":"This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-index"]},"allow-data-meta-recursive":{"identifier":"allow-data-meta-recursive","description":"This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-recursive"]},"allow-data-read":{"identifier":"allow-data-read","description":"This allows non-recursive read access to the `$DATA` folder.","permissions":["read-all","scope-data"]},"allow-data-read-recursive":{"identifier":"allow-data-read-recursive","description":"This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.","permissions":["read-all","scope-data-recursive"]},"allow-data-write":{"identifier":"allow-data-write","description":"This allows non-recursive write access to the `$DATA` folder.","permissions":["write-all","scope-data"]},"allow-data-write-recursive":{"identifier":"allow-data-write-recursive","description":"This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.","permissions":["write-all","scope-data-recursive"]},"allow-desktop-meta":{"identifier":"allow-desktop-meta","description":"This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-index"]},"allow-desktop-meta-recursive":{"identifier":"allow-desktop-meta-recursive","description":"This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-recursive"]},"allow-desktop-read":{"identifier":"allow-desktop-read","description":"This allows non-recursive read access to the `$DESKTOP` folder.","permissions":["read-all","scope-desktop"]},"allow-desktop-read-recursive":{"identifier":"allow-desktop-read-recursive","description":"This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["read-all","scope-desktop-recursive"]},"allow-desktop-write":{"identifier":"allow-desktop-write","description":"This allows non-recursive write access to the `$DESKTOP` folder.","permissions":["write-all","scope-desktop"]},"allow-desktop-write-recursive":{"identifier":"allow-desktop-write-recursive","description":"This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["write-all","scope-desktop-recursive"]},"allow-document-meta":{"identifier":"allow-document-meta","description":"This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-index"]},"allow-document-meta-recursive":{"identifier":"allow-document-meta-recursive","description":"This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-recursive"]},"allow-document-read":{"identifier":"allow-document-read","description":"This allows non-recursive read access to the `$DOCUMENT` folder.","permissions":["read-all","scope-document"]},"allow-document-read-recursive":{"identifier":"allow-document-read-recursive","description":"This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["read-all","scope-document-recursive"]},"allow-document-write":{"identifier":"allow-document-write","description":"This allows non-recursive write access to the `$DOCUMENT` folder.","permissions":["write-all","scope-document"]},"allow-document-write-recursive":{"identifier":"allow-document-write-recursive","description":"This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["write-all","scope-document-recursive"]},"allow-download-meta":{"identifier":"allow-download-meta","description":"This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-index"]},"allow-download-meta-recursive":{"identifier":"allow-download-meta-recursive","description":"This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-recursive"]},"allow-download-read":{"identifier":"allow-download-read","description":"This allows non-recursive read access to the `$DOWNLOAD` folder.","permissions":["read-all","scope-download"]},"allow-download-read-recursive":{"identifier":"allow-download-read-recursive","description":"This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["read-all","scope-download-recursive"]},"allow-download-write":{"identifier":"allow-download-write","description":"This allows non-recursive write access to the `$DOWNLOAD` folder.","permissions":["write-all","scope-download"]},"allow-download-write-recursive":{"identifier":"allow-download-write-recursive","description":"This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["write-all","scope-download-recursive"]},"allow-exe-meta":{"identifier":"allow-exe-meta","description":"This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-index"]},"allow-exe-meta-recursive":{"identifier":"allow-exe-meta-recursive","description":"This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-recursive"]},"allow-exe-read":{"identifier":"allow-exe-read","description":"This allows non-recursive read access to the `$EXE` folder.","permissions":["read-all","scope-exe"]},"allow-exe-read-recursive":{"identifier":"allow-exe-read-recursive","description":"This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.","permissions":["read-all","scope-exe-recursive"]},"allow-exe-write":{"identifier":"allow-exe-write","description":"This allows non-recursive write access to the `$EXE` folder.","permissions":["write-all","scope-exe"]},"allow-exe-write-recursive":{"identifier":"allow-exe-write-recursive","description":"This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.","permissions":["write-all","scope-exe-recursive"]},"allow-font-meta":{"identifier":"allow-font-meta","description":"This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-index"]},"allow-font-meta-recursive":{"identifier":"allow-font-meta-recursive","description":"This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-recursive"]},"allow-font-read":{"identifier":"allow-font-read","description":"This allows non-recursive read access to the `$FONT` folder.","permissions":["read-all","scope-font"]},"allow-font-read-recursive":{"identifier":"allow-font-read-recursive","description":"This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.","permissions":["read-all","scope-font-recursive"]},"allow-font-write":{"identifier":"allow-font-write","description":"This allows non-recursive write access to the `$FONT` folder.","permissions":["write-all","scope-font"]},"allow-font-write-recursive":{"identifier":"allow-font-write-recursive","description":"This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.","permissions":["write-all","scope-font-recursive"]},"allow-home-meta":{"identifier":"allow-home-meta","description":"This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-index"]},"allow-home-meta-recursive":{"identifier":"allow-home-meta-recursive","description":"This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-recursive"]},"allow-home-read":{"identifier":"allow-home-read","description":"This allows non-recursive read access to the `$HOME` folder.","permissions":["read-all","scope-home"]},"allow-home-read-recursive":{"identifier":"allow-home-read-recursive","description":"This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.","permissions":["read-all","scope-home-recursive"]},"allow-home-write":{"identifier":"allow-home-write","description":"This allows non-recursive write access to the `$HOME` folder.","permissions":["write-all","scope-home"]},"allow-home-write-recursive":{"identifier":"allow-home-write-recursive","description":"This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.","permissions":["write-all","scope-home-recursive"]},"allow-localdata-meta":{"identifier":"allow-localdata-meta","description":"This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-index"]},"allow-localdata-meta-recursive":{"identifier":"allow-localdata-meta-recursive","description":"This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-recursive"]},"allow-localdata-read":{"identifier":"allow-localdata-read","description":"This allows non-recursive read access to the `$LOCALDATA` folder.","permissions":["read-all","scope-localdata"]},"allow-localdata-read-recursive":{"identifier":"allow-localdata-read-recursive","description":"This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-localdata-recursive"]},"allow-localdata-write":{"identifier":"allow-localdata-write","description":"This allows non-recursive write access to the `$LOCALDATA` folder.","permissions":["write-all","scope-localdata"]},"allow-localdata-write-recursive":{"identifier":"allow-localdata-write-recursive","description":"This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-localdata-recursive"]},"allow-log-meta":{"identifier":"allow-log-meta","description":"This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-index"]},"allow-log-meta-recursive":{"identifier":"allow-log-meta-recursive","description":"This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-recursive"]},"allow-log-read":{"identifier":"allow-log-read","description":"This allows non-recursive read access to the `$LOG` folder.","permissions":["read-all","scope-log"]},"allow-log-read-recursive":{"identifier":"allow-log-read-recursive","description":"This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.","permissions":["read-all","scope-log-recursive"]},"allow-log-write":{"identifier":"allow-log-write","description":"This allows non-recursive write access to the `$LOG` folder.","permissions":["write-all","scope-log"]},"allow-log-write-recursive":{"identifier":"allow-log-write-recursive","description":"This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.","permissions":["write-all","scope-log-recursive"]},"allow-picture-meta":{"identifier":"allow-picture-meta","description":"This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-index"]},"allow-picture-meta-recursive":{"identifier":"allow-picture-meta-recursive","description":"This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-recursive"]},"allow-picture-read":{"identifier":"allow-picture-read","description":"This allows non-recursive read access to the `$PICTURE` folder.","permissions":["read-all","scope-picture"]},"allow-picture-read-recursive":{"identifier":"allow-picture-read-recursive","description":"This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["read-all","scope-picture-recursive"]},"allow-picture-write":{"identifier":"allow-picture-write","description":"This allows non-recursive write access to the `$PICTURE` folder.","permissions":["write-all","scope-picture"]},"allow-picture-write-recursive":{"identifier":"allow-picture-write-recursive","description":"This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["write-all","scope-picture-recursive"]},"allow-public-meta":{"identifier":"allow-public-meta","description":"This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-index"]},"allow-public-meta-recursive":{"identifier":"allow-public-meta-recursive","description":"This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-recursive"]},"allow-public-read":{"identifier":"allow-public-read","description":"This allows non-recursive read access to the `$PUBLIC` folder.","permissions":["read-all","scope-public"]},"allow-public-read-recursive":{"identifier":"allow-public-read-recursive","description":"This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["read-all","scope-public-recursive"]},"allow-public-write":{"identifier":"allow-public-write","description":"This allows non-recursive write access to the `$PUBLIC` folder.","permissions":["write-all","scope-public"]},"allow-public-write-recursive":{"identifier":"allow-public-write-recursive","description":"This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["write-all","scope-public-recursive"]},"allow-resource-meta":{"identifier":"allow-resource-meta","description":"This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-index"]},"allow-resource-meta-recursive":{"identifier":"allow-resource-meta-recursive","description":"This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-recursive"]},"allow-resource-read":{"identifier":"allow-resource-read","description":"This allows non-recursive read access to the `$RESOURCE` folder.","permissions":["read-all","scope-resource"]},"allow-resource-read-recursive":{"identifier":"allow-resource-read-recursive","description":"This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["read-all","scope-resource-recursive"]},"allow-resource-write":{"identifier":"allow-resource-write","description":"This allows non-recursive write access to the `$RESOURCE` folder.","permissions":["write-all","scope-resource"]},"allow-resource-write-recursive":{"identifier":"allow-resource-write-recursive","description":"This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["write-all","scope-resource-recursive"]},"allow-runtime-meta":{"identifier":"allow-runtime-meta","description":"This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-index"]},"allow-runtime-meta-recursive":{"identifier":"allow-runtime-meta-recursive","description":"This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-recursive"]},"allow-runtime-read":{"identifier":"allow-runtime-read","description":"This allows non-recursive read access to the `$RUNTIME` folder.","permissions":["read-all","scope-runtime"]},"allow-runtime-read-recursive":{"identifier":"allow-runtime-read-recursive","description":"This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["read-all","scope-runtime-recursive"]},"allow-runtime-write":{"identifier":"allow-runtime-write","description":"This allows non-recursive write access to the `$RUNTIME` folder.","permissions":["write-all","scope-runtime"]},"allow-runtime-write-recursive":{"identifier":"allow-runtime-write-recursive","description":"This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["write-all","scope-runtime-recursive"]},"allow-temp-meta":{"identifier":"allow-temp-meta","description":"This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-index"]},"allow-temp-meta-recursive":{"identifier":"allow-temp-meta-recursive","description":"This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-recursive"]},"allow-temp-read":{"identifier":"allow-temp-read","description":"This allows non-recursive read access to the `$TEMP` folder.","permissions":["read-all","scope-temp"]},"allow-temp-read-recursive":{"identifier":"allow-temp-read-recursive","description":"This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.","permissions":["read-all","scope-temp-recursive"]},"allow-temp-write":{"identifier":"allow-temp-write","description":"This allows non-recursive write access to the `$TEMP` folder.","permissions":["write-all","scope-temp"]},"allow-temp-write-recursive":{"identifier":"allow-temp-write-recursive","description":"This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.","permissions":["write-all","scope-temp-recursive"]},"allow-template-meta":{"identifier":"allow-template-meta","description":"This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-index"]},"allow-template-meta-recursive":{"identifier":"allow-template-meta-recursive","description":"This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-recursive"]},"allow-template-read":{"identifier":"allow-template-read","description":"This allows non-recursive read access to the `$TEMPLATE` folder.","permissions":["read-all","scope-template"]},"allow-template-read-recursive":{"identifier":"allow-template-read-recursive","description":"This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["read-all","scope-template-recursive"]},"allow-template-write":{"identifier":"allow-template-write","description":"This allows non-recursive write access to the `$TEMPLATE` folder.","permissions":["write-all","scope-template"]},"allow-template-write-recursive":{"identifier":"allow-template-write-recursive","description":"This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["write-all","scope-template-recursive"]},"allow-video-meta":{"identifier":"allow-video-meta","description":"This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-index"]},"allow-video-meta-recursive":{"identifier":"allow-video-meta-recursive","description":"This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-recursive"]},"allow-video-read":{"identifier":"allow-video-read","description":"This allows non-recursive read access to the `$VIDEO` folder.","permissions":["read-all","scope-video"]},"allow-video-read-recursive":{"identifier":"allow-video-read-recursive","description":"This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["read-all","scope-video-recursive"]},"allow-video-write":{"identifier":"allow-video-write","description":"This allows non-recursive write access to the `$VIDEO` folder.","permissions":["write-all","scope-video"]},"allow-video-write-recursive":{"identifier":"allow-video-write-recursive","description":"This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["write-all","scope-video-recursive"]},"deny-default":{"identifier":"deny-default","description":"This denies access to dangerous Tauri relevant files and folders by default.","permissions":["deny-webview-data-linux","deny-webview-data-windows"]}},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"FS scope path.","type":"string"},{"properties":{"path":{"description":"FS scope path.","type":"string"}},"required":["path"],"type":"object"}],"description":"FS scope entry.","title":"FsScopeEntry"}},"image":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-new","allow-from-bytes","allow-from-path","allow-rgba","allow-size"]},"permissions":{"allow-from-bytes":{"identifier":"allow-from-bytes","description":"Enables the from_bytes command without any pre-configured scope.","commands":{"allow":["from_bytes"],"deny":[]}},"allow-from-path":{"identifier":"allow-from-path","description":"Enables the from_path command without any pre-configured scope.","commands":{"allow":["from_path"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-rgba":{"identifier":"allow-rgba","description":"Enables the rgba command without any pre-configured scope.","commands":{"allow":["rgba"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"deny-from-bytes":{"identifier":"deny-from-bytes","description":"Denies the from_bytes command without any pre-configured scope.","commands":{"allow":[],"deny":["from_bytes"]}},"deny-from-path":{"identifier":"deny-from-path","description":"Denies the from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["from_path"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-rgba":{"identifier":"deny-rgba","description":"Denies the rgba command without any pre-configured scope.","commands":{"allow":[],"deny":["rgba"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}}},"permission_sets":{},"global_scope_schema":null},"log":{"default_permission":{"identifier":"default","description":"Allows the log command","permissions":["allow-log"]},"permissions":{"allow-log":{"identifier":"allow-log","description":"Enables the log command without any pre-configured scope.","commands":{"allow":["log"],"deny":[]}},"deny-log":{"identifier":"deny-log","description":"Denies the log command without any pre-configured scope.","commands":{"allow":[],"deny":["log"]}}},"permission_sets":{},"global_scope_schema":null},"menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":[]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"os":{"default_permission":null,"permissions":{"allow-arch":{"identifier":"allow-arch","description":"Enables the arch command without any pre-configured scope.","commands":{"allow":["arch"],"deny":[]}},"allow-exe-extension":{"identifier":"allow-exe-extension","description":"Enables the exe_extension command without any pre-configured scope.","commands":{"allow":["exe_extension"],"deny":[]}},"allow-family":{"identifier":"allow-family","description":"Enables the family command without any pre-configured scope.","commands":{"allow":["family"],"deny":[]}},"allow-hostname":{"identifier":"allow-hostname","description":"Enables the hostname command without any pre-configured scope.","commands":{"allow":["hostname"],"deny":[]}},"allow-locale":{"identifier":"allow-locale","description":"Enables the locale command without any pre-configured scope.","commands":{"allow":["locale"],"deny":[]}},"allow-os-type":{"identifier":"allow-os-type","description":"Enables the os_type command without any pre-configured scope.","commands":{"allow":["os_type"],"deny":[]}},"allow-platform":{"identifier":"allow-platform","description":"Enables the platform command without any pre-configured scope.","commands":{"allow":["platform"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-arch":{"identifier":"deny-arch","description":"Denies the arch command without any pre-configured scope.","commands":{"allow":[],"deny":["arch"]}},"deny-exe-extension":{"identifier":"deny-exe-extension","description":"Denies the exe_extension command without any pre-configured scope.","commands":{"allow":[],"deny":["exe_extension"]}},"deny-family":{"identifier":"deny-family","description":"Denies the family command without any pre-configured scope.","commands":{"allow":[],"deny":["family"]}},"deny-hostname":{"identifier":"deny-hostname","description":"Denies the hostname command without any pre-configured scope.","commands":{"allow":[],"deny":["hostname"]}},"deny-locale":{"identifier":"deny-locale","description":"Denies the locale command without any pre-configured scope.","commands":{"allow":[],"deny":["locale"]}},"deny-os-type":{"identifier":"deny-os-type","description":"Denies the os_type command without any pre-configured scope.","commands":{"allow":[],"deny":["os_type"]}},"deny-platform":{"identifier":"deny-platform","description":"Denies the platform command without any pre-configured scope.","commands":{"allow":[],"deny":["platform"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":null,"permissions":{"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-kill":{"identifier":"allow-kill","description":"Enables the kill command without any pre-configured scope.","commands":{"allow":["kill"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-stdin-write":{"identifier":"allow-stdin-write","description":"Enables the stdin_write command without any pre-configured scope.","commands":{"allow":["stdin_write"],"deny":[]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-kill":{"identifier":"deny-kill","description":"Denies the kill command without any pre-configured scope.","commands":{"allow":[],"deny":["kill"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-stdin-write":{"identifier":"deny-stdin-write","description":"Denies the stdin_write command without any pre-configured scope.","commands":{"allow":[],"deny":["stdin_write"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"ShellAllowedArg":{"anyOf":[{"description":"A non-configurable argument that is passed to the command in the order it was specified.","type":"string"},{"additionalProperties":false,"description":"A variable that is set while calling the command from the webview API.","properties":{"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax","type":"string"}},"required":["validator"],"type":"object"}],"description":"A command argument allowed to be executed by the webview API."},"ShellAllowedArgs":{"anyOf":[{"description":"Use a simple boolean to allow all or disable all arguments to this command configuration.","type":"boolean"},{"description":"A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.","items":{"$ref":"#/definitions/ShellAllowedArg"},"type":"array"}],"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration."}},"description":"A command allowed to be executed by the webview API.","properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellAllowedArgs"}],"description":"The allowed arguments for the command execution."},"cmd":{"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"},"sidecar":{"description":"If this command is a sidecar command.","type":"boolean"}},"required":["args","cmd","name","sidecar"],"title":"Entry","type":"object"}},"tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":[]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"updater":{"default_permission":{"identifier":"default","description":"Allows checking for new updates and installing them","permissions":["allow-check","allow-download-and-install"]},"permissions":{"allow-check":{"identifier":"allow-check","description":"Enables the check command without any pre-configured scope.","commands":{"allow":["check"],"deny":[]}},"allow-download-and-install":{"identifier":"allow-download-and-install","description":"Enables the download_and_install command without any pre-configured scope.","commands":{"allow":["download_and_install"],"deny":[]}},"deny-check":{"identifier":"deny-check","description":"Denies the check command without any pre-configured scope.","commands":{"allow":[],"deny":["check"]}},"deny-download-and-install":{"identifier":"deny-download-and-install","description":"Denies the download_and_install command without any pre-configured scope.","commands":{"allow":[],"deny":["download_and_install"]}}},"permission_sets":{},"global_scope_schema":null},"webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-focus":{"identifier":"allow-set-webview-focus","description":"Enables the set_webview_focus command without any pre-configured scope.","commands":{"allow":["set_webview_focus"],"deny":[]}},"allow-set-webview-position":{"identifier":"allow-set-webview-position","description":"Enables the set_webview_position command without any pre-configured scope.","commands":{"allow":["set_webview_position"],"deny":[]}},"allow-set-webview-size":{"identifier":"allow-set-webview-size","description":"Enables the set_webview_size command without any pre-configured scope.","commands":{"allow":["set_webview_size"],"deny":[]}},"allow-set-webview-zoom":{"identifier":"allow-set-webview-zoom","description":"Enables the set_webview_zoom command without any pre-configured scope.","commands":{"allow":["set_webview_zoom"],"deny":[]}},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]}},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]}},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]}},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]}},"deny-create-webview-window":{"identifier":"deny-create-webview-window","description":"Denies the create_webview_window command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview_window"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-focus":{"identifier":"deny-set-webview-focus","description":"Denies the set_webview_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_focus"]}},"deny-set-webview-position":{"identifier":"deny-set-webview-position","description":"Denies the set_webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_position"]}},"deny-set-webview-size":{"identifier":"deny-set-webview-size","description":"Denies the set_webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_size"]}},"deny-set-webview-zoom":{"identifier":"deny-set-webview-zoom","description":"Denies the set_webview_zoom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_zoom"]}},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]}},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]}},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]}}},"permission_sets":{},"global_scope_schema":null},"window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-title","allow-current-monitor","allow-primary-monitor","allow-available-monitors","allow-cursor-position","allow-theme","allow-internal-toggle-maximize"]},"permissions":{"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]}},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]}},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]}},"allow-cursor-position":{"identifier":"allow-cursor-position","description":"Enables the cursor_position command without any pre-configured scope.","commands":{"allow":["cursor_position"],"deny":[]}},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]}},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]}},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]}},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]}},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]}},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]}},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]}},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]}},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]}},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]}},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]}},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]}},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]}},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]}},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]}},"allow-request-user-attention":{"identifier":"allow-request-user-attention","description":"Enables the request_user_attention command without any pre-configured scope.","commands":{"allow":["request_user_attention"],"deny":[]}},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]}},"allow-set-always-on-bottom":{"identifier":"allow-set-always-on-bottom","description":"Enables the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":["set_always_on_bottom"],"deny":[]}},"allow-set-always-on-top":{"identifier":"allow-set-always-on-top","description":"Enables the set_always_on_top command without any pre-configured scope.","commands":{"allow":["set_always_on_top"],"deny":[]}},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]}},"allow-set-content-protected":{"identifier":"allow-set-content-protected","description":"Enables the set_content_protected command without any pre-configured scope.","commands":{"allow":["set_content_protected"],"deny":[]}},"allow-set-cursor-grab":{"identifier":"allow-set-cursor-grab","description":"Enables the set_cursor_grab command without any pre-configured scope.","commands":{"allow":["set_cursor_grab"],"deny":[]}},"allow-set-cursor-icon":{"identifier":"allow-set-cursor-icon","description":"Enables the set_cursor_icon command without any pre-configured scope.","commands":{"allow":["set_cursor_icon"],"deny":[]}},"allow-set-cursor-position":{"identifier":"allow-set-cursor-position","description":"Enables the set_cursor_position command without any pre-configured scope.","commands":{"allow":["set_cursor_position"],"deny":[]}},"allow-set-cursor-visible":{"identifier":"allow-set-cursor-visible","description":"Enables the set_cursor_visible command without any pre-configured scope.","commands":{"allow":["set_cursor_visible"],"deny":[]}},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]}},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]}},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]}},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-ignore-cursor-events":{"identifier":"allow-set-ignore-cursor-events","description":"Enables the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":["set_ignore_cursor_events"],"deny":[]}},"allow-set-max-size":{"identifier":"allow-set-max-size","description":"Enables the set_max_size command without any pre-configured scope.","commands":{"allow":["set_max_size"],"deny":[]}},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]}},"allow-set-min-size":{"identifier":"allow-set-min-size","description":"Enables the set_min_size command without any pre-configured scope.","commands":{"allow":["set_min_size"],"deny":[]}},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]}},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]}},"allow-set-progress-bar":{"identifier":"allow-set-progress-bar","description":"Enables the set_progress_bar command without any pre-configured scope.","commands":{"allow":["set_progress_bar"],"deny":[]}},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]}},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]}},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]}},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]}},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]}},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]}},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]}},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]}},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]}},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]}},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]}},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]}},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]}},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]}},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]}},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]}},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]}},"deny-request-user-attention":{"identifier":"deny-request-user-attention","description":"Denies the request_user_attention command without any pre-configured scope.","commands":{"allow":[],"deny":["request_user_attention"]}},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]}},"deny-set-always-on-bottom":{"identifier":"deny-set-always-on-bottom","description":"Denies the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_bottom"]}},"deny-set-always-on-top":{"identifier":"deny-set-always-on-top","description":"Denies the set_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_top"]}},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]}},"deny-set-content-protected":{"identifier":"deny-set-content-protected","description":"Denies the set_content_protected command without any pre-configured scope.","commands":{"allow":[],"deny":["set_content_protected"]}},"deny-set-cursor-grab":{"identifier":"deny-set-cursor-grab","description":"Denies the set_cursor_grab command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_grab"]}},"deny-set-cursor-icon":{"identifier":"deny-set-cursor-icon","description":"Denies the set_cursor_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_icon"]}},"deny-set-cursor-position":{"identifier":"deny-set-cursor-position","description":"Denies the set_cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_position"]}},"deny-set-cursor-visible":{"identifier":"deny-set-cursor-visible","description":"Denies the set_cursor_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_visible"]}},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]}},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]}},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]}},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-ignore-cursor-events":{"identifier":"deny-set-ignore-cursor-events","description":"Denies the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":[],"deny":["set_ignore_cursor_events"]}},"deny-set-max-size":{"identifier":"deny-set-max-size","description":"Denies the set_max_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_max_size"]}},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]}},"deny-set-min-size":{"identifier":"deny-set-min-size","description":"Denies the set_min_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_min_size"]}},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]}},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]}},"deny-set-progress-bar":{"identifier":"deny-set-progress-bar","description":"Denies the set_progress_bar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_progress_bar"]}},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]}},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]}},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"window-state":{"default_permission":null,"permissions":{"allow-filename":{"identifier":"allow-filename","description":"Enables the filename command without any pre-configured scope.","commands":{"allow":["filename"],"deny":[]}},"allow-restore-state":{"identifier":"allow-restore-state","description":"Enables the restore_state command without any pre-configured scope.","commands":{"allow":["restore_state"],"deny":[]}},"allow-save-window-state":{"identifier":"allow-save-window-state","description":"Enables the save_window_state command without any pre-configured scope.","commands":{"allow":["save_window_state"],"deny":[]}},"deny-filename":{"identifier":"deny-filename","description":"Denies the filename command without any pre-configured scope.","commands":{"allow":[],"deny":["filename"]}},"deny-restore-state":{"identifier":"deny-restore-state","description":"Denies the restore_state command without any pre-configured scope.","commands":{"allow":[],"deny":["restore_state"]}},"deny-save-window-state":{"identifier":"deny-save-window-state","description":"Denies the save_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["save_window_state"]}}},"permission_sets":{},"global_scope_schema":null}}
\ No newline at end of file
+{"app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]}},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]}},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"clipboard-manager":{"default_permission":null,"permissions":{"allow-clear":{"identifier":"allow-clear","description":"Enables the clear command without any pre-configured scope.","commands":{"allow":["clear"],"deny":[]}},"allow-read-image":{"identifier":"allow-read-image","description":"Enables the read_image command without any pre-configured scope.","commands":{"allow":["read_image"],"deny":[]}},"allow-read-text":{"identifier":"allow-read-text","description":"Enables the read_text command without any pre-configured scope.","commands":{"allow":["read_text"],"deny":[]}},"allow-write-html":{"identifier":"allow-write-html","description":"Enables the write_html command without any pre-configured scope.","commands":{"allow":["write_html"],"deny":[]}},"allow-write-image":{"identifier":"allow-write-image","description":"Enables the write_image command without any pre-configured scope.","commands":{"allow":["write_image"],"deny":[]}},"allow-write-text":{"identifier":"allow-write-text","description":"Enables the write_text command without any pre-configured scope.","commands":{"allow":["write_text"],"deny":[]}},"deny-clear":{"identifier":"deny-clear","description":"Denies the clear command without any pre-configured scope.","commands":{"allow":[],"deny":["clear"]}},"deny-read-image":{"identifier":"deny-read-image","description":"Denies the read_image command without any pre-configured scope.","commands":{"allow":[],"deny":["read_image"]}},"deny-read-text":{"identifier":"deny-read-text","description":"Denies the read_text command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text"]}},"deny-write-html":{"identifier":"deny-write-html","description":"Denies the write_html command without any pre-configured scope.","commands":{"allow":[],"deny":["write_html"]}},"deny-write-image":{"identifier":"deny-write-image","description":"Denies the write_image command without any pre-configured scope.","commands":{"allow":[],"deny":["write_image"]}},"deny-write-text":{"identifier":"deny-write-text","description":"Denies the write_text command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text"]}}},"permission_sets":{},"global_scope_schema":null},"deep-link":{"default_permission":{"identifier":"default","description":"Allows reading the opened deep link via the get_current command","permissions":["allow-get-current"]},"permissions":{"allow-get-current":{"identifier":"allow-get-current","description":"Enables the get_current command without any pre-configured scope.","commands":{"allow":["get_current"],"deny":[]}},"allow-is-registered":{"identifier":"allow-is-registered","description":"Enables the is_registered command without any pre-configured scope.","commands":{"allow":["is_registered"],"deny":[]}},"allow-register":{"identifier":"allow-register","description":"Enables the register command without any pre-configured scope.","commands":{"allow":["register"],"deny":[]}},"allow-unregister":{"identifier":"allow-unregister","description":"Enables the unregister command without any pre-configured scope.","commands":{"allow":["unregister"],"deny":[]}},"deny-get-current":{"identifier":"deny-get-current","description":"Denies the get_current command without any pre-configured scope.","commands":{"allow":[],"deny":["get_current"]}},"deny-is-registered":{"identifier":"deny-is-registered","description":"Denies the is_registered command without any pre-configured scope.","commands":{"allow":[],"deny":["is_registered"]}},"deny-register":{"identifier":"deny-register","description":"Denies the register command without any pre-configured scope.","commands":{"allow":[],"deny":["register"]}},"deny-unregister":{"identifier":"deny-unregister","description":"Denies the unregister command without any pre-configured scope.","commands":{"allow":[],"deny":["unregister"]}}},"permission_sets":{},"global_scope_schema":null},"dialog":{"default_permission":null,"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]}},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]}},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]}},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]}},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}}},"permission_sets":{},"global_scope_schema":null},"event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]}},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]}},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]}},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]}},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]}},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]}},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]}},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]}}},"permission_sets":{},"global_scope_schema":null},"fs":{"default_permission":{"identifier":"default","description":"# Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n","permissions":["read-all","scope-app-recursive","deny-default"]},"permissions":{"allow-copy-file":{"identifier":"allow-copy-file","description":"Enables the copy_file command without any pre-configured scope.","commands":{"allow":["copy_file"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-exists":{"identifier":"allow-exists","description":"Enables the exists command without any pre-configured scope.","commands":{"allow":["exists"],"deny":[]}},"allow-fstat":{"identifier":"allow-fstat","description":"Enables the fstat command without any pre-configured scope.","commands":{"allow":["fstat"],"deny":[]}},"allow-ftruncate":{"identifier":"allow-ftruncate","description":"Enables the ftruncate command without any pre-configured scope.","commands":{"allow":["ftruncate"],"deny":[]}},"allow-lstat":{"identifier":"allow-lstat","description":"Enables the lstat command without any pre-configured scope.","commands":{"allow":["lstat"],"deny":[]}},"allow-mkdir":{"identifier":"allow-mkdir","description":"Enables the mkdir command without any pre-configured scope.","commands":{"allow":["mkdir"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-read":{"identifier":"allow-read","description":"Enables the read command without any pre-configured scope.","commands":{"allow":["read"],"deny":[]}},"allow-read-dir":{"identifier":"allow-read-dir","description":"Enables the read_dir command without any pre-configured scope.","commands":{"allow":["read_dir"],"deny":[]}},"allow-read-file":{"identifier":"allow-read-file","description":"Enables the read_file command without any pre-configured scope.","commands":{"allow":["read_file"],"deny":[]}},"allow-read-text-file":{"identifier":"allow-read-text-file","description":"Enables the read_text_file command without any pre-configured scope.","commands":{"allow":["read_text_file"],"deny":[]}},"allow-read-text-file-lines":{"identifier":"allow-read-text-file-lines","description":"Enables the read_text_file_lines command without any pre-configured scope.","commands":{"allow":["read_text_file_lines"],"deny":[]}},"allow-read-text-file-lines-next":{"identifier":"allow-read-text-file-lines-next","description":"Enables the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":["read_text_file_lines_next"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-rename":{"identifier":"allow-rename","description":"Enables the rename command without any pre-configured scope.","commands":{"allow":["rename"],"deny":[]}},"allow-seek":{"identifier":"allow-seek","description":"Enables the seek command without any pre-configured scope.","commands":{"allow":["seek"],"deny":[]}},"allow-stat":{"identifier":"allow-stat","description":"Enables the stat command without any pre-configured scope.","commands":{"allow":["stat"],"deny":[]}},"allow-truncate":{"identifier":"allow-truncate","description":"Enables the truncate command without any pre-configured scope.","commands":{"allow":["truncate"],"deny":[]}},"allow-unwatch":{"identifier":"allow-unwatch","description":"Enables the unwatch command without any pre-configured scope.","commands":{"allow":["unwatch"],"deny":[]}},"allow-watch":{"identifier":"allow-watch","description":"Enables the watch command without any pre-configured scope.","commands":{"allow":["watch"],"deny":[]}},"allow-write":{"identifier":"allow-write","description":"Enables the write command without any pre-configured scope.","commands":{"allow":["write"],"deny":[]}},"allow-write-file":{"identifier":"allow-write-file","description":"Enables the write_file command without any pre-configured scope.","commands":{"allow":["write_file"],"deny":[]}},"allow-write-text-file":{"identifier":"allow-write-text-file","description":"Enables the write_text_file command without any pre-configured scope.","commands":{"allow":["write_text_file"],"deny":[]}},"deny-copy-file":{"identifier":"deny-copy-file","description":"Denies the copy_file command without any pre-configured scope.","commands":{"allow":[],"deny":["copy_file"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-exists":{"identifier":"deny-exists","description":"Denies the exists command without any pre-configured scope.","commands":{"allow":[],"deny":["exists"]}},"deny-fstat":{"identifier":"deny-fstat","description":"Denies the fstat command without any pre-configured scope.","commands":{"allow":[],"deny":["fstat"]}},"deny-ftruncate":{"identifier":"deny-ftruncate","description":"Denies the ftruncate command without any pre-configured scope.","commands":{"allow":[],"deny":["ftruncate"]}},"deny-lstat":{"identifier":"deny-lstat","description":"Denies the lstat command without any pre-configured scope.","commands":{"allow":[],"deny":["lstat"]}},"deny-mkdir":{"identifier":"deny-mkdir","description":"Denies the mkdir command without any pre-configured scope.","commands":{"allow":[],"deny":["mkdir"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-read":{"identifier":"deny-read","description":"Denies the read command without any pre-configured scope.","commands":{"allow":[],"deny":["read"]}},"deny-read-dir":{"identifier":"deny-read-dir","description":"Denies the read_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["read_dir"]}},"deny-read-file":{"identifier":"deny-read-file","description":"Denies the read_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_file"]}},"deny-read-text-file":{"identifier":"deny-read-text-file","description":"Denies the read_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file"]}},"deny-read-text-file-lines":{"identifier":"deny-read-text-file-lines","description":"Denies the read_text_file_lines command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines"]}},"deny-read-text-file-lines-next":{"identifier":"deny-read-text-file-lines-next","description":"Denies the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines_next"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-rename":{"identifier":"deny-rename","description":"Denies the rename command without any pre-configured scope.","commands":{"allow":[],"deny":["rename"]}},"deny-seek":{"identifier":"deny-seek","description":"Denies the seek command without any pre-configured scope.","commands":{"allow":[],"deny":["seek"]}},"deny-stat":{"identifier":"deny-stat","description":"Denies the stat command without any pre-configured scope.","commands":{"allow":[],"deny":["stat"]}},"deny-truncate":{"identifier":"deny-truncate","description":"Denies the truncate command without any pre-configured scope.","commands":{"allow":[],"deny":["truncate"]}},"deny-unwatch":{"identifier":"deny-unwatch","description":"Denies the unwatch command without any pre-configured scope.","commands":{"allow":[],"deny":["unwatch"]}},"deny-watch":{"identifier":"deny-watch","description":"Denies the watch command without any pre-configured scope.","commands":{"allow":[],"deny":["watch"]}},"deny-webview-data-linux":{"identifier":"deny-webview-data-linux","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.","commands":{"allow":[],"deny":[]}},"deny-webview-data-windows":{"identifier":"deny-webview-data-windows","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.","commands":{"allow":[],"deny":[]}},"deny-write":{"identifier":"deny-write","description":"Denies the write command without any pre-configured scope.","commands":{"allow":[],"deny":["write"]}},"deny-write-file":{"identifier":"deny-write-file","description":"Denies the write_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_file"]}},"deny-write-text-file":{"identifier":"deny-write-text-file","description":"Denies the write_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text_file"]}},"read-all":{"identifier":"read-all","description":"This enables all read related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists","watch","unwatch"],"deny":[]}},"read-dirs":{"identifier":"read-dirs","description":"This enables directory read and file metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]}},"read-files":{"identifier":"read-files","description":"This enables file read related commands without any pre-configured accessible paths.","commands":{"allow":["read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists"],"deny":[]}},"read-meta":{"identifier":"read-meta","description":"This enables all index or metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]}},"scope":{"identifier":"scope","description":"An empty permission you can use to modify the global scope.","commands":{"allow":[],"deny":[]}},"scope-app":{"identifier":"scope-app","description":"This scope permits access to all files and list content of top level directories in the `$APP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/*"}]}},"scope-app-index":{"identifier":"scope-app-index","description":"This scope permits to list all files and folders in the `$APP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/"}]}},"scope-app-recursive":{"identifier":"scope-app-recursive","description":"This scope recursive access to the complete `$APP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/**"}]}},"scope-appcache":{"identifier":"scope-appcache","description":"This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/*"}]}},"scope-appcache-index":{"identifier":"scope-appcache-index","description":"This scope permits to list all files and folders in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/"}]}},"scope-appcache-recursive":{"identifier":"scope-appcache-recursive","description":"This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/**"}]}},"scope-appconfig":{"identifier":"scope-appconfig","description":"This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/*"}]}},"scope-appconfig-index":{"identifier":"scope-appconfig-index","description":"This scope permits to list all files and folders in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/"}]}},"scope-appconfig-recursive":{"identifier":"scope-appconfig-recursive","description":"This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/**"}]}},"scope-appdata":{"identifier":"scope-appdata","description":"This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/*"}]}},"scope-appdata-index":{"identifier":"scope-appdata-index","description":"This scope permits to list all files and folders in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/"}]}},"scope-appdata-recursive":{"identifier":"scope-appdata-recursive","description":"This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/**"}]}},"scope-applocaldata":{"identifier":"scope-applocaldata","description":"This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/*"}]}},"scope-applocaldata-index":{"identifier":"scope-applocaldata-index","description":"This scope permits to list all files and folders in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/"}]}},"scope-applocaldata-recursive":{"identifier":"scope-applocaldata-recursive","description":"This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/**"}]}},"scope-applog":{"identifier":"scope-applog","description":"This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/*"}]}},"scope-applog-index":{"identifier":"scope-applog-index","description":"This scope permits to list all files and folders in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/"}]}},"scope-applog-recursive":{"identifier":"scope-applog-recursive","description":"This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/**"}]}},"scope-audio":{"identifier":"scope-audio","description":"This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/*"}]}},"scope-audio-index":{"identifier":"scope-audio-index","description":"This scope permits to list all files and folders in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/"}]}},"scope-audio-recursive":{"identifier":"scope-audio-recursive","description":"This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/**"}]}},"scope-cache":{"identifier":"scope-cache","description":"This scope permits access to all files and list content of top level directories in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/*"}]}},"scope-cache-index":{"identifier":"scope-cache-index","description":"This scope permits to list all files and folders in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/"}]}},"scope-cache-recursive":{"identifier":"scope-cache-recursive","description":"This scope recursive access to the complete `$CACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/**"}]}},"scope-config":{"identifier":"scope-config","description":"This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/*"}]}},"scope-config-index":{"identifier":"scope-config-index","description":"This scope permits to list all files and folders in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/"}]}},"scope-config-recursive":{"identifier":"scope-config-recursive","description":"This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/**"}]}},"scope-data":{"identifier":"scope-data","description":"This scope permits access to all files and list content of top level directories in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/*"}]}},"scope-data-index":{"identifier":"scope-data-index","description":"This scope permits to list all files and folders in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/"}]}},"scope-data-recursive":{"identifier":"scope-data-recursive","description":"This scope recursive access to the complete `$DATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/**"}]}},"scope-desktop":{"identifier":"scope-desktop","description":"This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/*"}]}},"scope-desktop-index":{"identifier":"scope-desktop-index","description":"This scope permits to list all files and folders in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/"}]}},"scope-desktop-recursive":{"identifier":"scope-desktop-recursive","description":"This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/**"}]}},"scope-document":{"identifier":"scope-document","description":"This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/*"}]}},"scope-document-index":{"identifier":"scope-document-index","description":"This scope permits to list all files and folders in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/"}]}},"scope-document-recursive":{"identifier":"scope-document-recursive","description":"This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/**"}]}},"scope-download":{"identifier":"scope-download","description":"This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/*"}]}},"scope-download-index":{"identifier":"scope-download-index","description":"This scope permits to list all files and folders in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/"}]}},"scope-download-recursive":{"identifier":"scope-download-recursive","description":"This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/**"}]}},"scope-exe":{"identifier":"scope-exe","description":"This scope permits access to all files and list content of top level directories in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/*"}]}},"scope-exe-index":{"identifier":"scope-exe-index","description":"This scope permits to list all files and folders in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/"}]}},"scope-exe-recursive":{"identifier":"scope-exe-recursive","description":"This scope recursive access to the complete `$EXE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/**"}]}},"scope-font":{"identifier":"scope-font","description":"This scope permits access to all files and list content of top level directories in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/*"}]}},"scope-font-index":{"identifier":"scope-font-index","description":"This scope permits to list all files and folders in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/"}]}},"scope-font-recursive":{"identifier":"scope-font-recursive","description":"This scope recursive access to the complete `$FONT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/**"}]}},"scope-home":{"identifier":"scope-home","description":"This scope permits access to all files and list content of top level directories in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/*"}]}},"scope-home-index":{"identifier":"scope-home-index","description":"This scope permits to list all files and folders in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/"}]}},"scope-home-recursive":{"identifier":"scope-home-recursive","description":"This scope recursive access to the complete `$HOME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/**"}]}},"scope-localdata":{"identifier":"scope-localdata","description":"This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/*"}]}},"scope-localdata-index":{"identifier":"scope-localdata-index","description":"This scope permits to list all files and folders in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/"}]}},"scope-localdata-recursive":{"identifier":"scope-localdata-recursive","description":"This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/**"}]}},"scope-log":{"identifier":"scope-log","description":"This scope permits access to all files and list content of top level directories in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/*"}]}},"scope-log-index":{"identifier":"scope-log-index","description":"This scope permits to list all files and folders in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/"}]}},"scope-log-recursive":{"identifier":"scope-log-recursive","description":"This scope recursive access to the complete `$LOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/**"}]}},"scope-picture":{"identifier":"scope-picture","description":"This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/*"}]}},"scope-picture-index":{"identifier":"scope-picture-index","description":"This scope permits to list all files and folders in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/"}]}},"scope-picture-recursive":{"identifier":"scope-picture-recursive","description":"This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/**"}]}},"scope-public":{"identifier":"scope-public","description":"This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/*"}]}},"scope-public-index":{"identifier":"scope-public-index","description":"This scope permits to list all files and folders in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/"}]}},"scope-public-recursive":{"identifier":"scope-public-recursive","description":"This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/**"}]}},"scope-resource":{"identifier":"scope-resource","description":"This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/*"}]}},"scope-resource-index":{"identifier":"scope-resource-index","description":"This scope permits to list all files and folders in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/"}]}},"scope-resource-recursive":{"identifier":"scope-resource-recursive","description":"This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/**"}]}},"scope-runtime":{"identifier":"scope-runtime","description":"This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/*"}]}},"scope-runtime-index":{"identifier":"scope-runtime-index","description":"This scope permits to list all files and folders in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/"}]}},"scope-runtime-recursive":{"identifier":"scope-runtime-recursive","description":"This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/**"}]}},"scope-temp":{"identifier":"scope-temp","description":"This scope permits access to all files and list content of top level directories in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/*"}]}},"scope-temp-index":{"identifier":"scope-temp-index","description":"This scope permits to list all files and folders in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/"}]}},"scope-temp-recursive":{"identifier":"scope-temp-recursive","description":"This scope recursive access to the complete `$TEMP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/**"}]}},"scope-template":{"identifier":"scope-template","description":"This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/*"}]}},"scope-template-index":{"identifier":"scope-template-index","description":"This scope permits to list all files and folders in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/"}]}},"scope-template-recursive":{"identifier":"scope-template-recursive","description":"This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/**"}]}},"scope-video":{"identifier":"scope-video","description":"This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/*"}]}},"scope-video-index":{"identifier":"scope-video-index","description":"This scope permits to list all files and folders in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/"}]}},"scope-video-recursive":{"identifier":"scope-video-recursive","description":"This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/**"}]}},"write-all":{"identifier":"write-all","description":"This enables all write related commands without any pre-configured accessible paths.","commands":{"allow":["mkdir","create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}},"write-files":{"identifier":"write-files","description":"This enables all file write related commands without any pre-configured accessible paths.","commands":{"allow":["create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}}},"permission_sets":{"allow-app-meta":{"identifier":"allow-app-meta","description":"This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.","permissions":["read-meta","scope-app-index"]},"allow-app-meta-recursive":{"identifier":"allow-app-meta-recursive","description":"This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.","permissions":["read-meta","scope-app-recursive"]},"allow-app-read":{"identifier":"allow-app-read","description":"This allows non-recursive read access to the `$APP` folder.","permissions":["read-all","scope-app"]},"allow-app-read-recursive":{"identifier":"allow-app-read-recursive","description":"This allows full recursive read access to the complete `$APP` folder, files and subdirectories.","permissions":["read-all","scope-app-recursive"]},"allow-app-write":{"identifier":"allow-app-write","description":"This allows non-recursive write access to the `$APP` folder.","permissions":["write-all","scope-app"]},"allow-app-write-recursive":{"identifier":"allow-app-write-recursive","description":"This allows full recursive write access to the complete `$APP` folder, files and subdirectories.","permissions":["write-all","scope-app-recursive"]},"allow-appcache-meta":{"identifier":"allow-appcache-meta","description":"This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-index"]},"allow-appcache-meta-recursive":{"identifier":"allow-appcache-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-recursive"]},"allow-appcache-read":{"identifier":"allow-appcache-read","description":"This allows non-recursive read access to the `$APPCACHE` folder.","permissions":["read-all","scope-appcache"]},"allow-appcache-read-recursive":{"identifier":"allow-appcache-read-recursive","description":"This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["read-all","scope-appcache-recursive"]},"allow-appcache-write":{"identifier":"allow-appcache-write","description":"This allows non-recursive write access to the `$APPCACHE` folder.","permissions":["write-all","scope-appcache"]},"allow-appcache-write-recursive":{"identifier":"allow-appcache-write-recursive","description":"This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["write-all","scope-appcache-recursive"]},"allow-appconfig-meta":{"identifier":"allow-appconfig-meta","description":"This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-index"]},"allow-appconfig-meta-recursive":{"identifier":"allow-appconfig-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-recursive"]},"allow-appconfig-read":{"identifier":"allow-appconfig-read","description":"This allows non-recursive read access to the `$APPCONFIG` folder.","permissions":["read-all","scope-appconfig"]},"allow-appconfig-read-recursive":{"identifier":"allow-appconfig-read-recursive","description":"This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["read-all","scope-appconfig-recursive"]},"allow-appconfig-write":{"identifier":"allow-appconfig-write","description":"This allows non-recursive write access to the `$APPCONFIG` folder.","permissions":["write-all","scope-appconfig"]},"allow-appconfig-write-recursive":{"identifier":"allow-appconfig-write-recursive","description":"This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["write-all","scope-appconfig-recursive"]},"allow-appdata-meta":{"identifier":"allow-appdata-meta","description":"This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-index"]},"allow-appdata-meta-recursive":{"identifier":"allow-appdata-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-recursive"]},"allow-appdata-read":{"identifier":"allow-appdata-read","description":"This allows non-recursive read access to the `$APPDATA` folder.","permissions":["read-all","scope-appdata"]},"allow-appdata-read-recursive":{"identifier":"allow-appdata-read-recursive","description":"This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["read-all","scope-appdata-recursive"]},"allow-appdata-write":{"identifier":"allow-appdata-write","description":"This allows non-recursive write access to the `$APPDATA` folder.","permissions":["write-all","scope-appdata"]},"allow-appdata-write-recursive":{"identifier":"allow-appdata-write-recursive","description":"This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["write-all","scope-appdata-recursive"]},"allow-applocaldata-meta":{"identifier":"allow-applocaldata-meta","description":"This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-index"]},"allow-applocaldata-meta-recursive":{"identifier":"allow-applocaldata-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-recursive"]},"allow-applocaldata-read":{"identifier":"allow-applocaldata-read","description":"This allows non-recursive read access to the `$APPLOCALDATA` folder.","permissions":["read-all","scope-applocaldata"]},"allow-applocaldata-read-recursive":{"identifier":"allow-applocaldata-read-recursive","description":"This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-applocaldata-recursive"]},"allow-applocaldata-write":{"identifier":"allow-applocaldata-write","description":"This allows non-recursive write access to the `$APPLOCALDATA` folder.","permissions":["write-all","scope-applocaldata"]},"allow-applocaldata-write-recursive":{"identifier":"allow-applocaldata-write-recursive","description":"This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-applocaldata-recursive"]},"allow-applog-meta":{"identifier":"allow-applog-meta","description":"This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-index"]},"allow-applog-meta-recursive":{"identifier":"allow-applog-meta-recursive","description":"This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-recursive"]},"allow-applog-read":{"identifier":"allow-applog-read","description":"This allows non-recursive read access to the `$APPLOG` folder.","permissions":["read-all","scope-applog"]},"allow-applog-read-recursive":{"identifier":"allow-applog-read-recursive","description":"This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["read-all","scope-applog-recursive"]},"allow-applog-write":{"identifier":"allow-applog-write","description":"This allows non-recursive write access to the `$APPLOG` folder.","permissions":["write-all","scope-applog"]},"allow-applog-write-recursive":{"identifier":"allow-applog-write-recursive","description":"This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["write-all","scope-applog-recursive"]},"allow-audio-meta":{"identifier":"allow-audio-meta","description":"This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-index"]},"allow-audio-meta-recursive":{"identifier":"allow-audio-meta-recursive","description":"This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-recursive"]},"allow-audio-read":{"identifier":"allow-audio-read","description":"This allows non-recursive read access to the `$AUDIO` folder.","permissions":["read-all","scope-audio"]},"allow-audio-read-recursive":{"identifier":"allow-audio-read-recursive","description":"This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["read-all","scope-audio-recursive"]},"allow-audio-write":{"identifier":"allow-audio-write","description":"This allows non-recursive write access to the `$AUDIO` folder.","permissions":["write-all","scope-audio"]},"allow-audio-write-recursive":{"identifier":"allow-audio-write-recursive","description":"This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["write-all","scope-audio-recursive"]},"allow-cache-meta":{"identifier":"allow-cache-meta","description":"This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-index"]},"allow-cache-meta-recursive":{"identifier":"allow-cache-meta-recursive","description":"This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-recursive"]},"allow-cache-read":{"identifier":"allow-cache-read","description":"This allows non-recursive read access to the `$CACHE` folder.","permissions":["read-all","scope-cache"]},"allow-cache-read-recursive":{"identifier":"allow-cache-read-recursive","description":"This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.","permissions":["read-all","scope-cache-recursive"]},"allow-cache-write":{"identifier":"allow-cache-write","description":"This allows non-recursive write access to the `$CACHE` folder.","permissions":["write-all","scope-cache"]},"allow-cache-write-recursive":{"identifier":"allow-cache-write-recursive","description":"This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.","permissions":["write-all","scope-cache-recursive"]},"allow-config-meta":{"identifier":"allow-config-meta","description":"This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-index"]},"allow-config-meta-recursive":{"identifier":"allow-config-meta-recursive","description":"This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-recursive"]},"allow-config-read":{"identifier":"allow-config-read","description":"This allows non-recursive read access to the `$CONFIG` folder.","permissions":["read-all","scope-config"]},"allow-config-read-recursive":{"identifier":"allow-config-read-recursive","description":"This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["read-all","scope-config-recursive"]},"allow-config-write":{"identifier":"allow-config-write","description":"This allows non-recursive write access to the `$CONFIG` folder.","permissions":["write-all","scope-config"]},"allow-config-write-recursive":{"identifier":"allow-config-write-recursive","description":"This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["write-all","scope-config-recursive"]},"allow-data-meta":{"identifier":"allow-data-meta","description":"This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-index"]},"allow-data-meta-recursive":{"identifier":"allow-data-meta-recursive","description":"This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-recursive"]},"allow-data-read":{"identifier":"allow-data-read","description":"This allows non-recursive read access to the `$DATA` folder.","permissions":["read-all","scope-data"]},"allow-data-read-recursive":{"identifier":"allow-data-read-recursive","description":"This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.","permissions":["read-all","scope-data-recursive"]},"allow-data-write":{"identifier":"allow-data-write","description":"This allows non-recursive write access to the `$DATA` folder.","permissions":["write-all","scope-data"]},"allow-data-write-recursive":{"identifier":"allow-data-write-recursive","description":"This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.","permissions":["write-all","scope-data-recursive"]},"allow-desktop-meta":{"identifier":"allow-desktop-meta","description":"This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-index"]},"allow-desktop-meta-recursive":{"identifier":"allow-desktop-meta-recursive","description":"This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-recursive"]},"allow-desktop-read":{"identifier":"allow-desktop-read","description":"This allows non-recursive read access to the `$DESKTOP` folder.","permissions":["read-all","scope-desktop"]},"allow-desktop-read-recursive":{"identifier":"allow-desktop-read-recursive","description":"This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["read-all","scope-desktop-recursive"]},"allow-desktop-write":{"identifier":"allow-desktop-write","description":"This allows non-recursive write access to the `$DESKTOP` folder.","permissions":["write-all","scope-desktop"]},"allow-desktop-write-recursive":{"identifier":"allow-desktop-write-recursive","description":"This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["write-all","scope-desktop-recursive"]},"allow-document-meta":{"identifier":"allow-document-meta","description":"This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-index"]},"allow-document-meta-recursive":{"identifier":"allow-document-meta-recursive","description":"This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-recursive"]},"allow-document-read":{"identifier":"allow-document-read","description":"This allows non-recursive read access to the `$DOCUMENT` folder.","permissions":["read-all","scope-document"]},"allow-document-read-recursive":{"identifier":"allow-document-read-recursive","description":"This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["read-all","scope-document-recursive"]},"allow-document-write":{"identifier":"allow-document-write","description":"This allows non-recursive write access to the `$DOCUMENT` folder.","permissions":["write-all","scope-document"]},"allow-document-write-recursive":{"identifier":"allow-document-write-recursive","description":"This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["write-all","scope-document-recursive"]},"allow-download-meta":{"identifier":"allow-download-meta","description":"This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-index"]},"allow-download-meta-recursive":{"identifier":"allow-download-meta-recursive","description":"This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-recursive"]},"allow-download-read":{"identifier":"allow-download-read","description":"This allows non-recursive read access to the `$DOWNLOAD` folder.","permissions":["read-all","scope-download"]},"allow-download-read-recursive":{"identifier":"allow-download-read-recursive","description":"This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["read-all","scope-download-recursive"]},"allow-download-write":{"identifier":"allow-download-write","description":"This allows non-recursive write access to the `$DOWNLOAD` folder.","permissions":["write-all","scope-download"]},"allow-download-write-recursive":{"identifier":"allow-download-write-recursive","description":"This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["write-all","scope-download-recursive"]},"allow-exe-meta":{"identifier":"allow-exe-meta","description":"This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-index"]},"allow-exe-meta-recursive":{"identifier":"allow-exe-meta-recursive","description":"This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-recursive"]},"allow-exe-read":{"identifier":"allow-exe-read","description":"This allows non-recursive read access to the `$EXE` folder.","permissions":["read-all","scope-exe"]},"allow-exe-read-recursive":{"identifier":"allow-exe-read-recursive","description":"This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.","permissions":["read-all","scope-exe-recursive"]},"allow-exe-write":{"identifier":"allow-exe-write","description":"This allows non-recursive write access to the `$EXE` folder.","permissions":["write-all","scope-exe"]},"allow-exe-write-recursive":{"identifier":"allow-exe-write-recursive","description":"This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.","permissions":["write-all","scope-exe-recursive"]},"allow-font-meta":{"identifier":"allow-font-meta","description":"This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-index"]},"allow-font-meta-recursive":{"identifier":"allow-font-meta-recursive","description":"This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-recursive"]},"allow-font-read":{"identifier":"allow-font-read","description":"This allows non-recursive read access to the `$FONT` folder.","permissions":["read-all","scope-font"]},"allow-font-read-recursive":{"identifier":"allow-font-read-recursive","description":"This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.","permissions":["read-all","scope-font-recursive"]},"allow-font-write":{"identifier":"allow-font-write","description":"This allows non-recursive write access to the `$FONT` folder.","permissions":["write-all","scope-font"]},"allow-font-write-recursive":{"identifier":"allow-font-write-recursive","description":"This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.","permissions":["write-all","scope-font-recursive"]},"allow-home-meta":{"identifier":"allow-home-meta","description":"This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-index"]},"allow-home-meta-recursive":{"identifier":"allow-home-meta-recursive","description":"This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-recursive"]},"allow-home-read":{"identifier":"allow-home-read","description":"This allows non-recursive read access to the `$HOME` folder.","permissions":["read-all","scope-home"]},"allow-home-read-recursive":{"identifier":"allow-home-read-recursive","description":"This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.","permissions":["read-all","scope-home-recursive"]},"allow-home-write":{"identifier":"allow-home-write","description":"This allows non-recursive write access to the `$HOME` folder.","permissions":["write-all","scope-home"]},"allow-home-write-recursive":{"identifier":"allow-home-write-recursive","description":"This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.","permissions":["write-all","scope-home-recursive"]},"allow-localdata-meta":{"identifier":"allow-localdata-meta","description":"This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-index"]},"allow-localdata-meta-recursive":{"identifier":"allow-localdata-meta-recursive","description":"This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-recursive"]},"allow-localdata-read":{"identifier":"allow-localdata-read","description":"This allows non-recursive read access to the `$LOCALDATA` folder.","permissions":["read-all","scope-localdata"]},"allow-localdata-read-recursive":{"identifier":"allow-localdata-read-recursive","description":"This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-localdata-recursive"]},"allow-localdata-write":{"identifier":"allow-localdata-write","description":"This allows non-recursive write access to the `$LOCALDATA` folder.","permissions":["write-all","scope-localdata"]},"allow-localdata-write-recursive":{"identifier":"allow-localdata-write-recursive","description":"This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-localdata-recursive"]},"allow-log-meta":{"identifier":"allow-log-meta","description":"This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-index"]},"allow-log-meta-recursive":{"identifier":"allow-log-meta-recursive","description":"This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-recursive"]},"allow-log-read":{"identifier":"allow-log-read","description":"This allows non-recursive read access to the `$LOG` folder.","permissions":["read-all","scope-log"]},"allow-log-read-recursive":{"identifier":"allow-log-read-recursive","description":"This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.","permissions":["read-all","scope-log-recursive"]},"allow-log-write":{"identifier":"allow-log-write","description":"This allows non-recursive write access to the `$LOG` folder.","permissions":["write-all","scope-log"]},"allow-log-write-recursive":{"identifier":"allow-log-write-recursive","description":"This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.","permissions":["write-all","scope-log-recursive"]},"allow-picture-meta":{"identifier":"allow-picture-meta","description":"This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-index"]},"allow-picture-meta-recursive":{"identifier":"allow-picture-meta-recursive","description":"This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-recursive"]},"allow-picture-read":{"identifier":"allow-picture-read","description":"This allows non-recursive read access to the `$PICTURE` folder.","permissions":["read-all","scope-picture"]},"allow-picture-read-recursive":{"identifier":"allow-picture-read-recursive","description":"This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["read-all","scope-picture-recursive"]},"allow-picture-write":{"identifier":"allow-picture-write","description":"This allows non-recursive write access to the `$PICTURE` folder.","permissions":["write-all","scope-picture"]},"allow-picture-write-recursive":{"identifier":"allow-picture-write-recursive","description":"This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["write-all","scope-picture-recursive"]},"allow-public-meta":{"identifier":"allow-public-meta","description":"This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-index"]},"allow-public-meta-recursive":{"identifier":"allow-public-meta-recursive","description":"This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-recursive"]},"allow-public-read":{"identifier":"allow-public-read","description":"This allows non-recursive read access to the `$PUBLIC` folder.","permissions":["read-all","scope-public"]},"allow-public-read-recursive":{"identifier":"allow-public-read-recursive","description":"This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["read-all","scope-public-recursive"]},"allow-public-write":{"identifier":"allow-public-write","description":"This allows non-recursive write access to the `$PUBLIC` folder.","permissions":["write-all","scope-public"]},"allow-public-write-recursive":{"identifier":"allow-public-write-recursive","description":"This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["write-all","scope-public-recursive"]},"allow-resource-meta":{"identifier":"allow-resource-meta","description":"This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-index"]},"allow-resource-meta-recursive":{"identifier":"allow-resource-meta-recursive","description":"This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-recursive"]},"allow-resource-read":{"identifier":"allow-resource-read","description":"This allows non-recursive read access to the `$RESOURCE` folder.","permissions":["read-all","scope-resource"]},"allow-resource-read-recursive":{"identifier":"allow-resource-read-recursive","description":"This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["read-all","scope-resource-recursive"]},"allow-resource-write":{"identifier":"allow-resource-write","description":"This allows non-recursive write access to the `$RESOURCE` folder.","permissions":["write-all","scope-resource"]},"allow-resource-write-recursive":{"identifier":"allow-resource-write-recursive","description":"This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["write-all","scope-resource-recursive"]},"allow-runtime-meta":{"identifier":"allow-runtime-meta","description":"This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-index"]},"allow-runtime-meta-recursive":{"identifier":"allow-runtime-meta-recursive","description":"This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-recursive"]},"allow-runtime-read":{"identifier":"allow-runtime-read","description":"This allows non-recursive read access to the `$RUNTIME` folder.","permissions":["read-all","scope-runtime"]},"allow-runtime-read-recursive":{"identifier":"allow-runtime-read-recursive","description":"This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["read-all","scope-runtime-recursive"]},"allow-runtime-write":{"identifier":"allow-runtime-write","description":"This allows non-recursive write access to the `$RUNTIME` folder.","permissions":["write-all","scope-runtime"]},"allow-runtime-write-recursive":{"identifier":"allow-runtime-write-recursive","description":"This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["write-all","scope-runtime-recursive"]},"allow-temp-meta":{"identifier":"allow-temp-meta","description":"This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-index"]},"allow-temp-meta-recursive":{"identifier":"allow-temp-meta-recursive","description":"This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-recursive"]},"allow-temp-read":{"identifier":"allow-temp-read","description":"This allows non-recursive read access to the `$TEMP` folder.","permissions":["read-all","scope-temp"]},"allow-temp-read-recursive":{"identifier":"allow-temp-read-recursive","description":"This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.","permissions":["read-all","scope-temp-recursive"]},"allow-temp-write":{"identifier":"allow-temp-write","description":"This allows non-recursive write access to the `$TEMP` folder.","permissions":["write-all","scope-temp"]},"allow-temp-write-recursive":{"identifier":"allow-temp-write-recursive","description":"This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.","permissions":["write-all","scope-temp-recursive"]},"allow-template-meta":{"identifier":"allow-template-meta","description":"This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-index"]},"allow-template-meta-recursive":{"identifier":"allow-template-meta-recursive","description":"This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-recursive"]},"allow-template-read":{"identifier":"allow-template-read","description":"This allows non-recursive read access to the `$TEMPLATE` folder.","permissions":["read-all","scope-template"]},"allow-template-read-recursive":{"identifier":"allow-template-read-recursive","description":"This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["read-all","scope-template-recursive"]},"allow-template-write":{"identifier":"allow-template-write","description":"This allows non-recursive write access to the `$TEMPLATE` folder.","permissions":["write-all","scope-template"]},"allow-template-write-recursive":{"identifier":"allow-template-write-recursive","description":"This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["write-all","scope-template-recursive"]},"allow-video-meta":{"identifier":"allow-video-meta","description":"This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-index"]},"allow-video-meta-recursive":{"identifier":"allow-video-meta-recursive","description":"This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-recursive"]},"allow-video-read":{"identifier":"allow-video-read","description":"This allows non-recursive read access to the `$VIDEO` folder.","permissions":["read-all","scope-video"]},"allow-video-read-recursive":{"identifier":"allow-video-read-recursive","description":"This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["read-all","scope-video-recursive"]},"allow-video-write":{"identifier":"allow-video-write","description":"This allows non-recursive write access to the `$VIDEO` folder.","permissions":["write-all","scope-video"]},"allow-video-write-recursive":{"identifier":"allow-video-write-recursive","description":"This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["write-all","scope-video-recursive"]},"deny-default":{"identifier":"deny-default","description":"This denies access to dangerous Tauri relevant files and folders by default.","permissions":["deny-webview-data-linux","deny-webview-data-windows"]}},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"FS scope path.","type":"string"},{"properties":{"path":{"description":"FS scope path.","type":"string"}},"required":["path"],"type":"object"}],"description":"FS scope entry.","title":"FsScopeEntry"}},"image":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-new","allow-from-bytes","allow-from-path","allow-rgba","allow-size"]},"permissions":{"allow-from-bytes":{"identifier":"allow-from-bytes","description":"Enables the from_bytes command without any pre-configured scope.","commands":{"allow":["from_bytes"],"deny":[]}},"allow-from-path":{"identifier":"allow-from-path","description":"Enables the from_path command without any pre-configured scope.","commands":{"allow":["from_path"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-rgba":{"identifier":"allow-rgba","description":"Enables the rgba command without any pre-configured scope.","commands":{"allow":["rgba"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"deny-from-bytes":{"identifier":"deny-from-bytes","description":"Denies the from_bytes command without any pre-configured scope.","commands":{"allow":[],"deny":["from_bytes"]}},"deny-from-path":{"identifier":"deny-from-path","description":"Denies the from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["from_path"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-rgba":{"identifier":"deny-rgba","description":"Denies the rgba command without any pre-configured scope.","commands":{"allow":[],"deny":["rgba"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}}},"permission_sets":{},"global_scope_schema":null},"log":{"default_permission":{"identifier":"default","description":"Allows the log command","permissions":["allow-log"]},"permissions":{"allow-log":{"identifier":"allow-log","description":"Enables the log command without any pre-configured scope.","commands":{"allow":["log"],"deny":[]}},"deny-log":{"identifier":"deny-log","description":"Denies the log command without any pre-configured scope.","commands":{"allow":[],"deny":["log"]}}},"permission_sets":{},"global_scope_schema":null},"menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":[]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"os":{"default_permission":null,"permissions":{"allow-arch":{"identifier":"allow-arch","description":"Enables the arch command without any pre-configured scope.","commands":{"allow":["arch"],"deny":[]}},"allow-exe-extension":{"identifier":"allow-exe-extension","description":"Enables the exe_extension command without any pre-configured scope.","commands":{"allow":["exe_extension"],"deny":[]}},"allow-family":{"identifier":"allow-family","description":"Enables the family command without any pre-configured scope.","commands":{"allow":["family"],"deny":[]}},"allow-hostname":{"identifier":"allow-hostname","description":"Enables the hostname command without any pre-configured scope.","commands":{"allow":["hostname"],"deny":[]}},"allow-locale":{"identifier":"allow-locale","description":"Enables the locale command without any pre-configured scope.","commands":{"allow":["locale"],"deny":[]}},"allow-os-type":{"identifier":"allow-os-type","description":"Enables the os_type command without any pre-configured scope.","commands":{"allow":["os_type"],"deny":[]}},"allow-platform":{"identifier":"allow-platform","description":"Enables the platform command without any pre-configured scope.","commands":{"allow":["platform"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-arch":{"identifier":"deny-arch","description":"Denies the arch command without any pre-configured scope.","commands":{"allow":[],"deny":["arch"]}},"deny-exe-extension":{"identifier":"deny-exe-extension","description":"Denies the exe_extension command without any pre-configured scope.","commands":{"allow":[],"deny":["exe_extension"]}},"deny-family":{"identifier":"deny-family","description":"Denies the family command without any pre-configured scope.","commands":{"allow":[],"deny":["family"]}},"deny-hostname":{"identifier":"deny-hostname","description":"Denies the hostname command without any pre-configured scope.","commands":{"allow":[],"deny":["hostname"]}},"deny-locale":{"identifier":"deny-locale","description":"Denies the locale command without any pre-configured scope.","commands":{"allow":[],"deny":["locale"]}},"deny-os-type":{"identifier":"deny-os-type","description":"Denies the os_type command without any pre-configured scope.","commands":{"allow":[],"deny":["os_type"]}},"deny-platform":{"identifier":"deny-platform","description":"Denies the platform command without any pre-configured scope.","commands":{"allow":[],"deny":["platform"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":null,"permissions":{"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-kill":{"identifier":"allow-kill","description":"Enables the kill command without any pre-configured scope.","commands":{"allow":["kill"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-spawn":{"identifier":"allow-spawn","description":"Enables the spawn command without any pre-configured scope.","commands":{"allow":["spawn"],"deny":[]}},"allow-stdin-write":{"identifier":"allow-stdin-write","description":"Enables the stdin_write command without any pre-configured scope.","commands":{"allow":["stdin_write"],"deny":[]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-kill":{"identifier":"deny-kill","description":"Denies the kill command without any pre-configured scope.","commands":{"allow":[],"deny":["kill"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-spawn":{"identifier":"deny-spawn","description":"Denies the spawn command without any pre-configured scope.","commands":{"allow":[],"deny":["spawn"]}},"deny-stdin-write":{"identifier":"deny-stdin-write","description":"Denies the stdin_write command without any pre-configured scope.","commands":{"allow":[],"deny":["stdin_write"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"ShellAllowedArg":{"anyOf":[{"description":"A non-configurable argument that is passed to the command in the order it was specified.","type":"string"},{"additionalProperties":false,"description":"A variable that is set while calling the command from the webview API.","properties":{"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax","type":"string"}},"required":["validator"],"type":"object"}],"description":"A command argument allowed to be executed by the webview API."},"ShellAllowedArgs":{"anyOf":[{"description":"Use a simple boolean to allow all or disable all arguments to this command configuration.","type":"boolean"},{"description":"A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.","items":{"$ref":"#/definitions/ShellAllowedArg"},"type":"array"}],"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration."}},"description":"A command allowed to be executed by the webview API.","properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellAllowedArgs"}],"description":"The allowed arguments for the command execution."},"cmd":{"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"},"sidecar":{"description":"If this command is a sidecar command.","type":"boolean"}},"required":["args","cmd","name","sidecar"],"title":"Entry","type":"object"}},"tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":[]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"updater":{"default_permission":{"identifier":"default","description":"Allows checking for new updates and installing them","permissions":["allow-check","allow-download","allow-install","allow-download-and-install"]},"permissions":{"allow-check":{"identifier":"allow-check","description":"Enables the check command without any pre-configured scope.","commands":{"allow":["check"],"deny":[]}},"allow-download":{"identifier":"allow-download","description":"Enables the download command without any pre-configured scope.","commands":{"allow":["download"],"deny":[]}},"allow-download-and-install":{"identifier":"allow-download-and-install","description":"Enables the download_and_install command without any pre-configured scope.","commands":{"allow":["download_and_install"],"deny":[]}},"allow-install":{"identifier":"allow-install","description":"Enables the install command without any pre-configured scope.","commands":{"allow":["install"],"deny":[]}},"deny-check":{"identifier":"deny-check","description":"Denies the check command without any pre-configured scope.","commands":{"allow":[],"deny":["check"]}},"deny-download":{"identifier":"deny-download","description":"Denies the download command without any pre-configured scope.","commands":{"allow":[],"deny":["download"]}},"deny-download-and-install":{"identifier":"deny-download-and-install","description":"Denies the download_and_install command without any pre-configured scope.","commands":{"allow":[],"deny":["download_and_install"]}},"deny-install":{"identifier":"deny-install","description":"Denies the install command without any pre-configured scope.","commands":{"allow":[],"deny":["install"]}}},"permission_sets":{},"global_scope_schema":null},"webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-focus":{"identifier":"allow-set-webview-focus","description":"Enables the set_webview_focus command without any pre-configured scope.","commands":{"allow":["set_webview_focus"],"deny":[]}},"allow-set-webview-position":{"identifier":"allow-set-webview-position","description":"Enables the set_webview_position command without any pre-configured scope.","commands":{"allow":["set_webview_position"],"deny":[]}},"allow-set-webview-size":{"identifier":"allow-set-webview-size","description":"Enables the set_webview_size command without any pre-configured scope.","commands":{"allow":["set_webview_size"],"deny":[]}},"allow-set-webview-zoom":{"identifier":"allow-set-webview-zoom","description":"Enables the set_webview_zoom command without any pre-configured scope.","commands":{"allow":["set_webview_zoom"],"deny":[]}},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]}},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]}},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]}},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]}},"deny-create-webview-window":{"identifier":"deny-create-webview-window","description":"Denies the create_webview_window command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview_window"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-focus":{"identifier":"deny-set-webview-focus","description":"Denies the set_webview_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_focus"]}},"deny-set-webview-position":{"identifier":"deny-set-webview-position","description":"Denies the set_webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_position"]}},"deny-set-webview-size":{"identifier":"deny-set-webview-size","description":"Denies the set_webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_size"]}},"deny-set-webview-zoom":{"identifier":"deny-set-webview-zoom","description":"Denies the set_webview_zoom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_zoom"]}},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]}},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]}},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]}}},"permission_sets":{},"global_scope_schema":null},"window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-title","allow-current-monitor","allow-primary-monitor","allow-monitor-from-point","allow-available-monitors","allow-cursor-position","allow-theme","allow-internal-toggle-maximize"]},"permissions":{"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]}},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]}},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]}},"allow-cursor-position":{"identifier":"allow-cursor-position","description":"Enables the cursor_position command without any pre-configured scope.","commands":{"allow":["cursor_position"],"deny":[]}},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]}},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]}},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]}},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]}},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]}},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]}},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]}},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]}},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]}},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]}},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]}},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]}},"allow-monitor-from-point":{"identifier":"allow-monitor-from-point","description":"Enables the monitor_from_point command without any pre-configured scope.","commands":{"allow":["monitor_from_point"],"deny":[]}},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]}},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]}},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]}},"allow-request-user-attention":{"identifier":"allow-request-user-attention","description":"Enables the request_user_attention command without any pre-configured scope.","commands":{"allow":["request_user_attention"],"deny":[]}},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]}},"allow-set-always-on-bottom":{"identifier":"allow-set-always-on-bottom","description":"Enables the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":["set_always_on_bottom"],"deny":[]}},"allow-set-always-on-top":{"identifier":"allow-set-always-on-top","description":"Enables the set_always_on_top command without any pre-configured scope.","commands":{"allow":["set_always_on_top"],"deny":[]}},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]}},"allow-set-content-protected":{"identifier":"allow-set-content-protected","description":"Enables the set_content_protected command without any pre-configured scope.","commands":{"allow":["set_content_protected"],"deny":[]}},"allow-set-cursor-grab":{"identifier":"allow-set-cursor-grab","description":"Enables the set_cursor_grab command without any pre-configured scope.","commands":{"allow":["set_cursor_grab"],"deny":[]}},"allow-set-cursor-icon":{"identifier":"allow-set-cursor-icon","description":"Enables the set_cursor_icon command without any pre-configured scope.","commands":{"allow":["set_cursor_icon"],"deny":[]}},"allow-set-cursor-position":{"identifier":"allow-set-cursor-position","description":"Enables the set_cursor_position command without any pre-configured scope.","commands":{"allow":["set_cursor_position"],"deny":[]}},"allow-set-cursor-visible":{"identifier":"allow-set-cursor-visible","description":"Enables the set_cursor_visible command without any pre-configured scope.","commands":{"allow":["set_cursor_visible"],"deny":[]}},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]}},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]}},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]}},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-ignore-cursor-events":{"identifier":"allow-set-ignore-cursor-events","description":"Enables the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":["set_ignore_cursor_events"],"deny":[]}},"allow-set-max-size":{"identifier":"allow-set-max-size","description":"Enables the set_max_size command without any pre-configured scope.","commands":{"allow":["set_max_size"],"deny":[]}},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]}},"allow-set-min-size":{"identifier":"allow-set-min-size","description":"Enables the set_min_size command without any pre-configured scope.","commands":{"allow":["set_min_size"],"deny":[]}},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]}},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]}},"allow-set-progress-bar":{"identifier":"allow-set-progress-bar","description":"Enables the set_progress_bar command without any pre-configured scope.","commands":{"allow":["set_progress_bar"],"deny":[]}},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]}},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]}},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]}},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]}},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]}},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]}},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]}},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]}},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]}},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]}},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]}},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]}},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]}},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]}},"deny-monitor-from-point":{"identifier":"deny-monitor-from-point","description":"Denies the monitor_from_point command without any pre-configured scope.","commands":{"allow":[],"deny":["monitor_from_point"]}},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]}},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]}},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]}},"deny-request-user-attention":{"identifier":"deny-request-user-attention","description":"Denies the request_user_attention command without any pre-configured scope.","commands":{"allow":[],"deny":["request_user_attention"]}},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]}},"deny-set-always-on-bottom":{"identifier":"deny-set-always-on-bottom","description":"Denies the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_bottom"]}},"deny-set-always-on-top":{"identifier":"deny-set-always-on-top","description":"Denies the set_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_top"]}},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]}},"deny-set-content-protected":{"identifier":"deny-set-content-protected","description":"Denies the set_content_protected command without any pre-configured scope.","commands":{"allow":[],"deny":["set_content_protected"]}},"deny-set-cursor-grab":{"identifier":"deny-set-cursor-grab","description":"Denies the set_cursor_grab command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_grab"]}},"deny-set-cursor-icon":{"identifier":"deny-set-cursor-icon","description":"Denies the set_cursor_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_icon"]}},"deny-set-cursor-position":{"identifier":"deny-set-cursor-position","description":"Denies the set_cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_position"]}},"deny-set-cursor-visible":{"identifier":"deny-set-cursor-visible","description":"Denies the set_cursor_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_visible"]}},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]}},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]}},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]}},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-ignore-cursor-events":{"identifier":"deny-set-ignore-cursor-events","description":"Denies the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":[],"deny":["set_ignore_cursor_events"]}},"deny-set-max-size":{"identifier":"deny-set-max-size","description":"Denies the set_max_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_max_size"]}},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]}},"deny-set-min-size":{"identifier":"deny-set-min-size","description":"Denies the set_min_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_min_size"]}},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]}},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]}},"deny-set-progress-bar":{"identifier":"deny-set-progress-bar","description":"Denies the set_progress_bar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_progress_bar"]}},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]}},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]}},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"window-state":{"default_permission":null,"permissions":{"allow-filename":{"identifier":"allow-filename","description":"Enables the filename command without any pre-configured scope.","commands":{"allow":["filename"],"deny":[]}},"allow-restore-state":{"identifier":"allow-restore-state","description":"Enables the restore_state command without any pre-configured scope.","commands":{"allow":["restore_state"],"deny":[]}},"allow-save-window-state":{"identifier":"allow-save-window-state","description":"Enables the save_window_state command without any pre-configured scope.","commands":{"allow":["save_window_state"],"deny":[]}},"deny-filename":{"identifier":"deny-filename","description":"Denies the filename command without any pre-configured scope.","commands":{"allow":[],"deny":["filename"]}},"deny-restore-state":{"identifier":"deny-restore-state","description":"Denies the restore_state command without any pre-configured scope.","commands":{"allow":[],"deny":["restore_state"]}},"deny-save-window-state":{"identifier":"deny-save-window-state","description":"Denies the save_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["save_window_state"]}}},"permission_sets":{},"global_scope_schema":null}}
\ No newline at end of file
diff --git a/src-tauri/gen/schemas/capabilities.json b/src-tauri/gen/schemas/capabilities.json
index b09e85af..192c449c 100644
--- a/src-tauri/gen/schemas/capabilities.json
+++ b/src-tauri/gen/schemas/capabilities.json
@@ -1 +1 @@
-{"main":{"identifier":"main","description":"Main permissions","local":true,"windows":["*"],"permissions":["os:allow-os-type","event:allow-emit","clipboard-manager:allow-write-text","clipboard-manager:allow-read-text","dialog:allow-open","dialog:allow-save","event:allow-listen","event:allow-unlisten","fs:allow-read-file","fs:allow-read-text-file",{"identifier":"fs:scope","allow":[{"path":"$APPDATA"},{"path":"$APPDATA/**"}]},"shell:allow-open",{"identifier":"shell:allow-execute","allow":[{"args":true,"name":"protoc","sidecar":true}]},"window:allow-close","window:allow-is-fullscreen","window:allow-maximize","window:allow-minimize","window:allow-toggle-maximize","window:allow-set-decorations","window:allow-set-title","window:allow-start-dragging","window:allow-unmaximize","clipboard-manager:allow-read-text","clipboard-manager:allow-write-text"]}}
\ No newline at end of file
+{"main":{"identifier":"main","description":"Main permissions","local":true,"windows":["*"],"permissions":["os:allow-os-type","event:allow-emit","clipboard-manager:allow-write-text","clipboard-manager:allow-read-text","dialog:allow-open","dialog:allow-save","event:allow-listen","event:allow-unlisten","fs:allow-read-file","fs:allow-read-text-file",{"identifier":"fs:scope","allow":[{"path":"$APPDATA"},{"path":"$APPDATA/**"}]},"shell:allow-open",{"identifier":"shell:allow-execute","allow":[{"args":true,"name":"protoc","sidecar":true}]},"webview:allow-set-webview-zoom","window:allow-close","window:allow-is-fullscreen","window:allow-maximize","window:allow-minimize","window:allow-toggle-maximize","window:allow-set-decorations","window:allow-set-title","window:allow-start-dragging","window:allow-unmaximize","window:allow-theme","clipboard-manager:allow-read-text","clipboard-manager:allow-write-text"]}}
\ No newline at end of file
diff --git a/src-tauri/gen/schemas/desktop-schema.json b/src-tauri/gen/schemas/desktop-schema.json
index e35feebf..4776f4b7 100644
--- a/src-tauri/gen/schemas/desktop-schema.json
+++ b/src-tauri/gen/schemas/desktop-schema.json
@@ -2216,6 +2216,13 @@
"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",
@@ -2244,6 +2251,13 @@
"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",
@@ -2498,6 +2512,69 @@
"clipboard-manager:deny-write-text"
]
},
+ {
+ "description": "deep-link:default -> Allows reading the opened deep link via the get_current command",
+ "type": "string",
+ "enum": [
+ "deep-link:default"
+ ]
+ },
+ {
+ "description": "deep-link:allow-get-current -> Enables the get_current command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-get-current"
+ ]
+ },
+ {
+ "description": "deep-link:allow-is-registered -> Enables the is_registered command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-is-registered"
+ ]
+ },
+ {
+ "description": "deep-link:allow-register -> Enables the register command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-register"
+ ]
+ },
+ {
+ "description": "deep-link:allow-unregister -> Enables the unregister command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-unregister"
+ ]
+ },
+ {
+ "description": "deep-link:deny-get-current -> Denies the get_current command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-get-current"
+ ]
+ },
+ {
+ "description": "deep-link:deny-is-registered -> Denies the is_registered command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-is-registered"
+ ]
+ },
+ {
+ "description": "deep-link:deny-register -> Denies the register command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-register"
+ ]
+ },
+ {
+ "description": "deep-link:deny-unregister -> Denies the unregister command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-unregister"
+ ]
+ },
{
"type": "string",
"enum": [
@@ -5323,6 +5400,13 @@
"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",
@@ -5351,6 +5435,13 @@
"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",
@@ -5533,6 +5624,13 @@
"updater:allow-check"
]
},
+ {
+ "description": "updater:allow-download -> Enables the download command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-download"
+ ]
+ },
{
"description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.",
"type": "string",
@@ -5540,6 +5638,13 @@
"updater:allow-download-and-install"
]
},
+ {
+ "description": "updater:allow-install -> Enables the install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-install"
+ ]
+ },
{
"description": "updater:deny-check -> Denies the check command without any pre-configured scope.",
"type": "string",
@@ -5547,6 +5652,13 @@
"updater:deny-check"
]
},
+ {
+ "description": "updater:deny-download -> Denies the download command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-download"
+ ]
+ },
{
"description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.",
"type": "string",
@@ -5554,6 +5666,13 @@
"updater:deny-download-and-install"
]
},
+ {
+ "description": "updater:deny-install -> Denies the install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-install"
+ ]
+ },
{
"description": "webview:default -> Default permissions for the plugin.",
"type": "string",
@@ -5897,6 +6016,13 @@
"window:allow-minimize"
]
},
+ {
+ "description": "window:allow-monitor-from-point -> Enables the monitor_from_point command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-monitor-from-point"
+ ]
+ },
{
"description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.",
"type": "string",
@@ -6331,6 +6457,13 @@
"window:deny-minimize"
]
},
+ {
+ "description": "window:deny-monitor-from-point -> Denies the monitor_from_point command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-monitor-from-point"
+ ]
+ },
{
"description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.",
"type": "string",
diff --git a/src-tauri/gen/schemas/linux-schema.json b/src-tauri/gen/schemas/linux-schema.json
index e35feebf..4776f4b7 100644
--- a/src-tauri/gen/schemas/linux-schema.json
+++ b/src-tauri/gen/schemas/linux-schema.json
@@ -2216,6 +2216,13 @@
"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",
@@ -2244,6 +2251,13 @@
"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",
@@ -2498,6 +2512,69 @@
"clipboard-manager:deny-write-text"
]
},
+ {
+ "description": "deep-link:default -> Allows reading the opened deep link via the get_current command",
+ "type": "string",
+ "enum": [
+ "deep-link:default"
+ ]
+ },
+ {
+ "description": "deep-link:allow-get-current -> Enables the get_current command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-get-current"
+ ]
+ },
+ {
+ "description": "deep-link:allow-is-registered -> Enables the is_registered command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-is-registered"
+ ]
+ },
+ {
+ "description": "deep-link:allow-register -> Enables the register command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-register"
+ ]
+ },
+ {
+ "description": "deep-link:allow-unregister -> Enables the unregister command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-unregister"
+ ]
+ },
+ {
+ "description": "deep-link:deny-get-current -> Denies the get_current command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-get-current"
+ ]
+ },
+ {
+ "description": "deep-link:deny-is-registered -> Denies the is_registered command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-is-registered"
+ ]
+ },
+ {
+ "description": "deep-link:deny-register -> Denies the register command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-register"
+ ]
+ },
+ {
+ "description": "deep-link:deny-unregister -> Denies the unregister command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-unregister"
+ ]
+ },
{
"type": "string",
"enum": [
@@ -5323,6 +5400,13 @@
"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",
@@ -5351,6 +5435,13 @@
"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",
@@ -5533,6 +5624,13 @@
"updater:allow-check"
]
},
+ {
+ "description": "updater:allow-download -> Enables the download command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-download"
+ ]
+ },
{
"description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.",
"type": "string",
@@ -5540,6 +5638,13 @@
"updater:allow-download-and-install"
]
},
+ {
+ "description": "updater:allow-install -> Enables the install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-install"
+ ]
+ },
{
"description": "updater:deny-check -> Denies the check command without any pre-configured scope.",
"type": "string",
@@ -5547,6 +5652,13 @@
"updater:deny-check"
]
},
+ {
+ "description": "updater:deny-download -> Denies the download command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-download"
+ ]
+ },
{
"description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.",
"type": "string",
@@ -5554,6 +5666,13 @@
"updater:deny-download-and-install"
]
},
+ {
+ "description": "updater:deny-install -> Denies the install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-install"
+ ]
+ },
{
"description": "webview:default -> Default permissions for the plugin.",
"type": "string",
@@ -5897,6 +6016,13 @@
"window:allow-minimize"
]
},
+ {
+ "description": "window:allow-monitor-from-point -> Enables the monitor_from_point command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-monitor-from-point"
+ ]
+ },
{
"description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.",
"type": "string",
@@ -6331,6 +6457,13 @@
"window:deny-minimize"
]
},
+ {
+ "description": "window:deny-monitor-from-point -> Denies the monitor_from_point command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-monitor-from-point"
+ ]
+ },
{
"description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.",
"type": "string",
diff --git a/src-tauri/gen/schemas/macOS-schema.json b/src-tauri/gen/schemas/macOS-schema.json
index e35feebf..4776f4b7 100644
--- a/src-tauri/gen/schemas/macOS-schema.json
+++ b/src-tauri/gen/schemas/macOS-schema.json
@@ -2216,6 +2216,13 @@
"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",
@@ -2244,6 +2251,13 @@
"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",
@@ -2498,6 +2512,69 @@
"clipboard-manager:deny-write-text"
]
},
+ {
+ "description": "deep-link:default -> Allows reading the opened deep link via the get_current command",
+ "type": "string",
+ "enum": [
+ "deep-link:default"
+ ]
+ },
+ {
+ "description": "deep-link:allow-get-current -> Enables the get_current command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-get-current"
+ ]
+ },
+ {
+ "description": "deep-link:allow-is-registered -> Enables the is_registered command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-is-registered"
+ ]
+ },
+ {
+ "description": "deep-link:allow-register -> Enables the register command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-register"
+ ]
+ },
+ {
+ "description": "deep-link:allow-unregister -> Enables the unregister command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-unregister"
+ ]
+ },
+ {
+ "description": "deep-link:deny-get-current -> Denies the get_current command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-get-current"
+ ]
+ },
+ {
+ "description": "deep-link:deny-is-registered -> Denies the is_registered command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-is-registered"
+ ]
+ },
+ {
+ "description": "deep-link:deny-register -> Denies the register command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-register"
+ ]
+ },
+ {
+ "description": "deep-link:deny-unregister -> Denies the unregister command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-unregister"
+ ]
+ },
{
"type": "string",
"enum": [
@@ -5323,6 +5400,13 @@
"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",
@@ -5351,6 +5435,13 @@
"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",
@@ -5533,6 +5624,13 @@
"updater:allow-check"
]
},
+ {
+ "description": "updater:allow-download -> Enables the download command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-download"
+ ]
+ },
{
"description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.",
"type": "string",
@@ -5540,6 +5638,13 @@
"updater:allow-download-and-install"
]
},
+ {
+ "description": "updater:allow-install -> Enables the install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-install"
+ ]
+ },
{
"description": "updater:deny-check -> Denies the check command without any pre-configured scope.",
"type": "string",
@@ -5547,6 +5652,13 @@
"updater:deny-check"
]
},
+ {
+ "description": "updater:deny-download -> Denies the download command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-download"
+ ]
+ },
{
"description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.",
"type": "string",
@@ -5554,6 +5666,13 @@
"updater:deny-download-and-install"
]
},
+ {
+ "description": "updater:deny-install -> Denies the install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-install"
+ ]
+ },
{
"description": "webview:default -> Default permissions for the plugin.",
"type": "string",
@@ -5897,6 +6016,13 @@
"window:allow-minimize"
]
},
+ {
+ "description": "window:allow-monitor-from-point -> Enables the monitor_from_point command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-monitor-from-point"
+ ]
+ },
{
"description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.",
"type": "string",
@@ -6331,6 +6457,13 @@
"window:deny-minimize"
]
},
+ {
+ "description": "window:deny-monitor-from-point -> Denies the monitor_from_point command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-monitor-from-point"
+ ]
+ },
{
"description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.",
"type": "string",
diff --git a/src-tauri/gen/schemas/windows-schema.json b/src-tauri/gen/schemas/windows-schema.json
new file mode 100644
index 00000000..4776f4b7
--- /dev/null
+++ b/src-tauri/gen/schemas/windows-schema.json
@@ -0,0 +1,6924 @@
+{
+ "$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 separate windows or plugins functionality from each other at runtime.\n\nIf a window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create trust groups and reduce impact of vulnerabilities in certain plugins or windows. Windows can be added to a capability by exact name or glob patterns like *, admin-* or main-window.",
+ "type": "object",
+ "required": [
+ "identifier",
+ "permissions"
+ ],
+ "properties": {
+ "identifier": {
+ "description": "Identifier of the capability.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the capability.",
+ "default": "",
+ "type": "string"
+ },
+ "remote": {
+ "description": "Configure remote URLs that can use the capability permissions.",
+ "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 uses this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "webviews": {
+ "description": "List of webviews that uses 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.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "permissions": {
+ "description": "List of permissions attached to this capability. Must include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PermissionEntry"
+ }
+ },
+ "platforms": {
+ "description": "Target platforms this capability applies. By default all platforms are affected by this capability.",
+ "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 -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
+ "type": "string",
+ "enum": [
+ "fs:default"
+ ]
+ },
+ {
+ "description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-read"
+ ]
+ },
+ {
+ "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-write"
+ ]
+ },
+ {
+ "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-meta -> This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-meta-recursive -> This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-read"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-write"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-meta -> This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-meta-recursive -> This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-read"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-write"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-meta -> This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-meta-recursive -> This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-read"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-write"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-meta -> This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-read"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-write"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-meta -> This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-read"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-write"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-meta -> This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-meta-recursive -> This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-read"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-write"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-meta -> This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-meta-recursive -> This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-read"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-write"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-config-meta -> This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-config-meta-recursive -> This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-read"
+ ]
+ },
+ {
+ "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-write"
+ ]
+ },
+ {
+ "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-data-meta -> This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-data-meta-recursive -> This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-read"
+ ]
+ },
+ {
+ "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-write"
+ ]
+ },
+ {
+ "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-meta -> This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-meta-recursive -> This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-read"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-write"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-document-meta -> This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-document-meta-recursive -> This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-read"
+ ]
+ },
+ {
+ "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-write"
+ ]
+ },
+ {
+ "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-download-meta -> This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-download-meta-recursive -> This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-read"
+ ]
+ },
+ {
+ "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-write"
+ ]
+ },
+ {
+ "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-meta -> This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-meta-recursive -> This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-read"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-write"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-font-meta -> This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-font-meta-recursive -> This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-read"
+ ]
+ },
+ {
+ "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-write"
+ ]
+ },
+ {
+ "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-home-meta -> This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-home-meta-recursive -> This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-read"
+ ]
+ },
+ {
+ "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-write"
+ ]
+ },
+ {
+ "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-meta -> This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-meta-recursive -> This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-read"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-write"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-log-meta -> This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-log-meta-recursive -> This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-read"
+ ]
+ },
+ {
+ "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-write"
+ ]
+ },
+ {
+ "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-meta -> This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-meta-recursive -> This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-read"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-write"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-public-meta -> This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-public-meta-recursive -> This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-read"
+ ]
+ },
+ {
+ "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-write"
+ ]
+ },
+ {
+ "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-meta -> This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-meta-recursive -> This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-read"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-write"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-meta -> This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-meta-recursive -> This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-read"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-write"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-meta -> This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-meta-recursive -> This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-read"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-write"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-template-meta -> This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-template-meta-recursive -> This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-read"
+ ]
+ },
+ {
+ "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-write"
+ ]
+ },
+ {
+ "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-video-meta -> This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-video-meta-recursive -> This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-read"
+ ]
+ },
+ {
+ "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-write"
+ ]
+ },
+ {
+ "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.",
+ "type": "string",
+ "enum": [
+ "fs:deny-default"
+ ]
+ },
+ {
+ "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-copy-file"
+ ]
+ },
+ {
+ "description": "fs:allow-create -> Enables the create command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-create"
+ ]
+ },
+ {
+ "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exists"
+ ]
+ },
+ {
+ "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-fstat"
+ ]
+ },
+ {
+ "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-ftruncate"
+ ]
+ },
+ {
+ "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-lstat"
+ ]
+ },
+ {
+ "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-mkdir"
+ ]
+ },
+ {
+ "description": "fs:allow-open -> Enables the open command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-open"
+ ]
+ },
+ {
+ "description": "fs:allow-read -> Enables the read command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read"
+ ]
+ },
+ {
+ "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-dir"
+ ]
+ },
+ {
+ "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-file"
+ ]
+ },
+ {
+ "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-text-file"
+ ]
+ },
+ {
+ "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-text-file-lines"
+ ]
+ },
+ {
+ "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-text-file-lines-next"
+ ]
+ },
+ {
+ "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-remove"
+ ]
+ },
+ {
+ "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-rename"
+ ]
+ },
+ {
+ "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-seek"
+ ]
+ },
+ {
+ "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-stat"
+ ]
+ },
+ {
+ "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-truncate"
+ ]
+ },
+ {
+ "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-unwatch"
+ ]
+ },
+ {
+ "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-watch"
+ ]
+ },
+ {
+ "description": "fs:allow-write -> Enables the write command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-write"
+ ]
+ },
+ {
+ "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-write-file"
+ ]
+ },
+ {
+ "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-write-text-file"
+ ]
+ },
+ {
+ "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-copy-file"
+ ]
+ },
+ {
+ "description": "fs:deny-create -> Denies the create command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-create"
+ ]
+ },
+ {
+ "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-exists"
+ ]
+ },
+ {
+ "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-fstat"
+ ]
+ },
+ {
+ "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-ftruncate"
+ ]
+ },
+ {
+ "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-lstat"
+ ]
+ },
+ {
+ "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-mkdir"
+ ]
+ },
+ {
+ "description": "fs:deny-open -> Denies the open command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-open"
+ ]
+ },
+ {
+ "description": "fs:deny-read -> Denies the read command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read"
+ ]
+ },
+ {
+ "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-dir"
+ ]
+ },
+ {
+ "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-file"
+ ]
+ },
+ {
+ "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-text-file"
+ ]
+ },
+ {
+ "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-text-file-lines"
+ ]
+ },
+ {
+ "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-text-file-lines-next"
+ ]
+ },
+ {
+ "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-remove"
+ ]
+ },
+ {
+ "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-rename"
+ ]
+ },
+ {
+ "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-seek"
+ ]
+ },
+ {
+ "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-stat"
+ ]
+ },
+ {
+ "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-truncate"
+ ]
+ },
+ {
+ "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-unwatch"
+ ]
+ },
+ {
+ "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-watch"
+ ]
+ },
+ {
+ "description": "fs:deny-webview-data-linux -> This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.",
+ "type": "string",
+ "enum": [
+ "fs:deny-webview-data-linux"
+ ]
+ },
+ {
+ "description": "fs:deny-webview-data-windows -> This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.",
+ "type": "string",
+ "enum": [
+ "fs:deny-webview-data-windows"
+ ]
+ },
+ {
+ "description": "fs:deny-write -> Denies the write command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-write"
+ ]
+ },
+ {
+ "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-write-file"
+ ]
+ },
+ {
+ "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-write-text-file"
+ ]
+ },
+ {
+ "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:read-all"
+ ]
+ },
+ {
+ "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:read-dirs"
+ ]
+ },
+ {
+ "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:read-files"
+ ]
+ },
+ {
+ "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:read-meta"
+ ]
+ },
+ {
+ "description": "fs:scope -> An empty permission you can use to modify the global scope.",
+ "type": "string",
+ "enum": [
+ "fs:scope"
+ ]
+ },
+ {
+ "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-app"
+ ]
+ },
+ {
+ "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-app-index"
+ ]
+ },
+ {
+ "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-app-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appcache"
+ ]
+ },
+ {
+ "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appcache-index"
+ ]
+ },
+ {
+ "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appcache-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appconfig"
+ ]
+ },
+ {
+ "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appconfig-index"
+ ]
+ },
+ {
+ "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appconfig-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appdata"
+ ]
+ },
+ {
+ "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appdata-index"
+ ]
+ },
+ {
+ "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appdata-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applocaldata"
+ ]
+ },
+ {
+ "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applocaldata-index"
+ ]
+ },
+ {
+ "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applocaldata-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applog"
+ ]
+ },
+ {
+ "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applog-index"
+ ]
+ },
+ {
+ "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applog-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-audio"
+ ]
+ },
+ {
+ "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-audio-index"
+ ]
+ },
+ {
+ "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-audio-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-cache"
+ ]
+ },
+ {
+ "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-cache-index"
+ ]
+ },
+ {
+ "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-cache-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-config"
+ ]
+ },
+ {
+ "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-config-index"
+ ]
+ },
+ {
+ "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-config-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-data"
+ ]
+ },
+ {
+ "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-data-index"
+ ]
+ },
+ {
+ "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-data-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-desktop"
+ ]
+ },
+ {
+ "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-desktop-index"
+ ]
+ },
+ {
+ "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-desktop-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-document"
+ ]
+ },
+ {
+ "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-document-index"
+ ]
+ },
+ {
+ "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-document-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-download"
+ ]
+ },
+ {
+ "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-download-index"
+ ]
+ },
+ {
+ "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-download-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-exe"
+ ]
+ },
+ {
+ "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-exe-index"
+ ]
+ },
+ {
+ "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-exe-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-font"
+ ]
+ },
+ {
+ "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-font-index"
+ ]
+ },
+ {
+ "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-font-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-home"
+ ]
+ },
+ {
+ "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-home-index"
+ ]
+ },
+ {
+ "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-home-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-localdata"
+ ]
+ },
+ {
+ "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-localdata-index"
+ ]
+ },
+ {
+ "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-localdata-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-log"
+ ]
+ },
+ {
+ "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-log-index"
+ ]
+ },
+ {
+ "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-log-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-picture"
+ ]
+ },
+ {
+ "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-picture-index"
+ ]
+ },
+ {
+ "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-picture-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-public"
+ ]
+ },
+ {
+ "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-public-index"
+ ]
+ },
+ {
+ "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-public-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-resource"
+ ]
+ },
+ {
+ "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-resource-index"
+ ]
+ },
+ {
+ "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-resource-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-runtime"
+ ]
+ },
+ {
+ "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-runtime-index"
+ ]
+ },
+ {
+ "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-runtime-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-temp"
+ ]
+ },
+ {
+ "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-temp-index"
+ ]
+ },
+ {
+ "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-temp-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-template"
+ ]
+ },
+ {
+ "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-template-index"
+ ]
+ },
+ {
+ "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-template-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-video"
+ ]
+ },
+ {
+ "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-video-index"
+ ]
+ },
+ {
+ "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-video-recursive"
+ ]
+ },
+ {
+ "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:write-all"
+ ]
+ },
+ {
+ "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:write-files"
+ ]
+ }
+ ]
+ },
+ "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": [
+ {
+ "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`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.",
+ "type": "string"
+ },
+ "sidecar": {
+ "description": "If this command is a sidecar command.",
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "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`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.",
+ "type": "string"
+ },
+ "sidecar": {
+ "description": "If this command is a sidecar command.",
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "Identifier": {
+ "oneOf": [
+ {
+ "description": "app:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "app:default"
+ ]
+ },
+ {
+ "description": "app:allow-app-hide -> Enables the app_hide command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:allow-app-hide"
+ ]
+ },
+ {
+ "description": "app:allow-app-show -> Enables the app_show command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:allow-app-show"
+ ]
+ },
+ {
+ "description": "app:allow-name -> Enables the name command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:allow-name"
+ ]
+ },
+ {
+ "description": "app:allow-tauri-version -> Enables the tauri_version command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:allow-tauri-version"
+ ]
+ },
+ {
+ "description": "app:allow-version -> Enables the version command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:allow-version"
+ ]
+ },
+ {
+ "description": "app:deny-app-hide -> Denies the app_hide command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:deny-app-hide"
+ ]
+ },
+ {
+ "description": "app:deny-app-show -> Denies the app_show command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:deny-app-show"
+ ]
+ },
+ {
+ "description": "app:deny-name -> Denies the name command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:deny-name"
+ ]
+ },
+ {
+ "description": "app:deny-tauri-version -> Denies the tauri_version command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:deny-tauri-version"
+ ]
+ },
+ {
+ "description": "app:deny-version -> Denies the version command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "app:deny-version"
+ ]
+ },
+ {
+ "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": "deep-link:default -> Allows reading the opened deep link via the get_current command",
+ "type": "string",
+ "enum": [
+ "deep-link:default"
+ ]
+ },
+ {
+ "description": "deep-link:allow-get-current -> Enables the get_current command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-get-current"
+ ]
+ },
+ {
+ "description": "deep-link:allow-is-registered -> Enables the is_registered command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-is-registered"
+ ]
+ },
+ {
+ "description": "deep-link:allow-register -> Enables the register command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-register"
+ ]
+ },
+ {
+ "description": "deep-link:allow-unregister -> Enables the unregister command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:allow-unregister"
+ ]
+ },
+ {
+ "description": "deep-link:deny-get-current -> Denies the get_current command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-get-current"
+ ]
+ },
+ {
+ "description": "deep-link:deny-is-registered -> Denies the is_registered command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-is-registered"
+ ]
+ },
+ {
+ "description": "deep-link:deny-register -> Denies the register command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-register"
+ ]
+ },
+ {
+ "description": "deep-link:deny-unregister -> Denies the unregister command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "deep-link:deny-unregister"
+ ]
+ },
+ {
+ "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": "event:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "event:default"
+ ]
+ },
+ {
+ "description": "event:allow-emit -> Enables the emit command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "event:allow-emit"
+ ]
+ },
+ {
+ "description": "event:allow-emit-to -> Enables the emit_to command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "event:allow-emit-to"
+ ]
+ },
+ {
+ "description": "event:allow-listen -> Enables the listen command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "event:allow-listen"
+ ]
+ },
+ {
+ "description": "event:allow-unlisten -> Enables the unlisten command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "event:allow-unlisten"
+ ]
+ },
+ {
+ "description": "event:deny-emit -> Denies the emit command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "event:deny-emit"
+ ]
+ },
+ {
+ "description": "event:deny-emit-to -> Denies the emit_to command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "event:deny-emit-to"
+ ]
+ },
+ {
+ "description": "event:deny-listen -> Denies the listen command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "event:deny-listen"
+ ]
+ },
+ {
+ "description": "event:deny-unlisten -> Denies the unlisten command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "event:deny-unlisten"
+ ]
+ },
+ {
+ "description": "fs:allow-app-meta -> This allows non-recursive read access to metadata of the `$APP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-app-meta-recursive -> This allows full recursive read access to metadata of the `$APP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-app-read -> This allows non-recursive read access to the `$APP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-read"
+ ]
+ },
+ {
+ "description": "fs:allow-app-read-recursive -> This allows full recursive read access to the complete `$APP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-app-write -> This allows non-recursive write access to the `$APP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-write"
+ ]
+ },
+ {
+ "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-app-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-meta -> This allows non-recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-meta-recursive -> This allows full recursive read access to metadata of the `$APPCACHE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-read -> This allows non-recursive read access to the `$APPCACHE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-read"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-read-recursive -> This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-write -> This allows non-recursive write access to the `$APPCACHE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-write"
+ ]
+ },
+ {
+ "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appcache-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-meta -> This allows non-recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-meta-recursive -> This allows full recursive read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-read -> This allows non-recursive read access to the `$APPCONFIG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-read"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-read-recursive -> This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-write -> This allows non-recursive write access to the `$APPCONFIG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-write"
+ ]
+ },
+ {
+ "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appconfig-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-meta -> This allows non-recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-meta-recursive -> This allows full recursive read access to metadata of the `$APPDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-read -> This allows non-recursive read access to the `$APPDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-read"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-read-recursive -> This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-write -> This allows non-recursive write access to the `$APPDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-write"
+ ]
+ },
+ {
+ "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-appdata-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-meta -> This allows non-recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-read -> This allows non-recursive read access to the `$APPLOCALDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-read"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-read-recursive -> This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-write -> This allows non-recursive write access to the `$APPLOCALDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-write"
+ ]
+ },
+ {
+ "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applocaldata-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-meta -> This allows non-recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-meta-recursive -> This allows full recursive read access to metadata of the `$APPLOG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-read -> This allows non-recursive read access to the `$APPLOG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-read"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-read-recursive -> This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-write -> This allows non-recursive write access to the `$APPLOG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-write"
+ ]
+ },
+ {
+ "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-applog-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-meta -> This allows non-recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-meta-recursive -> This allows full recursive read access to metadata of the `$AUDIO` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-read -> This allows non-recursive read access to the `$AUDIO` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-read"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-read-recursive -> This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-write -> This allows non-recursive write access to the `$AUDIO` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-write"
+ ]
+ },
+ {
+ "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-audio-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-meta -> This allows non-recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-meta-recursive -> This allows full recursive read access to metadata of the `$CACHE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-read -> This allows non-recursive read access to the `$CACHE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-read"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-read-recursive -> This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-write -> This allows non-recursive write access to the `$CACHE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-write"
+ ]
+ },
+ {
+ "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-cache-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-config-meta -> This allows non-recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-config-meta-recursive -> This allows full recursive read access to metadata of the `$CONFIG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-config-read -> This allows non-recursive read access to the `$CONFIG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-read"
+ ]
+ },
+ {
+ "description": "fs:allow-config-read-recursive -> This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-config-write -> This allows non-recursive write access to the `$CONFIG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-write"
+ ]
+ },
+ {
+ "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-config-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-data-meta -> This allows non-recursive read access to metadata of the `$DATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-data-meta-recursive -> This allows full recursive read access to metadata of the `$DATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-data-read -> This allows non-recursive read access to the `$DATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-read"
+ ]
+ },
+ {
+ "description": "fs:allow-data-read-recursive -> This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-data-write -> This allows non-recursive write access to the `$DATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-write"
+ ]
+ },
+ {
+ "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-data-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-meta -> This allows non-recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-meta-recursive -> This allows full recursive read access to metadata of the `$DESKTOP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-read -> This allows non-recursive read access to the `$DESKTOP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-read"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-read-recursive -> This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-write -> This allows non-recursive write access to the `$DESKTOP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-write"
+ ]
+ },
+ {
+ "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-desktop-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-document-meta -> This allows non-recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-document-meta-recursive -> This allows full recursive read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-document-read -> This allows non-recursive read access to the `$DOCUMENT` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-read"
+ ]
+ },
+ {
+ "description": "fs:allow-document-read-recursive -> This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-document-write -> This allows non-recursive write access to the `$DOCUMENT` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-write"
+ ]
+ },
+ {
+ "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-document-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-download-meta -> This allows non-recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-download-meta-recursive -> This allows full recursive read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-download-read -> This allows non-recursive read access to the `$DOWNLOAD` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-read"
+ ]
+ },
+ {
+ "description": "fs:allow-download-read-recursive -> This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-download-write -> This allows non-recursive write access to the `$DOWNLOAD` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-write"
+ ]
+ },
+ {
+ "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-download-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-meta -> This allows non-recursive read access to metadata of the `$EXE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-meta-recursive -> This allows full recursive read access to metadata of the `$EXE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-read -> This allows non-recursive read access to the `$EXE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-read"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-read-recursive -> This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-write -> This allows non-recursive write access to the `$EXE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-write"
+ ]
+ },
+ {
+ "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exe-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-font-meta -> This allows non-recursive read access to metadata of the `$FONT` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-font-meta-recursive -> This allows full recursive read access to metadata of the `$FONT` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-font-read -> This allows non-recursive read access to the `$FONT` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-read"
+ ]
+ },
+ {
+ "description": "fs:allow-font-read-recursive -> This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-font-write -> This allows non-recursive write access to the `$FONT` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-write"
+ ]
+ },
+ {
+ "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-font-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-home-meta -> This allows non-recursive read access to metadata of the `$HOME` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-home-meta-recursive -> This allows full recursive read access to metadata of the `$HOME` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-home-read -> This allows non-recursive read access to the `$HOME` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-read"
+ ]
+ },
+ {
+ "description": "fs:allow-home-read-recursive -> This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-home-write -> This allows non-recursive write access to the `$HOME` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-write"
+ ]
+ },
+ {
+ "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-home-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-meta -> This allows non-recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-meta-recursive -> This allows full recursive read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-read -> This allows non-recursive read access to the `$LOCALDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-read"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-read-recursive -> This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-write -> This allows non-recursive write access to the `$LOCALDATA` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-write"
+ ]
+ },
+ {
+ "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-localdata-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-log-meta -> This allows non-recursive read access to metadata of the `$LOG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-log-meta-recursive -> This allows full recursive read access to metadata of the `$LOG` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-log-read -> This allows non-recursive read access to the `$LOG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-read"
+ ]
+ },
+ {
+ "description": "fs:allow-log-read-recursive -> This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-log-write -> This allows non-recursive write access to the `$LOG` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-write"
+ ]
+ },
+ {
+ "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-log-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-meta -> This allows non-recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-meta-recursive -> This allows full recursive read access to metadata of the `$PICTURE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-read -> This allows non-recursive read access to the `$PICTURE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-read"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-read-recursive -> This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-write -> This allows non-recursive write access to the `$PICTURE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-write"
+ ]
+ },
+ {
+ "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-picture-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-public-meta -> This allows non-recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-public-meta-recursive -> This allows full recursive read access to metadata of the `$PUBLIC` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-public-read -> This allows non-recursive read access to the `$PUBLIC` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-read"
+ ]
+ },
+ {
+ "description": "fs:allow-public-read-recursive -> This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-public-write -> This allows non-recursive write access to the `$PUBLIC` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-write"
+ ]
+ },
+ {
+ "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-public-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-meta -> This allows non-recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-meta-recursive -> This allows full recursive read access to metadata of the `$RESOURCE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-read -> This allows non-recursive read access to the `$RESOURCE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-read"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-read-recursive -> This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-write -> This allows non-recursive write access to the `$RESOURCE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-write"
+ ]
+ },
+ {
+ "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-resource-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-meta -> This allows non-recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-meta-recursive -> This allows full recursive read access to metadata of the `$RUNTIME` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-read -> This allows non-recursive read access to the `$RUNTIME` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-read"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-read-recursive -> This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-write -> This allows non-recursive write access to the `$RUNTIME` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-write"
+ ]
+ },
+ {
+ "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-runtime-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-meta -> This allows non-recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-meta-recursive -> This allows full recursive read access to metadata of the `$TEMP` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-read -> This allows non-recursive read access to the `$TEMP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-read"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-read-recursive -> This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-write -> This allows non-recursive write access to the `$TEMP` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-write"
+ ]
+ },
+ {
+ "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-temp-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-template-meta -> This allows non-recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-template-meta-recursive -> This allows full recursive read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-template-read -> This allows non-recursive read access to the `$TEMPLATE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-read"
+ ]
+ },
+ {
+ "description": "fs:allow-template-read-recursive -> This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-template-write -> This allows non-recursive write access to the `$TEMPLATE` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-write"
+ ]
+ },
+ {
+ "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-template-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-video-meta -> This allows non-recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-meta"
+ ]
+ },
+ {
+ "description": "fs:allow-video-meta-recursive -> This allows full recursive read access to metadata of the `$VIDEO` folder, including file listing and statistics.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-meta-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-video-read -> This allows non-recursive read access to the `$VIDEO` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-read"
+ ]
+ },
+ {
+ "description": "fs:allow-video-read-recursive -> This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-read-recursive"
+ ]
+ },
+ {
+ "description": "fs:allow-video-write -> This allows non-recursive write access to the `$VIDEO` folder.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-write"
+ ]
+ },
+ {
+ "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.",
+ "type": "string",
+ "enum": [
+ "fs:allow-video-write-recursive"
+ ]
+ },
+ {
+ "description": "fs:deny-default -> This denies access to dangerous Tauri relevant files and folders by default.",
+ "type": "string",
+ "enum": [
+ "fs:deny-default"
+ ]
+ },
+ {
+ "description": "fs:default -> # Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n",
+ "type": "string",
+ "enum": [
+ "fs:default"
+ ]
+ },
+ {
+ "description": "fs:allow-copy-file -> Enables the copy_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-copy-file"
+ ]
+ },
+ {
+ "description": "fs:allow-create -> Enables the create command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-create"
+ ]
+ },
+ {
+ "description": "fs:allow-exists -> Enables the exists command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-exists"
+ ]
+ },
+ {
+ "description": "fs:allow-fstat -> Enables the fstat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-fstat"
+ ]
+ },
+ {
+ "description": "fs:allow-ftruncate -> Enables the ftruncate command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-ftruncate"
+ ]
+ },
+ {
+ "description": "fs:allow-lstat -> Enables the lstat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-lstat"
+ ]
+ },
+ {
+ "description": "fs:allow-mkdir -> Enables the mkdir command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-mkdir"
+ ]
+ },
+ {
+ "description": "fs:allow-open -> Enables the open command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-open"
+ ]
+ },
+ {
+ "description": "fs:allow-read -> Enables the read command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read"
+ ]
+ },
+ {
+ "description": "fs:allow-read-dir -> Enables the read_dir command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-dir"
+ ]
+ },
+ {
+ "description": "fs:allow-read-file -> Enables the read_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-file"
+ ]
+ },
+ {
+ "description": "fs:allow-read-text-file -> Enables the read_text_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-text-file"
+ ]
+ },
+ {
+ "description": "fs:allow-read-text-file-lines -> Enables the read_text_file_lines command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-text-file-lines"
+ ]
+ },
+ {
+ "description": "fs:allow-read-text-file-lines-next -> Enables the read_text_file_lines_next command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-read-text-file-lines-next"
+ ]
+ },
+ {
+ "description": "fs:allow-remove -> Enables the remove command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-remove"
+ ]
+ },
+ {
+ "description": "fs:allow-rename -> Enables the rename command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-rename"
+ ]
+ },
+ {
+ "description": "fs:allow-seek -> Enables the seek command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-seek"
+ ]
+ },
+ {
+ "description": "fs:allow-stat -> Enables the stat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-stat"
+ ]
+ },
+ {
+ "description": "fs:allow-truncate -> Enables the truncate command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-truncate"
+ ]
+ },
+ {
+ "description": "fs:allow-unwatch -> Enables the unwatch command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-unwatch"
+ ]
+ },
+ {
+ "description": "fs:allow-watch -> Enables the watch command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-watch"
+ ]
+ },
+ {
+ "description": "fs:allow-write -> Enables the write command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-write"
+ ]
+ },
+ {
+ "description": "fs:allow-write-file -> Enables the write_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-write-file"
+ ]
+ },
+ {
+ "description": "fs:allow-write-text-file -> Enables the write_text_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:allow-write-text-file"
+ ]
+ },
+ {
+ "description": "fs:deny-copy-file -> Denies the copy_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-copy-file"
+ ]
+ },
+ {
+ "description": "fs:deny-create -> Denies the create command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-create"
+ ]
+ },
+ {
+ "description": "fs:deny-exists -> Denies the exists command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-exists"
+ ]
+ },
+ {
+ "description": "fs:deny-fstat -> Denies the fstat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-fstat"
+ ]
+ },
+ {
+ "description": "fs:deny-ftruncate -> Denies the ftruncate command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-ftruncate"
+ ]
+ },
+ {
+ "description": "fs:deny-lstat -> Denies the lstat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-lstat"
+ ]
+ },
+ {
+ "description": "fs:deny-mkdir -> Denies the mkdir command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-mkdir"
+ ]
+ },
+ {
+ "description": "fs:deny-open -> Denies the open command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-open"
+ ]
+ },
+ {
+ "description": "fs:deny-read -> Denies the read command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read"
+ ]
+ },
+ {
+ "description": "fs:deny-read-dir -> Denies the read_dir command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-dir"
+ ]
+ },
+ {
+ "description": "fs:deny-read-file -> Denies the read_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-file"
+ ]
+ },
+ {
+ "description": "fs:deny-read-text-file -> Denies the read_text_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-text-file"
+ ]
+ },
+ {
+ "description": "fs:deny-read-text-file-lines -> Denies the read_text_file_lines command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-text-file-lines"
+ ]
+ },
+ {
+ "description": "fs:deny-read-text-file-lines-next -> Denies the read_text_file_lines_next command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-read-text-file-lines-next"
+ ]
+ },
+ {
+ "description": "fs:deny-remove -> Denies the remove command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-remove"
+ ]
+ },
+ {
+ "description": "fs:deny-rename -> Denies the rename command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-rename"
+ ]
+ },
+ {
+ "description": "fs:deny-seek -> Denies the seek command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-seek"
+ ]
+ },
+ {
+ "description": "fs:deny-stat -> Denies the stat command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-stat"
+ ]
+ },
+ {
+ "description": "fs:deny-truncate -> Denies the truncate command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-truncate"
+ ]
+ },
+ {
+ "description": "fs:deny-unwatch -> Denies the unwatch command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-unwatch"
+ ]
+ },
+ {
+ "description": "fs:deny-watch -> Denies the watch command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-watch"
+ ]
+ },
+ {
+ "description": "fs:deny-webview-data-linux -> This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.",
+ "type": "string",
+ "enum": [
+ "fs:deny-webview-data-linux"
+ ]
+ },
+ {
+ "description": "fs:deny-webview-data-windows -> This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.",
+ "type": "string",
+ "enum": [
+ "fs:deny-webview-data-windows"
+ ]
+ },
+ {
+ "description": "fs:deny-write -> Denies the write command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-write"
+ ]
+ },
+ {
+ "description": "fs:deny-write-file -> Denies the write_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-write-file"
+ ]
+ },
+ {
+ "description": "fs:deny-write-text-file -> Denies the write_text_file command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "fs:deny-write-text-file"
+ ]
+ },
+ {
+ "description": "fs:read-all -> This enables all read related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:read-all"
+ ]
+ },
+ {
+ "description": "fs:read-dirs -> This enables directory read and file metadata related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:read-dirs"
+ ]
+ },
+ {
+ "description": "fs:read-files -> This enables file read related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:read-files"
+ ]
+ },
+ {
+ "description": "fs:read-meta -> This enables all index or metadata related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:read-meta"
+ ]
+ },
+ {
+ "description": "fs:scope -> An empty permission you can use to modify the global scope.",
+ "type": "string",
+ "enum": [
+ "fs:scope"
+ ]
+ },
+ {
+ "description": "fs:scope-app -> This scope permits access to all files and list content of top level directories in the `$APP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-app"
+ ]
+ },
+ {
+ "description": "fs:scope-app-index -> This scope permits to list all files and folders in the `$APP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-app-index"
+ ]
+ },
+ {
+ "description": "fs:scope-app-recursive -> This scope recursive access to the complete `$APP` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-app-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-appcache -> This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appcache"
+ ]
+ },
+ {
+ "description": "fs:scope-appcache-index -> This scope permits to list all files and folders in the `$APPCACHE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appcache-index"
+ ]
+ },
+ {
+ "description": "fs:scope-appcache-recursive -> This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appcache-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-appconfig -> This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appconfig"
+ ]
+ },
+ {
+ "description": "fs:scope-appconfig-index -> This scope permits to list all files and folders in the `$APPCONFIG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appconfig-index"
+ ]
+ },
+ {
+ "description": "fs:scope-appconfig-recursive -> This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appconfig-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-appdata -> This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appdata"
+ ]
+ },
+ {
+ "description": "fs:scope-appdata-index -> This scope permits to list all files and folders in the `$APPDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appdata-index"
+ ]
+ },
+ {
+ "description": "fs:scope-appdata-recursive -> This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-appdata-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-applocaldata -> This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applocaldata"
+ ]
+ },
+ {
+ "description": "fs:scope-applocaldata-index -> This scope permits to list all files and folders in the `$APPLOCALDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applocaldata-index"
+ ]
+ },
+ {
+ "description": "fs:scope-applocaldata-recursive -> This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applocaldata-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-applog -> This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applog"
+ ]
+ },
+ {
+ "description": "fs:scope-applog-index -> This scope permits to list all files and folders in the `$APPLOG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applog-index"
+ ]
+ },
+ {
+ "description": "fs:scope-applog-recursive -> This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-applog-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-audio -> This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-audio"
+ ]
+ },
+ {
+ "description": "fs:scope-audio-index -> This scope permits to list all files and folders in the `$AUDIO`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-audio-index"
+ ]
+ },
+ {
+ "description": "fs:scope-audio-recursive -> This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-audio-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-cache -> This scope permits access to all files and list content of top level directories in the `$CACHE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-cache"
+ ]
+ },
+ {
+ "description": "fs:scope-cache-index -> This scope permits to list all files and folders in the `$CACHE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-cache-index"
+ ]
+ },
+ {
+ "description": "fs:scope-cache-recursive -> This scope recursive access to the complete `$CACHE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-cache-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-config -> This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-config"
+ ]
+ },
+ {
+ "description": "fs:scope-config-index -> This scope permits to list all files and folders in the `$CONFIG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-config-index"
+ ]
+ },
+ {
+ "description": "fs:scope-config-recursive -> This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-config-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-data -> This scope permits access to all files and list content of top level directories in the `$DATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-data"
+ ]
+ },
+ {
+ "description": "fs:scope-data-index -> This scope permits to list all files and folders in the `$DATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-data-index"
+ ]
+ },
+ {
+ "description": "fs:scope-data-recursive -> This scope recursive access to the complete `$DATA` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-data-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-desktop -> This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-desktop"
+ ]
+ },
+ {
+ "description": "fs:scope-desktop-index -> This scope permits to list all files and folders in the `$DESKTOP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-desktop-index"
+ ]
+ },
+ {
+ "description": "fs:scope-desktop-recursive -> This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-desktop-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-document -> This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-document"
+ ]
+ },
+ {
+ "description": "fs:scope-document-index -> This scope permits to list all files and folders in the `$DOCUMENT`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-document-index"
+ ]
+ },
+ {
+ "description": "fs:scope-document-recursive -> This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-document-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-download -> This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-download"
+ ]
+ },
+ {
+ "description": "fs:scope-download-index -> This scope permits to list all files and folders in the `$DOWNLOAD`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-download-index"
+ ]
+ },
+ {
+ "description": "fs:scope-download-recursive -> This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-download-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-exe -> This scope permits access to all files and list content of top level directories in the `$EXE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-exe"
+ ]
+ },
+ {
+ "description": "fs:scope-exe-index -> This scope permits to list all files and folders in the `$EXE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-exe-index"
+ ]
+ },
+ {
+ "description": "fs:scope-exe-recursive -> This scope recursive access to the complete `$EXE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-exe-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-font -> This scope permits access to all files and list content of top level directories in the `$FONT`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-font"
+ ]
+ },
+ {
+ "description": "fs:scope-font-index -> This scope permits to list all files and folders in the `$FONT`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-font-index"
+ ]
+ },
+ {
+ "description": "fs:scope-font-recursive -> This scope recursive access to the complete `$FONT` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-font-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-home -> This scope permits access to all files and list content of top level directories in the `$HOME`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-home"
+ ]
+ },
+ {
+ "description": "fs:scope-home-index -> This scope permits to list all files and folders in the `$HOME`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-home-index"
+ ]
+ },
+ {
+ "description": "fs:scope-home-recursive -> This scope recursive access to the complete `$HOME` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-home-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-localdata -> This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-localdata"
+ ]
+ },
+ {
+ "description": "fs:scope-localdata-index -> This scope permits to list all files and folders in the `$LOCALDATA`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-localdata-index"
+ ]
+ },
+ {
+ "description": "fs:scope-localdata-recursive -> This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-localdata-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-log -> This scope permits access to all files and list content of top level directories in the `$LOG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-log"
+ ]
+ },
+ {
+ "description": "fs:scope-log-index -> This scope permits to list all files and folders in the `$LOG`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-log-index"
+ ]
+ },
+ {
+ "description": "fs:scope-log-recursive -> This scope recursive access to the complete `$LOG` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-log-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-picture -> This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-picture"
+ ]
+ },
+ {
+ "description": "fs:scope-picture-index -> This scope permits to list all files and folders in the `$PICTURE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-picture-index"
+ ]
+ },
+ {
+ "description": "fs:scope-picture-recursive -> This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-picture-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-public -> This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-public"
+ ]
+ },
+ {
+ "description": "fs:scope-public-index -> This scope permits to list all files and folders in the `$PUBLIC`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-public-index"
+ ]
+ },
+ {
+ "description": "fs:scope-public-recursive -> This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-public-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-resource -> This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-resource"
+ ]
+ },
+ {
+ "description": "fs:scope-resource-index -> This scope permits to list all files and folders in the `$RESOURCE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-resource-index"
+ ]
+ },
+ {
+ "description": "fs:scope-resource-recursive -> This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-resource-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-runtime -> This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-runtime"
+ ]
+ },
+ {
+ "description": "fs:scope-runtime-index -> This scope permits to list all files and folders in the `$RUNTIME`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-runtime-index"
+ ]
+ },
+ {
+ "description": "fs:scope-runtime-recursive -> This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-runtime-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-temp -> This scope permits access to all files and list content of top level directories in the `$TEMP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-temp"
+ ]
+ },
+ {
+ "description": "fs:scope-temp-index -> This scope permits to list all files and folders in the `$TEMP`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-temp-index"
+ ]
+ },
+ {
+ "description": "fs:scope-temp-recursive -> This scope recursive access to the complete `$TEMP` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-temp-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-template -> This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-template"
+ ]
+ },
+ {
+ "description": "fs:scope-template-index -> This scope permits to list all files and folders in the `$TEMPLATE`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-template-index"
+ ]
+ },
+ {
+ "description": "fs:scope-template-recursive -> This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-template-recursive"
+ ]
+ },
+ {
+ "description": "fs:scope-video -> This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-video"
+ ]
+ },
+ {
+ "description": "fs:scope-video-index -> This scope permits to list all files and folders in the `$VIDEO`folder.",
+ "type": "string",
+ "enum": [
+ "fs:scope-video-index"
+ ]
+ },
+ {
+ "description": "fs:scope-video-recursive -> This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.",
+ "type": "string",
+ "enum": [
+ "fs:scope-video-recursive"
+ ]
+ },
+ {
+ "description": "fs:write-all -> This enables all write related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:write-all"
+ ]
+ },
+ {
+ "description": "fs:write-files -> This enables all file write related commands without any pre-configured accessible paths.",
+ "type": "string",
+ "enum": [
+ "fs:write-files"
+ ]
+ },
+ {
+ "description": "image:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "image:default"
+ ]
+ },
+ {
+ "description": "image:allow-from-bytes -> Enables the from_bytes command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-from-bytes"
+ ]
+ },
+ {
+ "description": "image:allow-from-path -> Enables the from_path command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-from-path"
+ ]
+ },
+ {
+ "description": "image:allow-new -> Enables the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-new"
+ ]
+ },
+ {
+ "description": "image:allow-rgba -> Enables the rgba command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-rgba"
+ ]
+ },
+ {
+ "description": "image:allow-size -> Enables the size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-size"
+ ]
+ },
+ {
+ "description": "image:deny-from-bytes -> Denies the from_bytes command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-from-bytes"
+ ]
+ },
+ {
+ "description": "image:deny-from-path -> Denies the from_path command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-from-path"
+ ]
+ },
+ {
+ "description": "image:deny-new -> Denies the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-new"
+ ]
+ },
+ {
+ "description": "image:deny-rgba -> Denies the rgba command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-rgba"
+ ]
+ },
+ {
+ "description": "image:deny-size -> Denies the size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-size"
+ ]
+ },
+ {
+ "description": "log:default -> Allows the log command",
+ "type": "string",
+ "enum": [
+ "log:default"
+ ]
+ },
+ {
+ "description": "log:allow-log -> Enables the log command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "log:allow-log"
+ ]
+ },
+ {
+ "description": "log:deny-log -> Denies the log command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "log:deny-log"
+ ]
+ },
+ {
+ "description": "menu:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "menu:default"
+ ]
+ },
+ {
+ "description": "menu:allow-append -> Enables the append command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-append"
+ ]
+ },
+ {
+ "description": "menu:allow-create-default -> Enables the create_default command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-create-default"
+ ]
+ },
+ {
+ "description": "menu:allow-get -> Enables the get command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-get"
+ ]
+ },
+ {
+ "description": "menu:allow-insert -> Enables the insert command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-insert"
+ ]
+ },
+ {
+ "description": "menu:allow-is-checked -> Enables the is_checked command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-is-checked"
+ ]
+ },
+ {
+ "description": "menu:allow-is-enabled -> Enables the is_enabled command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-is-enabled"
+ ]
+ },
+ {
+ "description": "menu:allow-items -> Enables the items command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-items"
+ ]
+ },
+ {
+ "description": "menu:allow-new -> Enables the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-new"
+ ]
+ },
+ {
+ "description": "menu:allow-popup -> Enables the popup command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-popup"
+ ]
+ },
+ {
+ "description": "menu:allow-prepend -> Enables the prepend command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-prepend"
+ ]
+ },
+ {
+ "description": "menu:allow-remove -> Enables the remove command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-remove"
+ ]
+ },
+ {
+ "description": "menu:allow-remove-at -> Enables the remove_at command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-remove-at"
+ ]
+ },
+ {
+ "description": "menu:allow-set-accelerator -> Enables the set_accelerator command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-accelerator"
+ ]
+ },
+ {
+ "description": "menu:allow-set-as-app-menu -> Enables the set_as_app_menu command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-as-app-menu"
+ ]
+ },
+ {
+ "description": "menu:allow-set-as-help-menu-for-nsapp -> Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-as-help-menu-for-nsapp"
+ ]
+ },
+ {
+ "description": "menu:allow-set-as-window-menu -> Enables the set_as_window_menu command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-as-window-menu"
+ ]
+ },
+ {
+ "description": "menu:allow-set-as-windows-menu-for-nsapp -> Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-as-windows-menu-for-nsapp"
+ ]
+ },
+ {
+ "description": "menu:allow-set-checked -> Enables the set_checked command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-checked"
+ ]
+ },
+ {
+ "description": "menu:allow-set-enabled -> Enables the set_enabled command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-enabled"
+ ]
+ },
+ {
+ "description": "menu:allow-set-icon -> Enables the set_icon command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-icon"
+ ]
+ },
+ {
+ "description": "menu:allow-set-text -> Enables the set_text command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-set-text"
+ ]
+ },
+ {
+ "description": "menu:allow-text -> Enables the text command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:allow-text"
+ ]
+ },
+ {
+ "description": "menu:deny-append -> Denies the append command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-append"
+ ]
+ },
+ {
+ "description": "menu:deny-create-default -> Denies the create_default command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-create-default"
+ ]
+ },
+ {
+ "description": "menu:deny-get -> Denies the get command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-get"
+ ]
+ },
+ {
+ "description": "menu:deny-insert -> Denies the insert command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-insert"
+ ]
+ },
+ {
+ "description": "menu:deny-is-checked -> Denies the is_checked command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-is-checked"
+ ]
+ },
+ {
+ "description": "menu:deny-is-enabled -> Denies the is_enabled command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-is-enabled"
+ ]
+ },
+ {
+ "description": "menu:deny-items -> Denies the items command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-items"
+ ]
+ },
+ {
+ "description": "menu:deny-new -> Denies the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-new"
+ ]
+ },
+ {
+ "description": "menu:deny-popup -> Denies the popup command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-popup"
+ ]
+ },
+ {
+ "description": "menu:deny-prepend -> Denies the prepend command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-prepend"
+ ]
+ },
+ {
+ "description": "menu:deny-remove -> Denies the remove command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-remove"
+ ]
+ },
+ {
+ "description": "menu:deny-remove-at -> Denies the remove_at command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-remove-at"
+ ]
+ },
+ {
+ "description": "menu:deny-set-accelerator -> Denies the set_accelerator command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-accelerator"
+ ]
+ },
+ {
+ "description": "menu:deny-set-as-app-menu -> Denies the set_as_app_menu command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-as-app-menu"
+ ]
+ },
+ {
+ "description": "menu:deny-set-as-help-menu-for-nsapp -> Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-as-help-menu-for-nsapp"
+ ]
+ },
+ {
+ "description": "menu:deny-set-as-window-menu -> Denies the set_as_window_menu command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-as-window-menu"
+ ]
+ },
+ {
+ "description": "menu:deny-set-as-windows-menu-for-nsapp -> Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-as-windows-menu-for-nsapp"
+ ]
+ },
+ {
+ "description": "menu:deny-set-checked -> Denies the set_checked command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-checked"
+ ]
+ },
+ {
+ "description": "menu:deny-set-enabled -> Denies the set_enabled command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-enabled"
+ ]
+ },
+ {
+ "description": "menu:deny-set-icon -> Denies the set_icon command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-icon"
+ ]
+ },
+ {
+ "description": "menu:deny-set-text -> Denies the set_text command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-set-text"
+ ]
+ },
+ {
+ "description": "menu:deny-text -> Denies the text command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "menu:deny-text"
+ ]
+ },
+ {
+ "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": "path:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "path:default"
+ ]
+ },
+ {
+ "description": "path:allow-basename -> Enables the basename command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:allow-basename"
+ ]
+ },
+ {
+ "description": "path:allow-dirname -> Enables the dirname command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:allow-dirname"
+ ]
+ },
+ {
+ "description": "path:allow-extname -> Enables the extname command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:allow-extname"
+ ]
+ },
+ {
+ "description": "path:allow-is-absolute -> Enables the is_absolute command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:allow-is-absolute"
+ ]
+ },
+ {
+ "description": "path:allow-join -> Enables the join command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:allow-join"
+ ]
+ },
+ {
+ "description": "path:allow-normalize -> Enables the normalize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:allow-normalize"
+ ]
+ },
+ {
+ "description": "path:allow-resolve -> Enables the resolve command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:allow-resolve"
+ ]
+ },
+ {
+ "description": "path:allow-resolve-directory -> Enables the resolve_directory command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:allow-resolve-directory"
+ ]
+ },
+ {
+ "description": "path:deny-basename -> Denies the basename command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:deny-basename"
+ ]
+ },
+ {
+ "description": "path:deny-dirname -> Denies the dirname command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:deny-dirname"
+ ]
+ },
+ {
+ "description": "path:deny-extname -> Denies the extname command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:deny-extname"
+ ]
+ },
+ {
+ "description": "path:deny-is-absolute -> Denies the is_absolute command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:deny-is-absolute"
+ ]
+ },
+ {
+ "description": "path:deny-join -> Denies the join command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:deny-join"
+ ]
+ },
+ {
+ "description": "path:deny-normalize -> Denies the normalize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:deny-normalize"
+ ]
+ },
+ {
+ "description": "path:deny-resolve -> Denies the resolve command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:deny-resolve"
+ ]
+ },
+ {
+ "description": "path:deny-resolve-directory -> Denies the resolve_directory command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "path:deny-resolve-directory"
+ ]
+ },
+ {
+ "description": "resources:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "resources:default"
+ ]
+ },
+ {
+ "description": "resources:allow-close -> Enables the close command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "resources:allow-close"
+ ]
+ },
+ {
+ "description": "resources:deny-close -> Denies the close command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "resources:deny-close"
+ ]
+ },
+ {
+ "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": "tray:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "tray:default"
+ ]
+ },
+ {
+ "description": "tray:allow-get-by-id -> Enables the get_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-get-by-id"
+ ]
+ },
+ {
+ "description": "tray:allow-new -> Enables the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-new"
+ ]
+ },
+ {
+ "description": "tray:allow-remove-by-id -> Enables the remove_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-remove-by-id"
+ ]
+ },
+ {
+ "description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-set-icon"
+ ]
+ },
+ {
+ "description": "tray:allow-set-icon-as-template -> Enables the set_icon_as_template command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-set-icon-as-template"
+ ]
+ },
+ {
+ "description": "tray:allow-set-menu -> Enables the set_menu command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-set-menu"
+ ]
+ },
+ {
+ "description": "tray:allow-set-show-menu-on-left-click -> Enables the set_show_menu_on_left_click command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-set-show-menu-on-left-click"
+ ]
+ },
+ {
+ "description": "tray:allow-set-temp-dir-path -> Enables the set_temp_dir_path command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-set-temp-dir-path"
+ ]
+ },
+ {
+ "description": "tray:allow-set-title -> Enables the set_title command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-set-title"
+ ]
+ },
+ {
+ "description": "tray:allow-set-tooltip -> Enables the set_tooltip command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-set-tooltip"
+ ]
+ },
+ {
+ "description": "tray:allow-set-visible -> Enables the set_visible command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-set-visible"
+ ]
+ },
+ {
+ "description": "tray:deny-get-by-id -> Denies the get_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-get-by-id"
+ ]
+ },
+ {
+ "description": "tray:deny-new -> Denies the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-new"
+ ]
+ },
+ {
+ "description": "tray:deny-remove-by-id -> Denies the remove_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-remove-by-id"
+ ]
+ },
+ {
+ "description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-set-icon"
+ ]
+ },
+ {
+ "description": "tray:deny-set-icon-as-template -> Denies the set_icon_as_template command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-set-icon-as-template"
+ ]
+ },
+ {
+ "description": "tray:deny-set-menu -> Denies the set_menu command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-set-menu"
+ ]
+ },
+ {
+ "description": "tray:deny-set-show-menu-on-left-click -> Denies the set_show_menu_on_left_click command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-set-show-menu-on-left-click"
+ ]
+ },
+ {
+ "description": "tray:deny-set-temp-dir-path -> Denies the set_temp_dir_path command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-set-temp-dir-path"
+ ]
+ },
+ {
+ "description": "tray:deny-set-title -> Denies the set_title command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-set-title"
+ ]
+ },
+ {
+ "description": "tray:deny-set-tooltip -> Denies the set_tooltip command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-set-tooltip"
+ ]
+ },
+ {
+ "description": "tray:deny-set-visible -> Denies the set_visible command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-set-visible"
+ ]
+ },
+ {
+ "description": "updater:default -> Allows checking for new updates and installing them",
+ "type": "string",
+ "enum": [
+ "updater:default"
+ ]
+ },
+ {
+ "description": "updater:allow-check -> Enables the check command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-check"
+ ]
+ },
+ {
+ "description": "updater:allow-download -> Enables the download command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-download"
+ ]
+ },
+ {
+ "description": "updater:allow-download-and-install -> Enables the download_and_install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-download-and-install"
+ ]
+ },
+ {
+ "description": "updater:allow-install -> Enables the install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:allow-install"
+ ]
+ },
+ {
+ "description": "updater:deny-check -> Denies the check command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-check"
+ ]
+ },
+ {
+ "description": "updater:deny-download -> Denies the download command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-download"
+ ]
+ },
+ {
+ "description": "updater:deny-download-and-install -> Denies the download_and_install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-download-and-install"
+ ]
+ },
+ {
+ "description": "updater:deny-install -> Denies the install command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "updater:deny-install"
+ ]
+ },
+ {
+ "description": "webview:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "webview:default"
+ ]
+ },
+ {
+ "description": "webview:allow-create-webview -> Enables the create_webview command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-create-webview"
+ ]
+ },
+ {
+ "description": "webview:allow-create-webview-window -> Enables the create_webview_window command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-create-webview-window"
+ ]
+ },
+ {
+ "description": "webview:allow-internal-toggle-devtools -> Enables the internal_toggle_devtools command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-internal-toggle-devtools"
+ ]
+ },
+ {
+ "description": "webview:allow-print -> Enables the print command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-print"
+ ]
+ },
+ {
+ "description": "webview:allow-reparent -> Enables the reparent command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-reparent"
+ ]
+ },
+ {
+ "description": "webview:allow-set-webview-focus -> Enables the set_webview_focus command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-set-webview-focus"
+ ]
+ },
+ {
+ "description": "webview:allow-set-webview-position -> Enables the set_webview_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-set-webview-position"
+ ]
+ },
+ {
+ "description": "webview:allow-set-webview-size -> Enables the set_webview_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-set-webview-size"
+ ]
+ },
+ {
+ "description": "webview:allow-set-webview-zoom -> Enables the set_webview_zoom command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-set-webview-zoom"
+ ]
+ },
+ {
+ "description": "webview:allow-webview-close -> Enables the webview_close command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-webview-close"
+ ]
+ },
+ {
+ "description": "webview:allow-webview-position -> Enables the webview_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-webview-position"
+ ]
+ },
+ {
+ "description": "webview:allow-webview-size -> Enables the webview_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:allow-webview-size"
+ ]
+ },
+ {
+ "description": "webview:deny-create-webview -> Denies the create_webview command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-create-webview"
+ ]
+ },
+ {
+ "description": "webview:deny-create-webview-window -> Denies the create_webview_window command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-create-webview-window"
+ ]
+ },
+ {
+ "description": "webview:deny-internal-toggle-devtools -> Denies the internal_toggle_devtools command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-internal-toggle-devtools"
+ ]
+ },
+ {
+ "description": "webview:deny-print -> Denies the print command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-print"
+ ]
+ },
+ {
+ "description": "webview:deny-reparent -> Denies the reparent command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-reparent"
+ ]
+ },
+ {
+ "description": "webview:deny-set-webview-focus -> Denies the set_webview_focus command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-set-webview-focus"
+ ]
+ },
+ {
+ "description": "webview:deny-set-webview-position -> Denies the set_webview_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-set-webview-position"
+ ]
+ },
+ {
+ "description": "webview:deny-set-webview-size -> Denies the set_webview_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-set-webview-size"
+ ]
+ },
+ {
+ "description": "webview:deny-set-webview-zoom -> Denies the set_webview_zoom command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-set-webview-zoom"
+ ]
+ },
+ {
+ "description": "webview:deny-webview-close -> Denies the webview_close command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-webview-close"
+ ]
+ },
+ {
+ "description": "webview:deny-webview-position -> Denies the webview_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-webview-position"
+ ]
+ },
+ {
+ "description": "webview:deny-webview-size -> Denies the webview_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "webview:deny-webview-size"
+ ]
+ },
+ {
+ "description": "window:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "window:default"
+ ]
+ },
+ {
+ "description": "window:allow-available-monitors -> Enables the available_monitors command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-available-monitors"
+ ]
+ },
+ {
+ "description": "window:allow-center -> Enables the center command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-center"
+ ]
+ },
+ {
+ "description": "window:allow-close -> Enables the close command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-close"
+ ]
+ },
+ {
+ "description": "window:allow-create -> Enables the create command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-create"
+ ]
+ },
+ {
+ "description": "window:allow-current-monitor -> Enables the current_monitor command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-current-monitor"
+ ]
+ },
+ {
+ "description": "window:allow-cursor-position -> Enables the cursor_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-cursor-position"
+ ]
+ },
+ {
+ "description": "window:allow-destroy -> Enables the destroy command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-destroy"
+ ]
+ },
+ {
+ "description": "window:allow-hide -> Enables the hide command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-hide"
+ ]
+ },
+ {
+ "description": "window:allow-inner-position -> Enables the inner_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-inner-position"
+ ]
+ },
+ {
+ "description": "window:allow-inner-size -> Enables the inner_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-inner-size"
+ ]
+ },
+ {
+ "description": "window:allow-internal-toggle-maximize -> Enables the internal_toggle_maximize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-internal-toggle-maximize"
+ ]
+ },
+ {
+ "description": "window:allow-is-closable -> Enables the is_closable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-closable"
+ ]
+ },
+ {
+ "description": "window:allow-is-decorated -> Enables the is_decorated command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-decorated"
+ ]
+ },
+ {
+ "description": "window:allow-is-focused -> Enables the is_focused command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-focused"
+ ]
+ },
+ {
+ "description": "window:allow-is-fullscreen -> Enables the is_fullscreen command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-fullscreen"
+ ]
+ },
+ {
+ "description": "window:allow-is-maximizable -> Enables the is_maximizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-maximizable"
+ ]
+ },
+ {
+ "description": "window:allow-is-maximized -> Enables the is_maximized command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-maximized"
+ ]
+ },
+ {
+ "description": "window:allow-is-minimizable -> Enables the is_minimizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-minimizable"
+ ]
+ },
+ {
+ "description": "window:allow-is-minimized -> Enables the is_minimized command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-minimized"
+ ]
+ },
+ {
+ "description": "window:allow-is-resizable -> Enables the is_resizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-resizable"
+ ]
+ },
+ {
+ "description": "window:allow-is-visible -> Enables the is_visible command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-is-visible"
+ ]
+ },
+ {
+ "description": "window:allow-maximize -> Enables the maximize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-maximize"
+ ]
+ },
+ {
+ "description": "window:allow-minimize -> Enables the minimize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-minimize"
+ ]
+ },
+ {
+ "description": "window:allow-monitor-from-point -> Enables the monitor_from_point command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-monitor-from-point"
+ ]
+ },
+ {
+ "description": "window:allow-outer-position -> Enables the outer_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-outer-position"
+ ]
+ },
+ {
+ "description": "window:allow-outer-size -> Enables the outer_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-outer-size"
+ ]
+ },
+ {
+ "description": "window:allow-primary-monitor -> Enables the primary_monitor command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-primary-monitor"
+ ]
+ },
+ {
+ "description": "window:allow-request-user-attention -> Enables the request_user_attention command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-request-user-attention"
+ ]
+ },
+ {
+ "description": "window:allow-scale-factor -> Enables the scale_factor command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-scale-factor"
+ ]
+ },
+ {
+ "description": "window:allow-set-always-on-bottom -> Enables the set_always_on_bottom command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-always-on-bottom"
+ ]
+ },
+ {
+ "description": "window:allow-set-always-on-top -> Enables the set_always_on_top command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-always-on-top"
+ ]
+ },
+ {
+ "description": "window:allow-set-closable -> Enables the set_closable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-closable"
+ ]
+ },
+ {
+ "description": "window:allow-set-content-protected -> Enables the set_content_protected command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-content-protected"
+ ]
+ },
+ {
+ "description": "window:allow-set-cursor-grab -> Enables the set_cursor_grab command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-cursor-grab"
+ ]
+ },
+ {
+ "description": "window:allow-set-cursor-icon -> Enables the set_cursor_icon command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-cursor-icon"
+ ]
+ },
+ {
+ "description": "window:allow-set-cursor-position -> Enables the set_cursor_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-cursor-position"
+ ]
+ },
+ {
+ "description": "window:allow-set-cursor-visible -> Enables the set_cursor_visible command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-cursor-visible"
+ ]
+ },
+ {
+ "description": "window:allow-set-decorations -> Enables the set_decorations command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-decorations"
+ ]
+ },
+ {
+ "description": "window:allow-set-effects -> Enables the set_effects command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-effects"
+ ]
+ },
+ {
+ "description": "window:allow-set-focus -> Enables the set_focus command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-focus"
+ ]
+ },
+ {
+ "description": "window:allow-set-fullscreen -> Enables the set_fullscreen command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-fullscreen"
+ ]
+ },
+ {
+ "description": "window:allow-set-icon -> Enables the set_icon command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-icon"
+ ]
+ },
+ {
+ "description": "window:allow-set-ignore-cursor-events -> Enables the set_ignore_cursor_events command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-ignore-cursor-events"
+ ]
+ },
+ {
+ "description": "window:allow-set-max-size -> Enables the set_max_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-max-size"
+ ]
+ },
+ {
+ "description": "window:allow-set-maximizable -> Enables the set_maximizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-maximizable"
+ ]
+ },
+ {
+ "description": "window:allow-set-min-size -> Enables the set_min_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-min-size"
+ ]
+ },
+ {
+ "description": "window:allow-set-minimizable -> Enables the set_minimizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-minimizable"
+ ]
+ },
+ {
+ "description": "window:allow-set-position -> Enables the set_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-position"
+ ]
+ },
+ {
+ "description": "window:allow-set-progress-bar -> Enables the set_progress_bar command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-progress-bar"
+ ]
+ },
+ {
+ "description": "window:allow-set-resizable -> Enables the set_resizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-resizable"
+ ]
+ },
+ {
+ "description": "window:allow-set-shadow -> Enables the set_shadow command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-shadow"
+ ]
+ },
+ {
+ "description": "window:allow-set-size -> Enables the set_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-size"
+ ]
+ },
+ {
+ "description": "window:allow-set-skip-taskbar -> Enables the set_skip_taskbar command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-skip-taskbar"
+ ]
+ },
+ {
+ "description": "window:allow-set-title -> Enables the set_title command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-title"
+ ]
+ },
+ {
+ "description": "window:allow-set-visible-on-all-workspaces -> Enables the set_visible_on_all_workspaces command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-set-visible-on-all-workspaces"
+ ]
+ },
+ {
+ "description": "window:allow-show -> Enables the show command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-show"
+ ]
+ },
+ {
+ "description": "window:allow-start-dragging -> Enables the start_dragging command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-start-dragging"
+ ]
+ },
+ {
+ "description": "window:allow-start-resize-dragging -> Enables the start_resize_dragging command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-start-resize-dragging"
+ ]
+ },
+ {
+ "description": "window:allow-theme -> Enables the theme command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-theme"
+ ]
+ },
+ {
+ "description": "window:allow-title -> Enables the title command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-title"
+ ]
+ },
+ {
+ "description": "window:allow-toggle-maximize -> Enables the toggle_maximize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-toggle-maximize"
+ ]
+ },
+ {
+ "description": "window:allow-unmaximize -> Enables the unmaximize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-unmaximize"
+ ]
+ },
+ {
+ "description": "window:allow-unminimize -> Enables the unminimize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:allow-unminimize"
+ ]
+ },
+ {
+ "description": "window:deny-available-monitors -> Denies the available_monitors command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-available-monitors"
+ ]
+ },
+ {
+ "description": "window:deny-center -> Denies the center command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-center"
+ ]
+ },
+ {
+ "description": "window:deny-close -> Denies the close command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-close"
+ ]
+ },
+ {
+ "description": "window:deny-create -> Denies the create command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-create"
+ ]
+ },
+ {
+ "description": "window:deny-current-monitor -> Denies the current_monitor command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-current-monitor"
+ ]
+ },
+ {
+ "description": "window:deny-cursor-position -> Denies the cursor_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-cursor-position"
+ ]
+ },
+ {
+ "description": "window:deny-destroy -> Denies the destroy command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-destroy"
+ ]
+ },
+ {
+ "description": "window:deny-hide -> Denies the hide command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-hide"
+ ]
+ },
+ {
+ "description": "window:deny-inner-position -> Denies the inner_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-inner-position"
+ ]
+ },
+ {
+ "description": "window:deny-inner-size -> Denies the inner_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-inner-size"
+ ]
+ },
+ {
+ "description": "window:deny-internal-toggle-maximize -> Denies the internal_toggle_maximize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-internal-toggle-maximize"
+ ]
+ },
+ {
+ "description": "window:deny-is-closable -> Denies the is_closable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-closable"
+ ]
+ },
+ {
+ "description": "window:deny-is-decorated -> Denies the is_decorated command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-decorated"
+ ]
+ },
+ {
+ "description": "window:deny-is-focused -> Denies the is_focused command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-focused"
+ ]
+ },
+ {
+ "description": "window:deny-is-fullscreen -> Denies the is_fullscreen command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-fullscreen"
+ ]
+ },
+ {
+ "description": "window:deny-is-maximizable -> Denies the is_maximizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-maximizable"
+ ]
+ },
+ {
+ "description": "window:deny-is-maximized -> Denies the is_maximized command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-maximized"
+ ]
+ },
+ {
+ "description": "window:deny-is-minimizable -> Denies the is_minimizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-minimizable"
+ ]
+ },
+ {
+ "description": "window:deny-is-minimized -> Denies the is_minimized command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-minimized"
+ ]
+ },
+ {
+ "description": "window:deny-is-resizable -> Denies the is_resizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-resizable"
+ ]
+ },
+ {
+ "description": "window:deny-is-visible -> Denies the is_visible command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-is-visible"
+ ]
+ },
+ {
+ "description": "window:deny-maximize -> Denies the maximize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-maximize"
+ ]
+ },
+ {
+ "description": "window:deny-minimize -> Denies the minimize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-minimize"
+ ]
+ },
+ {
+ "description": "window:deny-monitor-from-point -> Denies the monitor_from_point command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-monitor-from-point"
+ ]
+ },
+ {
+ "description": "window:deny-outer-position -> Denies the outer_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-outer-position"
+ ]
+ },
+ {
+ "description": "window:deny-outer-size -> Denies the outer_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-outer-size"
+ ]
+ },
+ {
+ "description": "window:deny-primary-monitor -> Denies the primary_monitor command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-primary-monitor"
+ ]
+ },
+ {
+ "description": "window:deny-request-user-attention -> Denies the request_user_attention command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-request-user-attention"
+ ]
+ },
+ {
+ "description": "window:deny-scale-factor -> Denies the scale_factor command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-scale-factor"
+ ]
+ },
+ {
+ "description": "window:deny-set-always-on-bottom -> Denies the set_always_on_bottom command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-always-on-bottom"
+ ]
+ },
+ {
+ "description": "window:deny-set-always-on-top -> Denies the set_always_on_top command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-always-on-top"
+ ]
+ },
+ {
+ "description": "window:deny-set-closable -> Denies the set_closable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-closable"
+ ]
+ },
+ {
+ "description": "window:deny-set-content-protected -> Denies the set_content_protected command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-content-protected"
+ ]
+ },
+ {
+ "description": "window:deny-set-cursor-grab -> Denies the set_cursor_grab command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-cursor-grab"
+ ]
+ },
+ {
+ "description": "window:deny-set-cursor-icon -> Denies the set_cursor_icon command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-cursor-icon"
+ ]
+ },
+ {
+ "description": "window:deny-set-cursor-position -> Denies the set_cursor_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-cursor-position"
+ ]
+ },
+ {
+ "description": "window:deny-set-cursor-visible -> Denies the set_cursor_visible command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-cursor-visible"
+ ]
+ },
+ {
+ "description": "window:deny-set-decorations -> Denies the set_decorations command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-decorations"
+ ]
+ },
+ {
+ "description": "window:deny-set-effects -> Denies the set_effects command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-effects"
+ ]
+ },
+ {
+ "description": "window:deny-set-focus -> Denies the set_focus command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-focus"
+ ]
+ },
+ {
+ "description": "window:deny-set-fullscreen -> Denies the set_fullscreen command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-fullscreen"
+ ]
+ },
+ {
+ "description": "window:deny-set-icon -> Denies the set_icon command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-icon"
+ ]
+ },
+ {
+ "description": "window:deny-set-ignore-cursor-events -> Denies the set_ignore_cursor_events command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-ignore-cursor-events"
+ ]
+ },
+ {
+ "description": "window:deny-set-max-size -> Denies the set_max_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-max-size"
+ ]
+ },
+ {
+ "description": "window:deny-set-maximizable -> Denies the set_maximizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-maximizable"
+ ]
+ },
+ {
+ "description": "window:deny-set-min-size -> Denies the set_min_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-min-size"
+ ]
+ },
+ {
+ "description": "window:deny-set-minimizable -> Denies the set_minimizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-minimizable"
+ ]
+ },
+ {
+ "description": "window:deny-set-position -> Denies the set_position command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-position"
+ ]
+ },
+ {
+ "description": "window:deny-set-progress-bar -> Denies the set_progress_bar command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-progress-bar"
+ ]
+ },
+ {
+ "description": "window:deny-set-resizable -> Denies the set_resizable command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-resizable"
+ ]
+ },
+ {
+ "description": "window:deny-set-shadow -> Denies the set_shadow command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-shadow"
+ ]
+ },
+ {
+ "description": "window:deny-set-size -> Denies the set_size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-size"
+ ]
+ },
+ {
+ "description": "window:deny-set-skip-taskbar -> Denies the set_skip_taskbar command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-skip-taskbar"
+ ]
+ },
+ {
+ "description": "window:deny-set-title -> Denies the set_title command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-title"
+ ]
+ },
+ {
+ "description": "window:deny-set-visible-on-all-workspaces -> Denies the set_visible_on_all_workspaces command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-set-visible-on-all-workspaces"
+ ]
+ },
+ {
+ "description": "window:deny-show -> Denies the show command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-show"
+ ]
+ },
+ {
+ "description": "window:deny-start-dragging -> Denies the start_dragging command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-start-dragging"
+ ]
+ },
+ {
+ "description": "window:deny-start-resize-dragging -> Denies the start_resize_dragging command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-start-resize-dragging"
+ ]
+ },
+ {
+ "description": "window:deny-theme -> Denies the theme command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-theme"
+ ]
+ },
+ {
+ "description": "window:deny-title -> Denies the title command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-title"
+ ]
+ },
+ {
+ "description": "window:deny-toggle-maximize -> Denies the toggle_maximize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-toggle-maximize"
+ ]
+ },
+ {
+ "description": "window:deny-unmaximize -> Denies the unmaximize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-unmaximize"
+ ]
+ },
+ {
+ "description": "window:deny-unminimize -> Denies the unminimize command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window:deny-unminimize"
+ ]
+ },
+ {
+ "type": "string",
+ "enum": [
+ "window-state:default"
+ ]
+ },
+ {
+ "description": "window-state:allow-filename -> Enables the filename command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window-state:allow-filename"
+ ]
+ },
+ {
+ "description": "window-state:allow-restore-state -> Enables the restore_state command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window-state:allow-restore-state"
+ ]
+ },
+ {
+ "description": "window-state:allow-save-window-state -> Enables the save_window_state command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window-state:allow-save-window-state"
+ ]
+ },
+ {
+ "description": "window-state:deny-filename -> Denies the filename command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window-state:deny-filename"
+ ]
+ },
+ {
+ "description": "window-state:deny-restore-state -> Denies the restore_state command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "window-state:deny-restore-state"
+ ]
+ },
+ {
+ "description": "window-state:deny-save-window-state -> Denies the save_window_state command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "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": {
+ "validator": {
+ "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax",
+ "type": "string"
+ }
+ },
+ "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/src-tauri/migrations/20240522031045_theme-settings.sql b/src-tauri/migrations/20240522031045_theme-settings.sql
new file mode 100644
index 00000000..57c51e23
--- /dev/null
+++ b/src-tauri/migrations/20240522031045_theme-settings.sql
@@ -0,0 +1,4 @@
+ALTER TABLE settings
+ ADD COLUMN theme_dark TEXT DEFAULT 'yaak-dark' NOT NULL;
+ALTER TABLE settings
+ ADD COLUMN theme_light TEXT DEFAULT 'yaak-light' NOT NULL;
diff --git a/src-tauri/migrations/20240529143147_more-settings.sql b/src-tauri/migrations/20240529143147_more-settings.sql
new file mode 100644
index 00000000..70c247a9
--- /dev/null
+++ b/src-tauri/migrations/20240529143147_more-settings.sql
@@ -0,0 +1,4 @@
+ALTER TABLE settings ADD COLUMN interface_font_size INTEGER DEFAULT 15 NOT NULL;
+ALTER TABLE settings ADD COLUMN interface_scale INTEGER DEFAULT 1 NOT NULL;
+ALTER TABLE settings ADD COLUMN editor_font_size INTEGER DEFAULT 13 NOT NULL;
+ALTER TABLE settings ADD COLUMN editor_soft_wrap BOOLEAN DEFAULT 1 NOT NULL;
diff --git a/src-tauri/plugins/importer-postman/index.mjs b/src-tauri/plugins/importer-postman/index.mjs
index fd6d58c9..0e813e99 100644
--- a/src-tauri/plugins/importer-postman/index.mjs
+++ b/src-tauri/plugins/importer-postman/index.mjs
@@ -131,6 +131,7 @@ function j(e) {
form: b(t.formdata).map(
(n) => n.src != null ? {
enabled: !n.disabled,
+ contentType: n.contentType ?? null,
name: n.key ?? "",
file: n.src ?? ""
} : {
diff --git a/src-tauri/src/analytics.rs b/src-tauri/src/analytics.rs
index 1d19741b..e944c3bd 100644
--- a/src-tauri/src/analytics.rs
+++ b/src-tauri/src/analytics.rs
@@ -1,6 +1,6 @@
use std::fmt::Display;
-use log::warn;
+use log::{debug, warn};
use serde::{Deserialize, Serialize};
use serde_json::json;
use sqlx::types::JsonValue;
@@ -19,6 +19,7 @@ const NUM_LAUNCHES_KEY: &str = "num_launches";
#[serde(rename_all = "snake_case")]
pub enum AnalyticsResource {
App,
+ Appearance,
CookieJar,
Dialog,
Environment,
@@ -29,9 +30,10 @@ pub enum AnalyticsResource {
HttpRequest,
HttpResponse,
KeyValue,
- Sidebar,
- Workspace,
Setting,
+ Sidebar,
+ Theme,
+ Workspace,
}
impl AnalyticsResource {
@@ -187,7 +189,7 @@ pub async fn track_event(
// Disable analytics actual sending in dev
if is_dev() {
- // debug!("track: {} {} {:?}", event, attributes_json, params);
+ debug!("track: {}", event);
return;
}
@@ -247,4 +249,4 @@ async fn get_id(app_handle: &AppHandle) -> String {
pub async fn get_num_launches(app: &AppHandle) -> i32 {
get_key_value_int(app, NAMESPACE, NUM_LAUNCHES_KEY, 0).await
-}
\ No newline at end of file
+}
diff --git a/src-tauri/src/http.rs b/src-tauri/src/http_request.rs
similarity index 93%
rename from src-tauri/src/http.rs
rename to src-tauri/src/http_request.rs
index 88976218..23d25fb3 100644
--- a/src-tauri/src/http.rs
+++ b/src-tauri/src/http_request.rs
@@ -7,11 +7,11 @@ use std::sync::Arc;
use std::time::Duration;
use base64::Engine;
-use http::{HeaderMap, HeaderName, HeaderValue, Method};
use http::header::{ACCEPT, USER_AGENT};
+use http::{HeaderMap, HeaderName, HeaderValue, Method};
use log::{error, info, warn};
-use reqwest::{multipart, Url};
use reqwest::redirect::Policy;
+use reqwest::{multipart, Url};
use sqlx::types::{Json, JsonValue};
use tauri::{Manager, WebviewWindow};
use tokio::sync::oneshot;
@@ -89,14 +89,24 @@ pub async fn send_http_request(
let uri = match http::Uri::from_str(url_string.as_str()) {
Ok(u) => u,
Err(e) => {
- return response_err(response, e.to_string(), window).await;
+ return response_err(
+ response,
+ format!("Failed to parse URL \"{}\": {}", url_string, e.to_string()),
+ window,
+ )
+ .await;
}
};
// Yes, we're parsing both URI and URL because they could return different errors
let url = match Url::from_str(uri.to_string().as_str()) {
Ok(u) => u,
Err(e) => {
- return response_err(response, e.to_string(), window).await;
+ return response_err(
+ response,
+ format!("Failed to parse URL \"{}\": {}", url_string, e.to_string()),
+ window,
+ )
+ .await;
}
};
@@ -290,7 +300,7 @@ pub async fn send_http_request(
.unwrap_or_default();
let name = render::render(name_raw, &workspace, environment_ref);
- let part = if file_path.is_empty() {
+ let mut part = if file_path.is_empty() {
multipart::Part::text(render::render(
value_raw,
&workspace,
@@ -311,23 +321,24 @@ pub async fn send_http_request(
.as_str()
.unwrap_or_default();
- multipart_form = multipart_form.part(
- name,
- if ct_raw.is_empty() {
- part
- } else {
- let content_type = render::render(ct_raw, &workspace, environment_ref);
- let filename = PathBuf::from(file_path)
- .file_name()
- .unwrap_or_default()
- .to_str()
- .unwrap_or_default()
- .to_string();
- part.file_name(filename)
- .mime_str(content_type.as_str())
- .map_err(|e| e.to_string())?
- },
- );
+ if !ct_raw.is_empty() {
+ let content_type = render::render(ct_raw, &workspace, environment_ref);
+ part = part
+ .mime_str(content_type.as_str())
+ .map_err(|e| e.to_string())?;
+ }
+
+ if !file_path.is_empty() {
+ let filename = PathBuf::from(file_path)
+ .file_name()
+ .unwrap_or_default()
+ .to_str()
+ .unwrap_or_default()
+ .to_string();
+ part = part.file_name(filename);
+ }
+
+ multipart_form = multipart_form.part(name, part);
}
}
headers.remove("Content-Type"); // reqwest will add this automatically
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs
index bec94c40..1bc5203e 100644
--- a/src-tauri/src/lib.rs
+++ b/src-tauri/src/lib.rs
@@ -6,72 +6,77 @@ extern crate objc;
use std::collections::HashMap;
use std::env::current_dir;
use std::fs;
-use std::fs::{create_dir_all, File, read_to_string};
+use std::fs::{create_dir_all, read_to_string, File};
use std::path::PathBuf;
use std::process::exit;
use std::str::FromStr;
use std::time::Duration;
-use ::http::Uri;
use ::http::uri::InvalidUri;
+use ::http::Uri;
use base64::Engine;
use fern::colors::ColoredLevelConfig;
use log::{debug, error, info, warn};
use rand::random;
use serde_json::{json, Value};
-use sqlx::{Pool, Sqlite, SqlitePool};
use sqlx::migrate::Migrator;
use sqlx::sqlite::SqliteConnectOptions;
use sqlx::types::Json;
-use tauri::{AppHandle, RunEvent, State, WebviewUrl, WebviewWindow};
-use tauri::{Manager, WindowEvent};
+use sqlx::{Pool, Sqlite, SqlitePool};
use tauri::path::BaseDirectory;
#[cfg(target_os = "macos")]
use tauri::TitleBarStyle;
+use tauri::{AppHandle, LogicalSize, RunEvent, State, WebviewUrl, WebviewWindow};
+use tauri::{Manager, WindowEvent};
use tauri_plugin_log::{fern, Target, TargetKind};
use tauri_plugin_shell::ShellExt;
use tokio::sync::Mutex;
-use ::grpc::{Code, deserialize_message, serialize_message, ServiceDefinition};
use ::grpc::manager::{DynamicMessage, GrpcHandle};
-use window_ext::TrafficLightWindowExt;
+use ::grpc::{deserialize_message, serialize_message, Code, ServiceDefinition};
use crate::analytics::{AnalyticsAction, AnalyticsResource};
use crate::grpc::metadata_to_map;
-use crate::http::send_http_request;
+use crate::http_request::send_http_request;
use crate::models::{
- cancel_pending_grpc_connections, cancel_pending_responses, CookieJar,
- create_http_response, delete_all_grpc_connections, delete_all_http_responses, delete_cookie_jar,
- delete_environment, delete_folder, delete_grpc_connection, delete_grpc_request,
- delete_http_request, delete_http_response, delete_workspace, duplicate_grpc_request,
- duplicate_http_request, Environment, EnvironmentVariable, Folder, generate_model_id,
- get_cookie_jar, get_environment, get_folder, get_grpc_connection,
+ cancel_pending_grpc_connections, cancel_pending_responses, create_http_response,
+ delete_all_grpc_connections, delete_all_http_responses, delete_cookie_jar, delete_environment,
+ delete_folder, delete_grpc_connection, delete_grpc_request, delete_http_request,
+ delete_http_response, delete_workspace, duplicate_grpc_request, duplicate_http_request,
+ generate_model_id, get_cookie_jar, get_environment, get_folder, get_grpc_connection,
get_grpc_request, get_http_request, get_http_response, get_key_value_raw,
- get_or_create_settings, get_workspace, get_workspace_export_resources, GrpcConnection, GrpcEvent,
- GrpcEventType, GrpcRequest, HttpRequest, HttpResponse,
- KeyValue, list_cookie_jars, list_environments, list_folders, list_grpc_connections,
- list_grpc_events, list_grpc_requests, list_http_requests, list_responses, list_workspaces,
- ModelType, set_key_value_raw, Settings, update_response_if_id, update_settings, upsert_cookie_jar,
- upsert_environment, upsert_folder, upsert_grpc_connection, upsert_grpc_event, upsert_grpc_request, upsert_http_request, upsert_workspace,
- Workspace, WorkspaceExportResources,
+ get_or_create_settings, get_workspace, get_workspace_export_resources, list_cookie_jars,
+ list_environments, list_folders, list_grpc_connections, list_grpc_events, list_grpc_requests,
+ list_http_requests, list_responses, list_workspaces, set_key_value_raw, update_response_if_id,
+ update_settings, upsert_cookie_jar, upsert_environment, upsert_folder, upsert_grpc_connection,
+ upsert_grpc_event, upsert_grpc_request, upsert_http_request, upsert_workspace, CookieJar,
+ Environment, EnvironmentVariable, Folder, GrpcConnection, GrpcEvent, GrpcEventType,
+ GrpcRequest, HttpRequest, HttpResponse, KeyValue, ModelType, Settings, Workspace,
+ WorkspaceExportResources,
};
use crate::notifications::YaakNotifier;
-use crate::plugin::{ImportResult, run_plugin_export_curl, run_plugin_import};
+use crate::plugin::{run_plugin_export_curl, run_plugin_import, ImportResult};
use crate::render::render_request;
use crate::updates::{UpdateMode, YaakUpdater};
use crate::window_menu::app_menu;
mod analytics;
mod grpc;
-mod http;
+mod http_request;
mod models;
mod notifications;
mod plugin;
mod render;
+#[cfg(target_os = "macos")]
+mod tauri_plugin_mac_window;
+#[cfg(target_os = "windows")]
+mod tauri_plugin_windows_window;
mod updates;
-mod window_ext;
mod window_menu;
+const DEFAULT_WINDOW_WIDTH: f64 = 1100.0;
+const DEFAULT_WINDOW_HEIGHT: f64 = 600.0;
+
async fn migrate_db(app_handle: &AppHandle, db: &Mutex>) -> Result<(), String> {
let pool = &*db.lock().await;
let p = app_handle
@@ -747,16 +752,16 @@ async fn cmd_import_data(
) -> Result {
let mut result: Option = None;
let plugins = vec![
- "importer-yaak",
- "importer-insomnia",
"importer-postman",
+ "importer-insomnia",
+ "importer-yaak",
"importer-curl",
];
- let file = fs::read_to_string(file_path)
+ let file = read_to_string(file_path)
.unwrap_or_else(|_| panic!("Unable to read file {}", file_path));
let file_contents = file.as_str();
for plugin_name in plugins {
- let v = plugin::run_plugin_import(&w.app_handle(), plugin_name, file_contents)
+ let v = run_plugin_import(&w.app_handle(), plugin_name, file_contents)
.await
.map_err(|e| e.to_string())?;
if let Some(r) = v {
@@ -1290,6 +1295,15 @@ async fn cmd_update_folder(folder: Folder, w: WebviewWindow) -> Result Result<(), String> {
+ if !is_dev() {
+ panic!("Cannot write arbitrary files when not in dev mode");
+ }
+
+ fs::write(pathname, contents).map_err(|e| e.to_string())
+}
+
#[tauri::command]
async fn cmd_delete_folder(w: WebviewWindow, folder_id: &str) -> Result {
delete_folder(&w, folder_id)
@@ -1491,8 +1505,19 @@ async fn cmd_list_workspaces(w: WebviewWindow) -> Result, String>
}
#[tauri::command]
-async fn cmd_new_window(window: WebviewWindow, url: &str) -> Result<(), String> {
- create_window(&window.app_handle(), Some(url));
+async fn cmd_new_window(app_handle: AppHandle, url: &str) -> Result<(), String> {
+ create_window(&app_handle, url);
+ Ok(())
+}
+
+#[tauri::command]
+async fn cmd_new_nested_window(
+ window: WebviewWindow,
+ url: &str,
+ label: &str,
+ title: &str,
+) -> Result<(), String> {
+ create_nested_window(&window, label, url, title);
Ok(())
}
@@ -1519,14 +1544,31 @@ async fn cmd_check_for_updates(
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
- tauri::Builder::default()
+ let mut builder = tauri::Builder::default()
.plugin(tauri_plugin_clipboard_manager::init())
.plugin(tauri_plugin_window_state::Builder::default().build())
.plugin(tauri_plugin_shell::init())
.plugin(tauri_plugin_updater::Builder::new().build())
.plugin(tauri_plugin_dialog::init())
.plugin(tauri_plugin_os::init())
- .plugin(tauri_plugin_fs::init())
+ .plugin(tauri_plugin_fs::init());
+
+ #[cfg(target_os = "windows")]
+ {
+ builder = builder.plugin(tauri_plugin_windows_window::init());
+ }
+
+ #[cfg(target_os = "macos")]
+ {
+ builder = builder.plugin(tauri_plugin_mac_window::init());
+ }
+
+ #[cfg(target_os = "linux")]
+ {
+ builder = builder; // Don't complain about not being mut
+ }
+
+ builder
.plugin(
tauri_plugin_log::Builder::default()
.targets([
@@ -1652,6 +1694,7 @@ pub fn run() {
cmd_list_http_responses,
cmd_list_workspaces,
cmd_metadata,
+ cmd_new_nested_window,
cmd_new_window,
cmd_request_to_curl,
cmd_dismiss_notification,
@@ -1667,13 +1710,20 @@ pub fn run() {
cmd_update_http_request,
cmd_update_settings,
cmd_update_workspace,
+ cmd_write_file_dev,
])
+ .register_uri_scheme_protocol("yaak", |_app, _req| {
+ debug!("Testing yaak protocol");
+ tauri::http::Response::builder()
+ .body("Success".as_bytes().to_vec())
+ .unwrap()
+ })
.build(tauri::generate_context!())
.expect("error while running tauri application")
.run(|app_handle, event| {
match event {
RunEvent::Ready => {
- create_window(app_handle, None);
+ create_window(app_handle, "/");
let h = app_handle.clone();
tauri::async_runtime::spawn(async move {
let info = analytics::track_launch_event(&h).await;
@@ -1719,36 +1769,30 @@ fn is_dev() -> bool {
}
}
-fn create_window(handle: &AppHandle, url: Option<&str>) -> WebviewWindow {
- let menu = app_menu(handle).unwrap();
-
- // This causes the window to not be clickable (in AppImage), so disable on Linux
- #[cfg(not(target_os = "linux"))]
- handle.set_menu(menu).expect("Failed to set app menu");
-
- let window_num = handle.webview_windows().len();
- let window_id = format!("wnd_{}", window_num);
+fn create_nested_window(
+ window: &WebviewWindow,
+ label: &str,
+ url: &str,
+ title: &str,
+) -> WebviewWindow {
+ info!("Create new nested window label={label}");
let mut win_builder = tauri::WebviewWindowBuilder::new(
- handle,
- window_id,
- WebviewUrl::App(url.unwrap_or_default().into()),
+ window,
+ format!("nested_{}_{}", window.label(), label),
+ WebviewUrl::App(url.into()),
)
.resizable(true)
.fullscreen(false)
.disable_drag_drop_handler() // Required for frontend Dnd on windows
- .inner_size(1100.0, 600.0)
- .position(
- // Randomly offset so windows don't stack exactly
- 100.0 + random::() * 30.0,
- 100.0 + random::() * 30.0,
- )
- .title(handle.package_info().name.to_string());
+ .title(title)
+ .parent(&window)
+ .unwrap()
+ .inner_size(DEFAULT_WINDOW_WIDTH * 0.7, DEFAULT_WINDOW_HEIGHT * 0.9);
// Add macOS-only things
#[cfg(target_os = "macos")]
{
win_builder = win_builder
- // .menu(app_menu)
.hidden_title(true)
.title_bar_style(TitleBarStyle::Overlay);
}
@@ -1756,17 +1800,56 @@ fn create_window(handle: &AppHandle, url: Option<&str>) -> WebviewWindow {
// Add non-MacOS things
#[cfg(not(target_os = "macos"))]
{
- // Doesn't seem to work from Rust, here, so we do it in JS
win_builder = win_builder.decorations(false);
}
let win = win_builder.build().expect("failed to build window");
- // Tauri doesn't support shadows when hiding decorations, so we add our own
- // #[cfg(any(windows, target_os = "macos"))]
- // set_shadow(&win, true).unwrap();
+ win
+}
- let win2 = win.clone();
+fn create_window(handle: &AppHandle, url: &str) -> WebviewWindow {
+ #[allow(unused_variables)]
+ let menu = app_menu(handle).unwrap();
+
+ // This causes the window to not be clickable (in AppImage), so disable on Linux
+ #[cfg(not(target_os = "linux"))]
+ handle.set_menu(menu).expect("Failed to set app menu");
+
+ let window_num = handle.webview_windows().len();
+ let label = format!("main_{}", window_num);
+ info!("Create new window label={label}");
+ let mut win_builder =
+ tauri::WebviewWindowBuilder::new(handle, label, WebviewUrl::App(url.into()))
+ .resizable(true)
+ .fullscreen(false)
+ .disable_drag_drop_handler() // Required for frontend Dnd on windows
+ .inner_size(DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT)
+ .position(
+ // Randomly offset so windows don't stack exactly
+ 100.0 + random::() * 30.0,
+ 100.0 + random::() * 30.0,
+ )
+ .title(handle.package_info().name.to_string());
+
+ // Add macOS-only things
+ #[cfg(target_os = "macos")]
+ {
+ win_builder = win_builder
+ .hidden_title(true)
+ .title_bar_style(TitleBarStyle::Overlay);
+ }
+
+ // Add non-MacOS things
+ #[cfg(not(target_os = "macos"))]
+ {
+ // Doesn't seem to work from Rust, here, so we do it in main.tsx
+ win_builder = win_builder.decorations(false);
+ }
+
+ let win = win_builder.build().expect("failed to build window");
+
+ let webview_window = win.clone();
win.on_menu_event(move |w, event| {
if !w.is_focused().unwrap() {
return;
@@ -1775,48 +1858,39 @@ fn create_window(handle: &AppHandle, url: Option<&str>) -> WebviewWindow {
match event.id().0.as_str() {
"quit" => exit(0),
"close" => w.close().unwrap(),
- "zoom_reset" => w.emit("zoom", 0).unwrap(),
- "zoom_in" => w.emit("zoom", 1).unwrap(),
- "zoom_out" => w.emit("zoom", -1).unwrap(),
+ "zoom_reset" => w.emit("zoom_reset", true).unwrap(),
+ "zoom_in" => w.emit("zoom_in", true).unwrap(),
+ "zoom_out" => w.emit("zoom_out", true).unwrap(),
"settings" => w.emit("settings", true).unwrap(),
- "duplicate_request" => w.emit("duplicate_request", true).unwrap(),
- "refresh" => win2.eval("location.reload()").unwrap(),
"open_feedback" => {
- _ = win2
+ _ = webview_window
.app_handle()
.shell()
.open("https://yaak.canny.io", None)
}
- "toggle_devtools" => {
- if win2.is_devtools_open() {
- win2.close_devtools();
+
+ // Commands for development
+ "dev.reset_size" => webview_window
+ .set_size(LogicalSize::new(
+ DEFAULT_WINDOW_WIDTH,
+ DEFAULT_WINDOW_HEIGHT,
+ ))
+ .unwrap(),
+ "dev.refresh" => webview_window.eval("location.reload()").unwrap(),
+ "dev.generate_theme_css" => {
+ w.emit("generate_theme_css", true).unwrap();
+ }
+ "dev.toggle_devtools" => {
+ if webview_window.is_devtools_open() {
+ webview_window.close_devtools();
} else {
- win2.open_devtools();
+ webview_window.open_devtools();
}
}
_ => {}
}
});
- let win3 = win.clone();
- win.on_window_event(move |e| {
- let apply_offset = || {
- win3.position_traffic_lights();
- };
-
- match e {
- WindowEvent::Resized(..) => apply_offset(),
- WindowEvent::ThemeChanged(..) => apply_offset(),
- WindowEvent::Focused(..) => apply_offset(),
- WindowEvent::ScaleFactorChanged { .. } => apply_offset(),
- WindowEvent::CloseRequested { .. } => {
- // api.prevent_close();
- }
- _ => {}
- }
- });
-
- win.position_traffic_lights();
win
}
diff --git a/src-tauri/src/models.rs b/src-tauri/src/models.rs
index fcaf4409..2982526f 100644
--- a/src-tauri/src/models.rs
+++ b/src-tauri/src/models.rs
@@ -52,7 +52,13 @@ pub struct Settings {
pub updated_at: NaiveDateTime,
pub theme: String,
pub appearance: String,
+ pub theme_dark: String,
+ pub theme_light: String,
pub update_channel: String,
+ pub interface_font_size: i64,
+ pub interface_scale: i64,
+ pub editor_font_size: i64,
+ pub editor_soft_wrap: bool,
}
#[derive(sqlx::FromRow, Debug, Clone, Serialize, Deserialize, Default)]
@@ -883,7 +889,9 @@ async fn get_settings(mgr: &impl Manager) -> Result
Settings,
r#"
SELECT
- id, model, created_at, updated_at, theme, appearance, update_channel
+ id, model, created_at, updated_at, theme, appearance,
+ theme_dark, theme_light, update_channel,
+ interface_font_size, interface_scale, editor_font_size, editor_soft_wrap
FROM settings
WHERE id = 'default'
"#,
@@ -919,12 +927,19 @@ pub async fn update_settings(
sqlx::query!(
r#"
UPDATE settings SET (
- theme, appearance, update_channel
- ) = (?, ?, ?) WHERE id = 'default';
+ theme, appearance, theme_dark, theme_light, update_channel,
+ interface_font_size, interface_scale, editor_font_size, editor_soft_wrap
+ ) = (?, ?, ?, ?, ?, ?, ?, ?, ?) WHERE id = 'default';
"#,
settings.theme,
settings.appearance,
- settings.update_channel
+ settings.theme_dark,
+ settings.theme_light,
+ settings.update_channel,
+ settings.interface_font_size,
+ settings.interface_scale,
+ settings.editor_font_size,
+ settings.editor_soft_wrap,
)
.execute(&db)
.await?;
diff --git a/src-tauri/src/plugin.rs b/src-tauri/src/plugin.rs
index c55ac836..1fd56d14 100644
--- a/src-tauri/src/plugin.rs
+++ b/src-tauri/src/plugin.rs
@@ -1,16 +1,16 @@
use std::rc::Rc;
-use boa_engine::{
- Context, js_string, JsNativeError, JsValue, Module, module::SimpleModuleLoader,
- property::Attribute, Source,
-};
use boa_engine::builtins::promise::PromiseState;
+use boa_engine::{
+ js_string, module::SimpleModuleLoader, property::Attribute, Context, JsNativeError, JsValue,
+ Module, Source,
+};
use boa_runtime::Console;
use log::{debug, error};
use serde::{Deserialize, Serialize};
use serde_json::json;
-use tauri::{AppHandle, Manager};
use tauri::path::BaseDirectory;
+use tauri::{AppHandle, Manager};
use crate::models::{HttpRequest, WorkspaceExportResources};
diff --git a/src-tauri/src/tauri_plugin_mac_window.rs b/src-tauri/src/tauri_plugin_mac_window.rs
new file mode 100644
index 00000000..3cfbd439
--- /dev/null
+++ b/src-tauri/src/tauri_plugin_mac_window.rs
@@ -0,0 +1,450 @@
+use hex_color::HexColor;
+use objc::{msg_send, sel, sel_impl};
+use rand::{distributions::Alphanumeric, Rng};
+use tauri::{
+ plugin::{Builder, TauriPlugin},
+ Manager, Runtime, Window, WindowEvent,
+};
+
+const WINDOW_CONTROL_PAD_X: f64 = 13.0;
+const WINDOW_CONTROL_PAD_Y: f64 = 18.0;
+
+struct UnsafeWindowHandle(*mut std::ffi::c_void);
+
+unsafe impl Send for UnsafeWindowHandle {}
+
+unsafe impl Sync for UnsafeWindowHandle {}
+
+pub fn init() -> TauriPlugin {
+ Builder::new("mac_window")
+ .on_window_ready(|window| {
+ #[cfg(target_os = "macos")]
+ {
+ setup_traffic_light_positioner(&window);
+ let h = window.app_handle();
+
+ let window_for_theme = window.clone();
+ let id1 = h.listen("yaak_bg_changed", move |ev| {
+ let payload = serde_json::from_str::<&str>(ev.payload()).unwrap().trim();
+ let color = HexColor::parse_rgb(payload).unwrap();
+ update_window_theme(window_for_theme.clone(), color);
+ });
+
+ let window_for_title = window.clone();
+ let id2 = h.listen("yaak_title_changed", move |ev| {
+ let payload = serde_json::from_str::<&str>(ev.payload()).unwrap().trim();
+ update_window_title(window_for_title.clone(), payload.to_string());
+ });
+
+ let h = h.clone();
+ window.on_window_event(move |e| {
+ match e {
+ WindowEvent::Destroyed => {
+ h.unlisten(id1);
+ h.unlisten(id2);
+ }
+ _ => {}
+ };
+ });
+ }
+ return;
+ })
+ .build()
+}
+
+#[cfg(target_os = "macos")]
+fn update_window_title(window: Window, title: String) {
+ use cocoa::{appkit::NSWindow, base::nil, foundation::NSString};
+
+ unsafe {
+ let window_handle = UnsafeWindowHandle(window.ns_window().unwrap());
+
+ let window2 = window.clone();
+ let label = window.label().to_string();
+ let _ = window.run_on_main_thread(move || {
+ let win_title = NSString::alloc(nil).init_str(&title);
+ let handle = window_handle;
+ NSWindow::setTitle_(handle.0 as cocoa::base::id, win_title);
+ position_traffic_lights(
+ UnsafeWindowHandle(window2.ns_window().expect("Failed to create window handle")),
+ WINDOW_CONTROL_PAD_X,
+ WINDOW_CONTROL_PAD_Y,
+ label,
+ );
+ });
+ }
+}
+
+#[cfg(target_os = "macos")]
+fn update_window_theme(window: Window, color: HexColor) {
+ use cocoa::appkit::{
+ NSAppearance, NSAppearanceNameVibrantDark, NSAppearanceNameVibrantLight, NSWindow,
+ };
+
+ let brightness = (color.r as u64 + color.g as u64 + color.b as u64) / 3;
+ let label = window.label().to_string();
+
+ unsafe {
+ let window_handle = UnsafeWindowHandle(window.ns_window().unwrap());
+ let window2 = window.clone();
+ let _ = window.run_on_main_thread(move || {
+ let handle = window_handle;
+
+ let selected_appearance = if brightness >= 128 {
+ NSAppearance(NSAppearanceNameVibrantLight)
+ } else {
+ NSAppearance(NSAppearanceNameVibrantDark)
+ };
+
+ NSWindow::setAppearance(handle.0 as cocoa::base::id, selected_appearance);
+ position_traffic_lights(
+ UnsafeWindowHandle(window2.ns_window().expect("Failed to create window handle")),
+ WINDOW_CONTROL_PAD_X,
+ WINDOW_CONTROL_PAD_Y,
+ label,
+ );
+ });
+ }
+}
+
+#[cfg(target_os = "macos")]
+fn position_traffic_lights(ns_window_handle: UnsafeWindowHandle, x: f64, y: f64, label: String) {
+ if label.starts_with("nested_") {
+ return;
+ }
+
+ use cocoa::appkit::{NSView, NSWindow, NSWindowButton};
+ use cocoa::foundation::NSRect;
+
+ let ns_window = ns_window_handle.0 as cocoa::base::id;
+ unsafe {
+ let close = ns_window.standardWindowButton_(NSWindowButton::NSWindowCloseButton);
+ let miniaturize =
+ ns_window.standardWindowButton_(NSWindowButton::NSWindowMiniaturizeButton);
+ let zoom = ns_window.standardWindowButton_(NSWindowButton::NSWindowZoomButton);
+
+ let title_bar_container_view = close.superview().superview();
+
+ let close_rect: NSRect = msg_send![close, frame];
+ let button_height = close_rect.size.height;
+
+ let title_bar_frame_height = button_height + y;
+ let mut title_bar_rect = NSView::frame(title_bar_container_view);
+ title_bar_rect.size.height = title_bar_frame_height;
+ title_bar_rect.origin.y = NSView::frame(ns_window).size.height - title_bar_frame_height;
+ let _: () = msg_send![title_bar_container_view, setFrame: title_bar_rect];
+
+ let window_buttons = vec![close, miniaturize, zoom];
+ let space_between = NSView::frame(miniaturize).origin.x - NSView::frame(close).origin.x;
+
+ for (i, button) in window_buttons.into_iter().enumerate() {
+ let mut rect: NSRect = NSView::frame(button);
+ rect.origin.x = x + (i as f64 * space_between);
+ button.setFrameOrigin(rect.origin);
+ }
+ }
+}
+
+#[cfg(target_os = "macos")]
+#[derive(Debug)]
+struct WindowState {
+ window: Window,
+}
+
+#[cfg(target_os = "macos")]
+pub fn setup_traffic_light_positioner(window: &Window) {
+ use cocoa::appkit::NSWindow;
+ use cocoa::base::{id, BOOL};
+ use cocoa::delegate;
+ use cocoa::foundation::NSUInteger;
+ use objc::runtime::{Object, Sel};
+ use std::ffi::c_void;
+
+ position_traffic_lights(
+ UnsafeWindowHandle(window.ns_window().expect("Failed to create window handle")),
+ WINDOW_CONTROL_PAD_X,
+ WINDOW_CONTROL_PAD_Y,
+ window.label().to_string(),
+ );
+
+ // Ensure they stay in place while resizing the window.
+ fn with_window_state) -> T, T>(
+ this: &Object,
+ func: F,
+ ) {
+ let ptr = unsafe {
+ let x: *mut c_void = *this.get_ivar("app_box");
+ &mut *(x as *mut WindowState)
+ };
+ func(ptr);
+ }
+
+ unsafe {
+ let ns_win = window
+ .ns_window()
+ .expect("NS Window should exist to mount traffic light delegate.")
+ as id;
+
+ let current_delegate: id = ns_win.delegate();
+
+ extern "C" fn on_window_should_close(this: &Object, _cmd: Sel, sender: id) -> BOOL {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, windowShouldClose: sender]
+ }
+ }
+ extern "C" fn on_window_will_close(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowWillClose: notification];
+ }
+ }
+ extern "C" fn on_window_did_resize(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ let id = state
+ .window
+ .ns_window()
+ .expect("NS window should exist on state to handle resize")
+ as id;
+
+ position_traffic_lights(
+ UnsafeWindowHandle(id as *mut c_void),
+ WINDOW_CONTROL_PAD_X,
+ WINDOW_CONTROL_PAD_Y,
+ state.window.label().to_string(),
+ );
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidResize: notification];
+ }
+ }
+ extern "C" fn on_window_did_move(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidMove: notification];
+ }
+ }
+ extern "C" fn on_window_did_change_backing_properties(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidChangeBackingProperties: notification];
+ }
+ }
+ extern "C" fn on_window_did_become_key(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidBecomeKey: notification];
+ }
+ }
+ extern "C" fn on_window_did_resign_key(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidResignKey: notification];
+ }
+ }
+ extern "C" fn on_dragging_entered(this: &Object, _cmd: Sel, notification: id) -> BOOL {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, draggingEntered: notification]
+ }
+ }
+ extern "C" fn on_prepare_for_drag_operation(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) -> BOOL {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, prepareForDragOperation: notification]
+ }
+ }
+ extern "C" fn on_perform_drag_operation(this: &Object, _cmd: Sel, sender: id) -> BOOL {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, performDragOperation: sender]
+ }
+ }
+ extern "C" fn on_conclude_drag_operation(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, concludeDragOperation: notification];
+ }
+ }
+ extern "C" fn on_dragging_exited(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, draggingExited: notification];
+ }
+ }
+ extern "C" fn on_window_will_use_full_screen_presentation_options(
+ this: &Object,
+ _cmd: Sel,
+ window: id,
+ proposed_options: NSUInteger,
+ ) -> NSUInteger {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, window: window willUseFullScreenPresentationOptions: proposed_options]
+ }
+ }
+ extern "C" fn on_window_did_enter_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ state
+ .window
+ .emit("did-enter-fullscreen", ())
+ .expect("Failed to emit event");
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidEnterFullScreen: notification];
+ }
+ }
+ extern "C" fn on_window_will_enter_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ state
+ .window
+ .emit("will-enter-fullscreen", ())
+ .expect("Failed to emit event");
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowWillEnterFullScreen: notification];
+ }
+ }
+ extern "C" fn on_window_did_exit_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ state
+ .window
+ .emit("did-exit-fullscreen", ())
+ .expect("Failed to emit event");
+
+ let id = state.window.ns_window().expect("Failed to emit event") as id;
+ position_traffic_lights(
+ UnsafeWindowHandle(id as *mut c_void),
+ WINDOW_CONTROL_PAD_X,
+ WINDOW_CONTROL_PAD_Y,
+ state.window.label().to_string(),
+ );
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidExitFullScreen: notification];
+ }
+ }
+ extern "C" fn on_window_will_exit_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ state
+ .window
+ .emit("will-exit-fullscreen", ())
+ .expect("Failed to emit event");
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowWillExitFullScreen: notification];
+ }
+ }
+ extern "C" fn on_window_did_fail_to_enter_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ window: id,
+ ) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidFailToEnterFullScreen: window];
+ }
+ }
+ extern "C" fn on_effective_appearance_did_change(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, effectiveAppearanceDidChange: notification];
+ }
+ }
+ extern "C" fn on_effective_appearance_did_changed_on_main_thread(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![
+ super_del,
+ effectiveAppearanceDidChangedOnMainThread: notification
+ ];
+ }
+ }
+
+ // Are we de-allocing this properly ? (I miss safe Rust :( )
+ let window_label = window.label().to_string();
+
+ let app_state = WindowState {
+ window: window.clone(),
+ };
+ let app_box = Box::into_raw(Box::new(app_state)) as *mut c_void;
+ let random_str: String = rand::thread_rng()
+ .sample_iter(&Alphanumeric)
+ .take(20)
+ .map(char::from)
+ .collect();
+
+ // We need to ensure we have a unique delegate name, otherwise we will panic while trying to create a duplicate
+ // delegate with the same name.
+ let delegate_name = format!("windowDelegate_{}_{}", window_label, random_str);
+
+ ns_win.setDelegate_(delegate!(&delegate_name, {
+ window: id = ns_win,
+ app_box: *mut c_void = app_box,
+ toolbar: id = cocoa::base::nil,
+ super_delegate: id = current_delegate,
+ (windowShouldClose:) => on_window_should_close as extern fn(&Object, Sel, id) -> BOOL,
+ (windowWillClose:) => on_window_will_close as extern fn(&Object, Sel, id),
+ (windowDidResize:) => on_window_did_resize:: as extern fn(&Object, Sel, id),
+ (windowDidMove:) => on_window_did_move as extern fn(&Object, Sel, id),
+ (windowDidChangeBackingProperties:) => on_window_did_change_backing_properties as extern fn(&Object, Sel, id),
+ (windowDidBecomeKey:) => on_window_did_become_key as extern fn(&Object, Sel, id),
+ (windowDidResignKey:) => on_window_did_resign_key as extern fn(&Object, Sel, id),
+ (draggingEntered:) => on_dragging_entered as extern fn(&Object, Sel, id) -> BOOL,
+ (prepareForDragOperation:) => on_prepare_for_drag_operation as extern fn(&Object, Sel, id) -> BOOL,
+ (performDragOperation:) => on_perform_drag_operation as extern fn(&Object, Sel, id) -> BOOL,
+ (concludeDragOperation:) => on_conclude_drag_operation as extern fn(&Object, Sel, id),
+ (draggingExited:) => on_dragging_exited as extern fn(&Object, Sel, id),
+ (window:willUseFullScreenPresentationOptions:) => on_window_will_use_full_screen_presentation_options as extern fn(&Object, Sel, id, NSUInteger) -> NSUInteger,
+ (windowDidEnterFullScreen:) => on_window_did_enter_full_screen:: as extern fn(&Object, Sel, id),
+ (windowWillEnterFullScreen:) => on_window_will_enter_full_screen:: as extern fn(&Object, Sel, id),
+ (windowDidExitFullScreen:) => on_window_did_exit_full_screen:: as extern fn(&Object, Sel, id),
+ (windowWillExitFullScreen:) => on_window_will_exit_full_screen:: as extern fn(&Object, Sel, id),
+ (windowDidFailToEnterFullScreen:) => on_window_did_fail_to_enter_full_screen as extern fn(&Object, Sel, id),
+ (effectiveAppearanceDidChange:) => on_effective_appearance_did_change as extern fn(&Object, Sel, id),
+ (effectiveAppearanceDidChangedOnMainThread:) => on_effective_appearance_did_changed_on_main_thread as extern fn(&Object, Sel, id)
+ }))
+ }
+}
diff --git a/src-tauri/src/tauri_plugin_windows_window.rs b/src-tauri/src/tauri_plugin_windows_window.rs
new file mode 100644
index 00000000..d40ad003
--- /dev/null
+++ b/src-tauri/src/tauri_plugin_windows_window.rs
@@ -0,0 +1,97 @@
+use hex_color::HexColor;
+use tauri::{Manager, Runtime, Window, WindowEvent};
+
+use std::mem::transmute;
+use std::{ffi::c_void, mem::size_of, ptr};
+use tauri::plugin::{Builder, TauriPlugin};
+
+use windows::Win32::UI::Controls::{
+ WTA_NONCLIENT, WTNCA_NODRAWICON, WTNCA_NOMIRRORHELP, WTNCA_NOSYSMENU,
+};
+
+use windows::Win32::Foundation::COLORREF;
+use windows::Win32::Foundation::{BOOL, HWND};
+use windows::Win32::Graphics::Dwm::DwmSetWindowAttribute;
+use windows::Win32::Graphics::Dwm::DWMWA_CAPTION_COLOR;
+use windows::Win32::Graphics::Dwm::DWMWA_USE_IMMERSIVE_DARK_MODE;
+use windows::Win32::UI::Controls::SetWindowThemeAttribute;
+use windows::Win32::UI::Controls::WTNCA_NODRAWCAPTION;
+
+pub fn init() -> TauriPlugin {
+ Builder::new("windows_window")
+ .on_window_ready(|window| {
+ #[cfg(target_os = "windows")]
+ setup_win_window(window);
+ return;
+ })
+ .build()
+}
+
+fn hex_color_to_colorref(color: HexColor) -> COLORREF {
+ // TODO: Remove this unsafe, This operation doesn't need to be unsafe!
+ unsafe { COLORREF(transmute::<[u8; 4], u32>([color.r, color.g, color.b, 0])) }
+}
+
+struct WinThemeAttribute {
+ #[allow(dead_code)]
+ flag: u32,
+ #[allow(dead_code)]
+ mask: u32,
+}
+
+#[cfg(target_os = "windows")]
+fn update_bg_color(hwnd: &HWND, bg_color: HexColor) {
+ let use_dark_mode = BOOL::from(true);
+
+ let final_color = hex_color_to_colorref(bg_color);
+
+ unsafe {
+ DwmSetWindowAttribute(
+ HWND(hwnd.0),
+ DWMWA_USE_IMMERSIVE_DARK_MODE,
+ ptr::addr_of!(use_dark_mode) as *const c_void,
+ size_of::().try_into().unwrap(),
+ )
+ .unwrap();
+
+ DwmSetWindowAttribute(
+ HWND(hwnd.0),
+ DWMWA_CAPTION_COLOR,
+ ptr::addr_of!(final_color) as *const c_void,
+ size_of::().try_into().unwrap(),
+ )
+ .unwrap();
+
+ let flags = WTNCA_NODRAWCAPTION | WTNCA_NODRAWICON;
+ let mask = WTNCA_NODRAWCAPTION | WTNCA_NODRAWICON | WTNCA_NOSYSMENU | WTNCA_NOMIRRORHELP;
+ let options = WinThemeAttribute { flag: flags, mask };
+
+ SetWindowThemeAttribute(
+ HWND(hwnd.0),
+ WTA_NONCLIENT,
+ ptr::addr_of!(options) as *const c_void,
+ size_of::().try_into().unwrap(),
+ )
+ .unwrap();
+ }
+}
+
+#[cfg(target_os = "windows")]
+pub fn setup_win_window(window: Window) {
+ let win_handle = window.hwnd().unwrap();
+ let win_clone = win_handle.clone();
+
+ let event_id = window.listen("yaak_bg_changed", move |ev| {
+ let payload = serde_json::from_str::<&str>(ev.payload()).unwrap().trim();
+ let color = HexColor::parse_rgb(payload).unwrap();
+ update_bg_color(&HWND(win_clone.0), color);
+ });
+
+ let h = window.app_handle().clone();
+ window.on_window_event(move |e| match e {
+ WindowEvent::Destroyed => {
+ h.unlisten(event_id);
+ }
+ _ => {}
+ })
+}
diff --git a/src-tauri/src/updates.rs b/src-tauri/src/updates.rs
index e65c25ab..414ae59c 100644
--- a/src-tauri/src/updates.rs
+++ b/src-tauri/src/updates.rs
@@ -19,6 +19,7 @@ pub struct YaakUpdater {
pub enum UpdateMode {
Stable,
Beta,
+ Alpha,
}
impl Display for UpdateMode {
@@ -26,6 +27,7 @@ impl Display for UpdateMode {
let s = match self {
UpdateMode::Stable => "stable",
UpdateMode::Beta => "beta",
+ UpdateMode::Alpha => "alpha",
};
write!(f, "{}", s)
}
@@ -35,6 +37,7 @@ impl UpdateMode {
pub fn new(mode: &str) -> UpdateMode {
match mode {
"beta" => UpdateMode::Beta,
+ "alpha" => UpdateMode::Alpha,
_ => UpdateMode::Stable,
}
}
@@ -53,13 +56,8 @@ impl YaakUpdater {
) -> Result {
self.last_update_check = SystemTime::now();
- let enabled = !is_dev();
- info!("Checking for updates mode={} enabled={}", mode, enabled);
+ info!("Checking for updates mode={}", mode);
- if !enabled {
- return Ok(false);
- }
-
let update_check_result = app_handle
.updater_builder()
.header("X-Update-Mode", mode.to_string())?
@@ -67,8 +65,7 @@ impl YaakUpdater {
.check()
.await;
- match update_check_result
- {
+ match update_check_result {
Ok(Some(update)) => {
let h = app_handle.clone();
app_handle
@@ -121,6 +118,11 @@ impl YaakUpdater {
return Ok(false);
}
+ // Don't check if dev
+ if is_dev() {
+ return Ok(false);
+ }
+
self.force_check(app_handle, mode).await
}
}
diff --git a/src-tauri/src/window_ext.rs b/src-tauri/src/window_ext.rs
deleted file mode 100644
index 6126277c..00000000
--- a/src-tauri/src/window_ext.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-use tauri::WebviewWindow;
-
-const TRAFFIC_LIGHT_OFFSET_X: f64 = 13.0;
-const TRAFFIC_LIGHT_OFFSET_Y: f64 = 18.0;
-
-pub trait TrafficLightWindowExt {
- fn position_traffic_lights(&self);
-}
-
-impl TrafficLightWindowExt for WebviewWindow {
- #[cfg(not(target_os = "macos"))]
- fn position_traffic_lights(&self) {
- // No-op on other platforms
- }
-
- #[cfg(target_os = "macos")]
- fn position_traffic_lights(&self) {
- use cocoa::appkit::{NSView, NSWindow, NSWindowButton};
- use cocoa::foundation::NSRect;
-
- let window = self.ns_window().unwrap() as cocoa::base::id;
-
- let x = TRAFFIC_LIGHT_OFFSET_X;
- let y = TRAFFIC_LIGHT_OFFSET_Y;
-
- unsafe {
- let close = window.standardWindowButton_(NSWindowButton::NSWindowCloseButton);
- let miniaturize =
- window.standardWindowButton_(NSWindowButton::NSWindowMiniaturizeButton);
- let zoom = window.standardWindowButton_(NSWindowButton::NSWindowZoomButton);
-
- let title_bar_container_view = close.superview().superview();
-
- let close_rect: NSRect = msg_send![close, frame];
- let button_height = close_rect.size.height;
-
- let title_bar_frame_height = button_height + y;
- let mut title_bar_rect = NSView::frame(title_bar_container_view);
- title_bar_rect.size.height = title_bar_frame_height;
- title_bar_rect.origin.y = NSView::frame(window).size.height - title_bar_frame_height;
- let _: () = msg_send![title_bar_container_view, setFrame: title_bar_rect];
-
- let window_buttons = vec![close, miniaturize, zoom];
- let space_between = NSView::frame(miniaturize).origin.x - NSView::frame(close).origin.x;
-
- for (i, button) in window_buttons.into_iter().enumerate() {
- let mut rect: NSRect = NSView::frame(button);
- rect.origin.x = x + (i as f64 * space_between);
- button.setFrameOrigin(rect.origin);
- }
- }
- }
-}
diff --git a/src-tauri/src/window_menu.rs b/src-tauri/src/window_menu.rs
index 773af11c..d9739634 100644
--- a/src-tauri/src/window_menu.rs
+++ b/src-tauri/src/window_menu.rs
@@ -126,12 +126,16 @@ pub fn app_menu(app_handle: &AppHandle) -> tauri::Result