From 884a717c06080e29dac0cf0c96a9a93d3e75a0e9 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 12 Sep 2024 23:20:08 -0700 Subject: [PATCH] Improve ad security, add CMP changes --- .../src/components/ui/PromotionWrapper.vue | 17 ++- apps/app-frontend/src/helpers/ads.js | 8 ++ apps/app/build.rs | 2 + apps/app/capabilities/ads.json | 3 +- apps/app/gen/schemas/acl-manifests.json | 2 +- apps/app/gen/schemas/capabilities.json | 2 +- apps/app/gen/schemas/desktop-schema.json | 28 ++++ apps/app/gen/schemas/macOS-schema.json | 28 ++++ apps/app/src/api/ads-init.js | 13 +- apps/app/src/api/ads.rs | 61 ++++++++- .../src/components/ui/AdPlaceholder.vue | 2 +- .../src/pages/dashboard/revenue/index.vue | 4 +- apps/frontend/src/pages/legal/cmp-info.vue | 78 ++++++++--- apps/frontend/src/public/promo-frame.html | 19 ++- packages/ui/src/components/base/Promotion.vue | 121 ------------------ packages/ui/src/components/index.ts | 1 - 16 files changed, 220 insertions(+), 169 deletions(-) delete mode 100644 packages/ui/src/components/base/Promotion.vue diff --git a/apps/app-frontend/src/components/ui/PromotionWrapper.vue b/apps/app-frontend/src/components/ui/PromotionWrapper.vue index 87a6d621d..69b540652 100644 --- a/apps/app-frontend/src/components/ui/PromotionWrapper.vue +++ b/apps/app-frontend/src/components/ui/PromotionWrapper.vue @@ -4,7 +4,7 @@ import { get as getCreds } from '@/helpers/mr_auth.js' import { handleError } from '@/store/notifications.js' import { get_user } from '@/helpers/cache.js' import { ChevronRightIcon } from '@modrinth/assets' -import { init_ads_window } from '@/helpers/ads.js' +import { init_ads_window, open_ads_link, record_ads_click } from '@/helpers/ads.js' import { listen } from '@tauri-apps/api/event' const showAd = ref(true) @@ -73,6 +73,11 @@ function updateAdPosition(overrideShown = false) { } } +async function openPlusLink() { + await record_ads_click() + await open_ads_link('https://modrinth.com/plus', 'https://modrinth.com') +} + const unlisten = await listen('ads-scroll', (event) => { if (adsWrapper.value) { adsWrapper.value.parentNode.scrollTop += event.payload.scroll @@ -105,17 +110,17 @@ onUnmounted(() => { class="ad-parent relative mb-3 flex w-full justify-center rounded-2xl bg-bg-raised cursor-pointer" >
-

90% of ad revenue goes to creators

- 75% of ad revenue goes to creators

+
diff --git a/apps/app-frontend/src/helpers/ads.js b/apps/app-frontend/src/helpers/ads.js index df9375f64..41b231c38 100644 --- a/apps/app-frontend/src/helpers/ads.js +++ b/apps/app-frontend/src/helpers/ads.js @@ -11,3 +11,11 @@ export async function show_ads_window() { export async function hide_ads_window(reset) { return await invoke('plugin:ads|hide_ads_window', { reset }) } + +export async function record_ads_click() { + return await invoke('plugin:ads|record_ads_click') +} + +export async function open_ads_link(path, origin) { + return await invoke('plugin:ads|open_link', { path, origin }) +} diff --git a/apps/app/build.rs b/apps/app/build.rs index 818964f50..1033adb1f 100644 --- a/apps/app/build.rs +++ b/apps/app/build.rs @@ -226,6 +226,8 @@ fn main() { "hide_ads_window", "scroll_ads_window", "show_ads_window", + "record_ads_click", + "open_link", ]) .default_permission( DefaultPermissionRule::AllowAllCommands, diff --git a/apps/app/capabilities/ads.json b/apps/app/capabilities/ads.json index 437e5400d..1633df316 100644 --- a/apps/app/capabilities/ads.json +++ b/apps/app/capabilities/ads.json @@ -9,7 +9,6 @@ "ads-window" ], "permissions": [ - "shell:allow-open", "ads:default" ] -} \ No newline at end of file +} diff --git a/apps/app/gen/schemas/acl-manifests.json b/apps/app/gen/schemas/acl-manifests.json index f347a07f9..b6a1c46ab 100644 --- a/apps/app/gen/schemas/acl-manifests.json +++ b/apps/app/gen/schemas/acl-manifests.json @@ -1 +1 @@ -{"ads":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-init-ads-window","allow-hide-ads-window","allow-scroll-ads-window","allow-show-ads-window"]},"permissions":{"allow-hide-ads-window":{"identifier":"allow-hide-ads-window","description":"Enables the hide_ads_window command without any pre-configured scope.","commands":{"allow":["hide_ads_window"],"deny":[]}},"allow-init-ads-window":{"identifier":"allow-init-ads-window","description":"Enables the init_ads_window command without any pre-configured scope.","commands":{"allow":["init_ads_window"],"deny":[]}},"allow-scroll-ads-window":{"identifier":"allow-scroll-ads-window","description":"Enables the scroll_ads_window command without any pre-configured scope.","commands":{"allow":["scroll_ads_window"],"deny":[]}},"allow-show-ads-window":{"identifier":"allow-show-ads-window","description":"Enables the show_ads_window command without any pre-configured scope.","commands":{"allow":["show_ads_window"],"deny":[]}},"deny-hide-ads-window":{"identifier":"deny-hide-ads-window","description":"Denies the hide_ads_window command without any pre-configured scope.","commands":{"allow":[],"deny":["hide_ads_window"]}},"deny-init-ads-window":{"identifier":"deny-init-ads-window","description":"Denies the init_ads_window command without any pre-configured scope.","commands":{"allow":[],"deny":["init_ads_window"]}},"deny-scroll-ads-window":{"identifier":"deny-scroll-ads-window","description":"Denies the scroll_ads_window command without any pre-configured scope.","commands":{"allow":[],"deny":["scroll_ads_window"]}},"deny-show-ads-window":{"identifier":"deny-show-ads-window","description":"Denies the show_ads_window command without any pre-configured scope.","commands":{"allow":[],"deny":["show_ads_window"]}}},"permission_sets":{},"global_scope_schema":null},"auth":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-login","allow-remove-user","allow-get-default-user","allow-set-default-user","allow-get-users"]},"permissions":{"allow-get-default-user":{"identifier":"allow-get-default-user","description":"Enables the get_default_user command without any pre-configured scope.","commands":{"allow":["get_default_user"],"deny":[]}},"allow-get-users":{"identifier":"allow-get-users","description":"Enables the get_users command without any pre-configured scope.","commands":{"allow":["get_users"],"deny":[]}},"allow-login":{"identifier":"allow-login","description":"Enables the login command without any pre-configured scope.","commands":{"allow":["login"],"deny":[]}},"allow-remove-user":{"identifier":"allow-remove-user","description":"Enables the remove_user command without any pre-configured scope.","commands":{"allow":["remove_user"],"deny":[]}},"allow-set-default-user":{"identifier":"allow-set-default-user","description":"Enables the set_default_user command without any pre-configured scope.","commands":{"allow":["set_default_user"],"deny":[]}},"deny-get-default-user":{"identifier":"deny-get-default-user","description":"Denies the get_default_user command without any pre-configured scope.","commands":{"allow":[],"deny":["get_default_user"]}},"deny-get-users":{"identifier":"deny-get-users","description":"Denies the get_users command without any pre-configured scope.","commands":{"allow":[],"deny":["get_users"]}},"deny-login":{"identifier":"deny-login","description":"Denies the login command without any pre-configured scope.","commands":{"allow":[],"deny":["login"]}},"deny-remove-user":{"identifier":"deny-remove-user","description":"Denies the remove_user command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_user"]}},"deny-set-default-user":{"identifier":"deny-set-default-user","description":"Denies the set_default_user command without any pre-configured scope.","commands":{"allow":[],"deny":["set_default_user"]}}},"permission_sets":{},"global_scope_schema":null},"cache":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-get-project","allow-get-project-many","allow-get-version","allow-get-version-many","allow-get-user","allow-get-user-many","allow-get-team","allow-get-team-many","allow-get-organization","allow-get-organization-many","allow-get-search-results","allow-get-search-results-many","allow-purge-cache-types"]},"permissions":{"allow-get-organization":{"identifier":"allow-get-organization","description":"Enables the get_organization command without any pre-configured scope.","commands":{"allow":["get_organization"],"deny":[]}},"allow-get-organization-many":{"identifier":"allow-get-organization-many","description":"Enables the get_organization_many command without any pre-configured scope.","commands":{"allow":["get_organization_many"],"deny":[]}},"allow-get-project":{"identifier":"allow-get-project","description":"Enables the get_project command without any pre-configured scope.","commands":{"allow":["get_project"],"deny":[]}},"allow-get-project-many":{"identifier":"allow-get-project-many","description":"Enables the get_project_many command without any pre-configured scope.","commands":{"allow":["get_project_many"],"deny":[]}},"allow-get-search-results":{"identifier":"allow-get-search-results","description":"Enables the get_search_results command without any pre-configured scope.","commands":{"allow":["get_search_results"],"deny":[]}},"allow-get-search-results-many":{"identifier":"allow-get-search-results-many","description":"Enables the get_search_results_many command without any pre-configured scope.","commands":{"allow":["get_search_results_many"],"deny":[]}},"allow-get-team":{"identifier":"allow-get-team","description":"Enables the get_team command without any pre-configured scope.","commands":{"allow":["get_team"],"deny":[]}},"allow-get-team-many":{"identifier":"allow-get-team-many","description":"Enables the get_team_many command without any pre-configured scope.","commands":{"allow":["get_team_many"],"deny":[]}},"allow-get-user":{"identifier":"allow-get-user","description":"Enables the get_user command without any pre-configured scope.","commands":{"allow":["get_user"],"deny":[]}},"allow-get-user-many":{"identifier":"allow-get-user-many","description":"Enables the get_user_many command without any pre-configured scope.","commands":{"allow":["get_user_many"],"deny":[]}},"allow-get-version":{"identifier":"allow-get-version","description":"Enables the get_version command without any pre-configured scope.","commands":{"allow":["get_version"],"deny":[]}},"allow-get-version-many":{"identifier":"allow-get-version-many","description":"Enables the get_version_many command without any pre-configured scope.","commands":{"allow":["get_version_many"],"deny":[]}},"allow-purge-cache-types":{"identifier":"allow-purge-cache-types","description":"Enables the purge_cache_types command without any pre-configured scope.","commands":{"allow":["purge_cache_types"],"deny":[]}},"deny-get-organization":{"identifier":"deny-get-organization","description":"Denies the get_organization command without any pre-configured scope.","commands":{"allow":[],"deny":["get_organization"]}},"deny-get-organization-many":{"identifier":"deny-get-organization-many","description":"Denies the get_organization_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_organization_many"]}},"deny-get-project":{"identifier":"deny-get-project","description":"Denies the get_project command without any pre-configured scope.","commands":{"allow":[],"deny":["get_project"]}},"deny-get-project-many":{"identifier":"deny-get-project-many","description":"Denies the get_project_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_project_many"]}},"deny-get-search-results":{"identifier":"deny-get-search-results","description":"Denies the get_search_results command without any pre-configured scope.","commands":{"allow":[],"deny":["get_search_results"]}},"deny-get-search-results-many":{"identifier":"deny-get-search-results-many","description":"Denies the get_search_results_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_search_results_many"]}},"deny-get-team":{"identifier":"deny-get-team","description":"Denies the get_team command without any pre-configured scope.","commands":{"allow":[],"deny":["get_team"]}},"deny-get-team-many":{"identifier":"deny-get-team-many","description":"Denies the get_team_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_team_many"]}},"deny-get-user":{"identifier":"deny-get-user","description":"Denies the get_user command without any pre-configured scope.","commands":{"allow":[],"deny":["get_user"]}},"deny-get-user-many":{"identifier":"deny-get-user-many","description":"Denies the get_user_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_user_many"]}},"deny-get-version":{"identifier":"deny-get-version","description":"Denies the get_version command without any pre-configured scope.","commands":{"allow":[],"deny":["get_version"]}},"deny-get-version-many":{"identifier":"deny-get-version-many","description":"Denies the get_version_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_version_many"]}},"deny-purge-cache-types":{"identifier":"deny-purge-cache-types","description":"Denies the purge_cache_types command without any pre-configured scope.","commands":{"allow":[],"deny":["purge_cache_types"]}}},"permission_sets":{},"global_scope_schema":null},"core:app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version"]},"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-default-window-icon":{"identifier":"allow-default-window-icon","description":"Enables the default_window_icon command without any pre-configured scope.","commands":{"allow":["default_window_icon"],"deny":[]}},"allow-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-default-window-icon":{"identifier":"deny-default-window-icon","description":"Denies the default_window_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["default_window_icon"]}},"deny-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},"core: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},"core: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},"core:menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-new","allow-append","allow-prepend","allow-insert","allow-remove","allow-remove-at","allow-items","allow-get","allow-popup","allow-create-default","allow-set-as-app-menu","allow-set-as-window-menu","allow-text","allow-set-text","allow-is-enabled","allow-set-enabled","allow-set-accelerator","allow-set-as-windows-menu-for-nsapp","allow-set-as-help-menu-for-nsapp","allow-is-checked","allow-set-checked","allow-set-icon"]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"core:path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"core:resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"core:tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-new","allow-get-by-id","allow-remove-by-id","allow-set-icon","allow-set-menu","allow-set-tooltip","allow-set-title","allow-set-visible","allow-set-temp-dir-path","allow-set-icon-as-template","allow-set-show-menu-on-left-click"]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"core:webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-webviews","allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-get-all-webviews":{"identifier":"allow-get-all-webviews","description":"Enables the get_all_webviews command without any pre-configured scope.","commands":{"allow":["get_all_webviews"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-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-get-all-webviews":{"identifier":"deny-get-all-webviews","description":"Denies the get_all_webviews command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_webviews"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-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},"core:window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-windows","allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-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-get-all-windows":{"identifier":"allow-get-all-windows","description":"Enables the get_all_windows command without any pre-configured scope.","commands":{"allow":["get_all_windows"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-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-size-constraints":{"identifier":"allow-set-size-constraints","description":"Enables the set_size_constraints command without any pre-configured scope.","commands":{"allow":["set_size_constraints"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-title-bar-style":{"identifier":"allow-set-title-bar-style","description":"Enables the set_title_bar_style command without any pre-configured scope.","commands":{"allow":["set_title_bar_style"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-get-all-windows":{"identifier":"deny-get-all-windows","description":"Denies the get_all_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_windows"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-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-size-constraints":{"identifier":"deny-set-size-constraints","description":"Denies the set_size_constraints command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size_constraints"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-title-bar-style":{"identifier":"deny-set-title-bar-style","description":"Denies the set_title_bar_style command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title_bar_style"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"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":{"identifier":"default","description":"This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n","permissions":["allow-ask","allow-confirm","allow-message","allow-save","allow-open"]},"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]}},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]}},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]}},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]}},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}}},"permission_sets":{},"global_scope_schema":null},"import":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-get-importable-instances","allow-import-instance","allow-is-valid-importable-instance","allow-get-default-launcher-path"]},"permissions":{"allow-get-default-launcher-path":{"identifier":"allow-get-default-launcher-path","description":"Enables the get_default_launcher_path command without any pre-configured scope.","commands":{"allow":["get_default_launcher_path"],"deny":[]}},"allow-get-importable-instances":{"identifier":"allow-get-importable-instances","description":"Enables the get_importable_instances command without any pre-configured scope.","commands":{"allow":["get_importable_instances"],"deny":[]}},"allow-import-instance":{"identifier":"allow-import-instance","description":"Enables the import_instance command without any pre-configured scope.","commands":{"allow":["import_instance"],"deny":[]}},"allow-is-valid-importable-instance":{"identifier":"allow-is-valid-importable-instance","description":"Enables the is_valid_importable_instance command without any pre-configured scope.","commands":{"allow":["is_valid_importable_instance"],"deny":[]}},"deny-get-default-launcher-path":{"identifier":"deny-get-default-launcher-path","description":"Denies the get_default_launcher_path command without any pre-configured scope.","commands":{"allow":[],"deny":["get_default_launcher_path"]}},"deny-get-importable-instances":{"identifier":"deny-get-importable-instances","description":"Denies the get_importable_instances command without any pre-configured scope.","commands":{"allow":[],"deny":["get_importable_instances"]}},"deny-import-instance":{"identifier":"deny-import-instance","description":"Denies the import_instance command without any pre-configured scope.","commands":{"allow":[],"deny":["import_instance"]}},"deny-is-valid-importable-instance":{"identifier":"deny-is-valid-importable-instance","description":"Denies the is_valid_importable_instance command without any pre-configured scope.","commands":{"allow":[],"deny":["is_valid_importable_instance"]}}},"permission_sets":{},"global_scope_schema":null},"jre":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-get-java-versions","allow-set-java-version","allow-jre-find-filtered-jres","allow-jre-get-jre","allow-jre-test-jre","allow-jre-auto-install-java","allow-jre-get-max-memory"]},"permissions":{"allow-get-java-versions":{"identifier":"allow-get-java-versions","description":"Enables the get_java_versions command without any pre-configured scope.","commands":{"allow":["get_java_versions"],"deny":[]}},"allow-jre-auto-install-java":{"identifier":"allow-jre-auto-install-java","description":"Enables the jre_auto_install_java command without any pre-configured scope.","commands":{"allow":["jre_auto_install_java"],"deny":[]}},"allow-jre-find-filtered-jres":{"identifier":"allow-jre-find-filtered-jres","description":"Enables the jre_find_filtered_jres command without any pre-configured scope.","commands":{"allow":["jre_find_filtered_jres"],"deny":[]}},"allow-jre-get-jre":{"identifier":"allow-jre-get-jre","description":"Enables the jre_get_jre command without any pre-configured scope.","commands":{"allow":["jre_get_jre"],"deny":[]}},"allow-jre-get-max-memory":{"identifier":"allow-jre-get-max-memory","description":"Enables the jre_get_max_memory command without any pre-configured scope.","commands":{"allow":["jre_get_max_memory"],"deny":[]}},"allow-jre-test-jre":{"identifier":"allow-jre-test-jre","description":"Enables the jre_test_jre command without any pre-configured scope.","commands":{"allow":["jre_test_jre"],"deny":[]}},"allow-set-java-version":{"identifier":"allow-set-java-version","description":"Enables the set_java_version command without any pre-configured scope.","commands":{"allow":["set_java_version"],"deny":[]}},"deny-get-java-versions":{"identifier":"deny-get-java-versions","description":"Denies the get_java_versions command without any pre-configured scope.","commands":{"allow":[],"deny":["get_java_versions"]}},"deny-jre-auto-install-java":{"identifier":"deny-jre-auto-install-java","description":"Denies the jre_auto_install_java command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_auto_install_java"]}},"deny-jre-find-filtered-jres":{"identifier":"deny-jre-find-filtered-jres","description":"Denies the jre_find_filtered_jres command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_find_filtered_jres"]}},"deny-jre-get-jre":{"identifier":"deny-jre-get-jre","description":"Denies the jre_get_jre command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_get_jre"]}},"deny-jre-get-max-memory":{"identifier":"deny-jre-get-max-memory","description":"Denies the jre_get_max_memory command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_get_max_memory"]}},"deny-jre-test-jre":{"identifier":"deny-jre-test-jre","description":"Denies the jre_test_jre command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_test_jre"]}},"deny-set-java-version":{"identifier":"deny-set-java-version","description":"Denies the set_java_version command without any pre-configured scope.","commands":{"allow":[],"deny":["set_java_version"]}}},"permission_sets":{},"global_scope_schema":null},"logs":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-logs-get-logs","allow-logs-get-logs-by-filename","allow-logs-get-output-by-filename","allow-logs-delete-logs","allow-logs-delete-logs-by-filename","allow-logs-get-latest-log-cursor"]},"permissions":{"allow-logs-delete-logs":{"identifier":"allow-logs-delete-logs","description":"Enables the logs_delete_logs command without any pre-configured scope.","commands":{"allow":["logs_delete_logs"],"deny":[]}},"allow-logs-delete-logs-by-filename":{"identifier":"allow-logs-delete-logs-by-filename","description":"Enables the logs_delete_logs_by_filename command without any pre-configured scope.","commands":{"allow":["logs_delete_logs_by_filename"],"deny":[]}},"allow-logs-get-latest-log-cursor":{"identifier":"allow-logs-get-latest-log-cursor","description":"Enables the logs_get_latest_log_cursor command without any pre-configured scope.","commands":{"allow":["logs_get_latest_log_cursor"],"deny":[]}},"allow-logs-get-logs":{"identifier":"allow-logs-get-logs","description":"Enables the logs_get_logs command without any pre-configured scope.","commands":{"allow":["logs_get_logs"],"deny":[]}},"allow-logs-get-logs-by-filename":{"identifier":"allow-logs-get-logs-by-filename","description":"Enables the logs_get_logs_by_filename command without any pre-configured scope.","commands":{"allow":["logs_get_logs_by_filename"],"deny":[]}},"allow-logs-get-output-by-filename":{"identifier":"allow-logs-get-output-by-filename","description":"Enables the logs_get_output_by_filename command without any pre-configured scope.","commands":{"allow":["logs_get_output_by_filename"],"deny":[]}},"deny-logs-delete-logs":{"identifier":"deny-logs-delete-logs","description":"Denies the logs_delete_logs command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_delete_logs"]}},"deny-logs-delete-logs-by-filename":{"identifier":"deny-logs-delete-logs-by-filename","description":"Denies the logs_delete_logs_by_filename command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_delete_logs_by_filename"]}},"deny-logs-get-latest-log-cursor":{"identifier":"deny-logs-get-latest-log-cursor","description":"Denies the logs_get_latest_log_cursor command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_get_latest_log_cursor"]}},"deny-logs-get-logs":{"identifier":"deny-logs-get-logs","description":"Denies the logs_get_logs command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_get_logs"]}},"deny-logs-get-logs-by-filename":{"identifier":"deny-logs-get-logs-by-filename","description":"Denies the logs_get_logs_by_filename command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_get_logs_by_filename"]}},"deny-logs-get-output-by-filename":{"identifier":"deny-logs-get-output-by-filename","description":"Denies the logs_get_output_by_filename command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_get_output_by_filename"]}}},"permission_sets":{},"global_scope_schema":null},"metadata":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-metadata-get-game-versions","allow-metadata-get-loader-versions"]},"permissions":{"allow-metadata-get-game-versions":{"identifier":"allow-metadata-get-game-versions","description":"Enables the metadata_get_game_versions command without any pre-configured scope.","commands":{"allow":["metadata_get_game_versions"],"deny":[]}},"allow-metadata-get-loader-versions":{"identifier":"allow-metadata-get-loader-versions","description":"Enables the metadata_get_loader_versions command without any pre-configured scope.","commands":{"allow":["metadata_get_loader_versions"],"deny":[]}},"deny-metadata-get-game-versions":{"identifier":"deny-metadata-get-game-versions","description":"Denies the metadata_get_game_versions command without any pre-configured scope.","commands":{"allow":[],"deny":["metadata_get_game_versions"]}},"deny-metadata-get-loader-versions":{"identifier":"deny-metadata-get-loader-versions","description":"Denies the metadata_get_loader_versions command without any pre-configured scope.","commands":{"allow":[],"deny":["metadata_get_loader_versions"]}}},"permission_sets":{},"global_scope_schema":null},"mr-auth":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-login-pass","allow-login-2fa","allow-create-account","allow-logout","allow-get"]},"permissions":{"allow-create-account":{"identifier":"allow-create-account","description":"Enables the create_account command without any pre-configured scope.","commands":{"allow":["create_account"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-login-2fa":{"identifier":"allow-login-2fa","description":"Enables the login_2fa command without any pre-configured scope.","commands":{"allow":["login_2fa"],"deny":[]}},"allow-login-pass":{"identifier":"allow-login-pass","description":"Enables the login_pass command without any pre-configured scope.","commands":{"allow":["login_pass"],"deny":[]}},"allow-logout":{"identifier":"allow-logout","description":"Enables the logout command without any pre-configured scope.","commands":{"allow":["logout"],"deny":[]}},"deny-create-account":{"identifier":"deny-create-account","description":"Denies the create_account command without any pre-configured scope.","commands":{"allow":[],"deny":["create_account"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-login-2fa":{"identifier":"deny-login-2fa","description":"Denies the login_2fa command without any pre-configured scope.","commands":{"allow":[],"deny":["login_2fa"]}},"deny-login-pass":{"identifier":"deny-login-pass","description":"Denies the login_pass command without any pre-configured scope.","commands":{"allow":[],"deny":["login_pass"]}},"deny-logout":{"identifier":"deny-logout","description":"Denies the logout command without any pre-configured scope.","commands":{"allow":[],"deny":["logout"]}}},"permission_sets":{},"global_scope_schema":null},"os":{"default_permission":{"identifier":"default","description":"This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n","permissions":["allow-arch","allow-exe-extension","allow-family","allow-locale","allow-os-type","allow-platform","allow-version"]},"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},"pack":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-pack-install","allow-pack-get-profile-from-pack"]},"permissions":{"allow-pack-get-profile-from-pack":{"identifier":"allow-pack-get-profile-from-pack","description":"Enables the pack_get_profile_from_pack command without any pre-configured scope.","commands":{"allow":["pack_get_profile_from_pack"],"deny":[]}},"allow-pack-install":{"identifier":"allow-pack-install","description":"Enables the pack_install command without any pre-configured scope.","commands":{"allow":["pack_install"],"deny":[]}},"deny-pack-get-profile-from-pack":{"identifier":"deny-pack-get-profile-from-pack","description":"Denies the pack_get_profile_from_pack command without any pre-configured scope.","commands":{"allow":[],"deny":["pack_get_profile_from_pack"]}},"deny-pack-install":{"identifier":"deny-pack-install","description":"Denies the pack_install command without any pre-configured scope.","commands":{"allow":[],"deny":["pack_install"]}}},"permission_sets":{},"global_scope_schema":null},"process":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-process-get-all","allow-process-get-by-profile-path","allow-process-kill","allow-process-wait-for"]},"permissions":{"allow-process-get-all":{"identifier":"allow-process-get-all","description":"Enables the process_get_all command without any pre-configured scope.","commands":{"allow":["process_get_all"],"deny":[]}},"allow-process-get-by-profile-path":{"identifier":"allow-process-get-by-profile-path","description":"Enables the process_get_by_profile_path command without any pre-configured scope.","commands":{"allow":["process_get_by_profile_path"],"deny":[]}},"allow-process-kill":{"identifier":"allow-process-kill","description":"Enables the process_kill command without any pre-configured scope.","commands":{"allow":["process_kill"],"deny":[]}},"allow-process-wait-for":{"identifier":"allow-process-wait-for","description":"Enables the process_wait_for command without any pre-configured scope.","commands":{"allow":["process_wait_for"],"deny":[]}},"deny-process-get-all":{"identifier":"deny-process-get-all","description":"Denies the process_get_all command without any pre-configured scope.","commands":{"allow":[],"deny":["process_get_all"]}},"deny-process-get-by-profile-path":{"identifier":"deny-process-get-by-profile-path","description":"Denies the process_get_by_profile_path command without any pre-configured scope.","commands":{"allow":[],"deny":["process_get_by_profile_path"]}},"deny-process-kill":{"identifier":"deny-process-kill","description":"Denies the process_kill command without any pre-configured scope.","commands":{"allow":[],"deny":["process_kill"]}},"deny-process-wait-for":{"identifier":"deny-process-wait-for","description":"Denies the process_wait_for command without any pre-configured scope.","commands":{"allow":[],"deny":["process_wait_for"]}}},"permission_sets":{},"global_scope_schema":null},"profile":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-profile-remove","allow-profile-get","allow-profile-get-many","allow-profile-get-projects","allow-profile-get-optimal-jre-key","allow-profile-get-full-path","allow-profile-get-mod-full-path","allow-profile-list","allow-profile-check-installed","allow-profile-install","allow-profile-update-all","allow-profile-update-project","allow-profile-add-project-from-version","allow-profile-add-project-from-path","allow-profile-toggle-disable-project","allow-profile-remove-project","allow-profile-update-managed-modrinth-version","allow-profile-repair-managed-modrinth","allow-profile-run","allow-profile-run-credentials","allow-profile-kill","allow-profile-edit","allow-profile-edit-icon","allow-profile-export-mrpack","allow-profile-get-pack-export-candidates"]},"permissions":{"allow-profile-add-project-from-path":{"identifier":"allow-profile-add-project-from-path","description":"Enables the profile_add_project_from_path command without any pre-configured scope.","commands":{"allow":["profile_add_project_from_path"],"deny":[]}},"allow-profile-add-project-from-version":{"identifier":"allow-profile-add-project-from-version","description":"Enables the profile_add_project_from_version command without any pre-configured scope.","commands":{"allow":["profile_add_project_from_version"],"deny":[]}},"allow-profile-check-installed":{"identifier":"allow-profile-check-installed","description":"Enables the profile_check_installed command without any pre-configured scope.","commands":{"allow":["profile_check_installed"],"deny":[]}},"allow-profile-edit":{"identifier":"allow-profile-edit","description":"Enables the profile_edit command without any pre-configured scope.","commands":{"allow":["profile_edit"],"deny":[]}},"allow-profile-edit-icon":{"identifier":"allow-profile-edit-icon","description":"Enables the profile_edit_icon command without any pre-configured scope.","commands":{"allow":["profile_edit_icon"],"deny":[]}},"allow-profile-export-mrpack":{"identifier":"allow-profile-export-mrpack","description":"Enables the profile_export_mrpack command without any pre-configured scope.","commands":{"allow":["profile_export_mrpack"],"deny":[]}},"allow-profile-get":{"identifier":"allow-profile-get","description":"Enables the profile_get command without any pre-configured scope.","commands":{"allow":["profile_get"],"deny":[]}},"allow-profile-get-full-path":{"identifier":"allow-profile-get-full-path","description":"Enables the profile_get_full_path command without any pre-configured scope.","commands":{"allow":["profile_get_full_path"],"deny":[]}},"allow-profile-get-many":{"identifier":"allow-profile-get-many","description":"Enables the profile_get_many command without any pre-configured scope.","commands":{"allow":["profile_get_many"],"deny":[]}},"allow-profile-get-mod-full-path":{"identifier":"allow-profile-get-mod-full-path","description":"Enables the profile_get_mod_full_path command without any pre-configured scope.","commands":{"allow":["profile_get_mod_full_path"],"deny":[]}},"allow-profile-get-optimal-jre-key":{"identifier":"allow-profile-get-optimal-jre-key","description":"Enables the profile_get_optimal_jre_key command without any pre-configured scope.","commands":{"allow":["profile_get_optimal_jre_key"],"deny":[]}},"allow-profile-get-pack-export-candidates":{"identifier":"allow-profile-get-pack-export-candidates","description":"Enables the profile_get_pack_export_candidates command without any pre-configured scope.","commands":{"allow":["profile_get_pack_export_candidates"],"deny":[]}},"allow-profile-get-projects":{"identifier":"allow-profile-get-projects","description":"Enables the profile_get_projects command without any pre-configured scope.","commands":{"allow":["profile_get_projects"],"deny":[]}},"allow-profile-install":{"identifier":"allow-profile-install","description":"Enables the profile_install command without any pre-configured scope.","commands":{"allow":["profile_install"],"deny":[]}},"allow-profile-kill":{"identifier":"allow-profile-kill","description":"Enables the profile_kill command without any pre-configured scope.","commands":{"allow":["profile_kill"],"deny":[]}},"allow-profile-list":{"identifier":"allow-profile-list","description":"Enables the profile_list command without any pre-configured scope.","commands":{"allow":["profile_list"],"deny":[]}},"allow-profile-remove":{"identifier":"allow-profile-remove","description":"Enables the profile_remove command without any pre-configured scope.","commands":{"allow":["profile_remove"],"deny":[]}},"allow-profile-remove-project":{"identifier":"allow-profile-remove-project","description":"Enables the profile_remove_project command without any pre-configured scope.","commands":{"allow":["profile_remove_project"],"deny":[]}},"allow-profile-repair-managed-modrinth":{"identifier":"allow-profile-repair-managed-modrinth","description":"Enables the profile_repair_managed_modrinth command without any pre-configured scope.","commands":{"allow":["profile_repair_managed_modrinth"],"deny":[]}},"allow-profile-run":{"identifier":"allow-profile-run","description":"Enables the profile_run command without any pre-configured scope.","commands":{"allow":["profile_run"],"deny":[]}},"allow-profile-run-credentials":{"identifier":"allow-profile-run-credentials","description":"Enables the profile_run_credentials command without any pre-configured scope.","commands":{"allow":["profile_run_credentials"],"deny":[]}},"allow-profile-toggle-disable-project":{"identifier":"allow-profile-toggle-disable-project","description":"Enables the profile_toggle_disable_project command without any pre-configured scope.","commands":{"allow":["profile_toggle_disable_project"],"deny":[]}},"allow-profile-update-all":{"identifier":"allow-profile-update-all","description":"Enables the profile_update_all command without any pre-configured scope.","commands":{"allow":["profile_update_all"],"deny":[]}},"allow-profile-update-managed-modrinth-version":{"identifier":"allow-profile-update-managed-modrinth-version","description":"Enables the profile_update_managed_modrinth_version command without any pre-configured scope.","commands":{"allow":["profile_update_managed_modrinth_version"],"deny":[]}},"allow-profile-update-project":{"identifier":"allow-profile-update-project","description":"Enables the profile_update_project command without any pre-configured scope.","commands":{"allow":["profile_update_project"],"deny":[]}},"deny-profile-add-project-from-path":{"identifier":"deny-profile-add-project-from-path","description":"Denies the profile_add_project_from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_add_project_from_path"]}},"deny-profile-add-project-from-version":{"identifier":"deny-profile-add-project-from-version","description":"Denies the profile_add_project_from_version command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_add_project_from_version"]}},"deny-profile-check-installed":{"identifier":"deny-profile-check-installed","description":"Denies the profile_check_installed command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_check_installed"]}},"deny-profile-edit":{"identifier":"deny-profile-edit","description":"Denies the profile_edit command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_edit"]}},"deny-profile-edit-icon":{"identifier":"deny-profile-edit-icon","description":"Denies the profile_edit_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_edit_icon"]}},"deny-profile-export-mrpack":{"identifier":"deny-profile-export-mrpack","description":"Denies the profile_export_mrpack command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_export_mrpack"]}},"deny-profile-get":{"identifier":"deny-profile-get","description":"Denies the profile_get command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get"]}},"deny-profile-get-full-path":{"identifier":"deny-profile-get-full-path","description":"Denies the profile_get_full_path command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_full_path"]}},"deny-profile-get-many":{"identifier":"deny-profile-get-many","description":"Denies the profile_get_many command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_many"]}},"deny-profile-get-mod-full-path":{"identifier":"deny-profile-get-mod-full-path","description":"Denies the profile_get_mod_full_path command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_mod_full_path"]}},"deny-profile-get-optimal-jre-key":{"identifier":"deny-profile-get-optimal-jre-key","description":"Denies the profile_get_optimal_jre_key command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_optimal_jre_key"]}},"deny-profile-get-pack-export-candidates":{"identifier":"deny-profile-get-pack-export-candidates","description":"Denies the profile_get_pack_export_candidates command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_pack_export_candidates"]}},"deny-profile-get-projects":{"identifier":"deny-profile-get-projects","description":"Denies the profile_get_projects command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_projects"]}},"deny-profile-install":{"identifier":"deny-profile-install","description":"Denies the profile_install command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_install"]}},"deny-profile-kill":{"identifier":"deny-profile-kill","description":"Denies the profile_kill command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_kill"]}},"deny-profile-list":{"identifier":"deny-profile-list","description":"Denies the profile_list command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_list"]}},"deny-profile-remove":{"identifier":"deny-profile-remove","description":"Denies the profile_remove command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_remove"]}},"deny-profile-remove-project":{"identifier":"deny-profile-remove-project","description":"Denies the profile_remove_project command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_remove_project"]}},"deny-profile-repair-managed-modrinth":{"identifier":"deny-profile-repair-managed-modrinth","description":"Denies the profile_repair_managed_modrinth command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_repair_managed_modrinth"]}},"deny-profile-run":{"identifier":"deny-profile-run","description":"Denies the profile_run command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_run"]}},"deny-profile-run-credentials":{"identifier":"deny-profile-run-credentials","description":"Denies the profile_run_credentials command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_run_credentials"]}},"deny-profile-toggle-disable-project":{"identifier":"deny-profile-toggle-disable-project","description":"Denies the profile_toggle_disable_project command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_toggle_disable_project"]}},"deny-profile-update-all":{"identifier":"deny-profile-update-all","description":"Denies the profile_update_all command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_update_all"]}},"deny-profile-update-managed-modrinth-version":{"identifier":"deny-profile-update-managed-modrinth-version","description":"Denies the profile_update_managed_modrinth_version command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_update_managed_modrinth_version"]}},"deny-profile-update-project":{"identifier":"deny-profile-update-project","description":"Denies the profile_update_project command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_update_project"]}}},"permission_sets":{},"global_scope_schema":null},"profile-create":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-profile-create","allow-profile-duplicate"]},"permissions":{"allow-profile-create":{"identifier":"allow-profile-create","description":"Enables the profile_create command without any pre-configured scope.","commands":{"allow":["profile_create"],"deny":[]}},"allow-profile-duplicate":{"identifier":"allow-profile-duplicate","description":"Enables the profile_duplicate command without any pre-configured scope.","commands":{"allow":["profile_duplicate"],"deny":[]}},"deny-profile-create":{"identifier":"deny-profile-create","description":"Denies the profile_create command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_create"]}},"deny-profile-duplicate":{"identifier":"deny-profile-duplicate","description":"Denies the profile_duplicate command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_duplicate"]}}},"permission_sets":{},"global_scope_schema":null},"settings":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-settings-get","allow-settings-set","allow-cancel-directory-change"]},"permissions":{"allow-cancel-directory-change":{"identifier":"allow-cancel-directory-change","description":"Enables the cancel_directory_change command without any pre-configured scope.","commands":{"allow":["cancel_directory_change"],"deny":[]}},"allow-settings-get":{"identifier":"allow-settings-get","description":"Enables the settings_get command without any pre-configured scope.","commands":{"allow":["settings_get"],"deny":[]}},"allow-settings-set":{"identifier":"allow-settings-set","description":"Enables the settings_set command without any pre-configured scope.","commands":{"allow":["settings_set"],"deny":[]}},"deny-cancel-directory-change":{"identifier":"deny-cancel-directory-change","description":"Denies the cancel_directory_change command without any pre-configured scope.","commands":{"allow":[],"deny":["cancel_directory_change"]}},"deny-settings-get":{"identifier":"deny-settings-get","description":"Denies the settings_get command without any pre-configured scope.","commands":{"allow":[],"deny":["settings_get"]}},"deny-settings-set":{"identifier":"deny-settings-set","description":"Denies the settings_set command without any pre-configured scope.","commands":{"allow":[],"deny":["settings_set"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":{"identifier":"default","description":"This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n","permissions":["allow-open"]},"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":{"raw":{"default":false,"description":"Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.","type":"boolean"},"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ","type":"string"}},"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"}},"tags":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-tags-get-categories","allow-tags-get-report-types","allow-tags-get-loaders","allow-tags-get-game-versions","allow-tags-get-donation-platforms"]},"permissions":{"allow-tags-get-categories":{"identifier":"allow-tags-get-categories","description":"Enables the tags_get_categories command without any pre-configured scope.","commands":{"allow":["tags_get_categories"],"deny":[]}},"allow-tags-get-donation-platforms":{"identifier":"allow-tags-get-donation-platforms","description":"Enables the tags_get_donation_platforms command without any pre-configured scope.","commands":{"allow":["tags_get_donation_platforms"],"deny":[]}},"allow-tags-get-game-versions":{"identifier":"allow-tags-get-game-versions","description":"Enables the tags_get_game_versions command without any pre-configured scope.","commands":{"allow":["tags_get_game_versions"],"deny":[]}},"allow-tags-get-loaders":{"identifier":"allow-tags-get-loaders","description":"Enables the tags_get_loaders command without any pre-configured scope.","commands":{"allow":["tags_get_loaders"],"deny":[]}},"allow-tags-get-report-types":{"identifier":"allow-tags-get-report-types","description":"Enables the tags_get_report_types command without any pre-configured scope.","commands":{"allow":["tags_get_report_types"],"deny":[]}},"deny-tags-get-categories":{"identifier":"deny-tags-get-categories","description":"Denies the tags_get_categories command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_categories"]}},"deny-tags-get-donation-platforms":{"identifier":"deny-tags-get-donation-platforms","description":"Denies the tags_get_donation_platforms command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_donation_platforms"]}},"deny-tags-get-game-versions":{"identifier":"deny-tags-get-game-versions","description":"Denies the tags_get_game_versions command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_game_versions"]}},"deny-tags-get-loaders":{"identifier":"deny-tags-get-loaders","description":"Denies the tags_get_loaders command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_loaders"]}},"deny-tags-get-report-types":{"identifier":"deny-tags-get-report-types","description":"Denies the tags_get_report_types command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_report_types"]}}},"permission_sets":{},"global_scope_schema":null},"updater":{"default_permission":{"identifier":"default","description":"This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n","permissions":["allow-check","allow-download","allow-install","allow-download-and-install"]},"permissions":{"allow-check":{"identifier":"allow-check","description":"Enables the check command without any pre-configured scope.","commands":{"allow":["check"],"deny":[]}},"allow-download":{"identifier":"allow-download","description":"Enables the download command without any pre-configured scope.","commands":{"allow":["download"],"deny":[]}},"allow-download-and-install":{"identifier":"allow-download-and-install","description":"Enables the download_and_install command without any pre-configured scope.","commands":{"allow":["download_and_install"],"deny":[]}},"allow-install":{"identifier":"allow-install","description":"Enables the install command without any pre-configured scope.","commands":{"allow":["install"],"deny":[]}},"deny-check":{"identifier":"deny-check","description":"Denies the check command without any pre-configured scope.","commands":{"allow":[],"deny":["check"]}},"deny-download":{"identifier":"deny-download","description":"Denies the download command without any pre-configured scope.","commands":{"allow":[],"deny":["download"]}},"deny-download-and-install":{"identifier":"deny-download-and-install","description":"Denies the download_and_install command without any pre-configured scope.","commands":{"allow":[],"deny":["download_and_install"]}},"deny-install":{"identifier":"deny-install","description":"Denies the install command without any pre-configured scope.","commands":{"allow":[],"deny":["install"]}}},"permission_sets":{},"global_scope_schema":null},"utils":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-get-os","allow-should-disable-mouseover","allow-highlight-in-folder","allow-open-path","allow-show-launcher-logs-folder","allow-progress-bars-list","allow-get-opening-command"]},"permissions":{"allow-get-opening-command":{"identifier":"allow-get-opening-command","description":"Enables the get_opening_command command without any pre-configured scope.","commands":{"allow":["get_opening_command"],"deny":[]}},"allow-get-os":{"identifier":"allow-get-os","description":"Enables the get_os command without any pre-configured scope.","commands":{"allow":["get_os"],"deny":[]}},"allow-highlight-in-folder":{"identifier":"allow-highlight-in-folder","description":"Enables the highlight_in_folder command without any pre-configured scope.","commands":{"allow":["highlight_in_folder"],"deny":[]}},"allow-open-path":{"identifier":"allow-open-path","description":"Enables the open_path command without any pre-configured scope.","commands":{"allow":["open_path"],"deny":[]}},"allow-progress-bars-list":{"identifier":"allow-progress-bars-list","description":"Enables the progress_bars_list command without any pre-configured scope.","commands":{"allow":["progress_bars_list"],"deny":[]}},"allow-should-disable-mouseover":{"identifier":"allow-should-disable-mouseover","description":"Enables the should_disable_mouseover command without any pre-configured scope.","commands":{"allow":["should_disable_mouseover"],"deny":[]}},"allow-show-launcher-logs-folder":{"identifier":"allow-show-launcher-logs-folder","description":"Enables the show_launcher_logs_folder command without any pre-configured scope.","commands":{"allow":["show_launcher_logs_folder"],"deny":[]}},"deny-get-opening-command":{"identifier":"deny-get-opening-command","description":"Denies the get_opening_command command without any pre-configured scope.","commands":{"allow":[],"deny":["get_opening_command"]}},"deny-get-os":{"identifier":"deny-get-os","description":"Denies the get_os command without any pre-configured scope.","commands":{"allow":[],"deny":["get_os"]}},"deny-highlight-in-folder":{"identifier":"deny-highlight-in-folder","description":"Denies the highlight_in_folder command without any pre-configured scope.","commands":{"allow":[],"deny":["highlight_in_folder"]}},"deny-open-path":{"identifier":"deny-open-path","description":"Denies the open_path command without any pre-configured scope.","commands":{"allow":[],"deny":["open_path"]}},"deny-progress-bars-list":{"identifier":"deny-progress-bars-list","description":"Denies the progress_bars_list command without any pre-configured scope.","commands":{"allow":[],"deny":["progress_bars_list"]}},"deny-should-disable-mouseover":{"identifier":"deny-should-disable-mouseover","description":"Denies the should_disable_mouseover command without any pre-configured scope.","commands":{"allow":[],"deny":["should_disable_mouseover"]}},"deny-show-launcher-logs-folder":{"identifier":"deny-show-launcher-logs-folder","description":"Denies the show_launcher_logs_folder command without any pre-configured scope.","commands":{"allow":[],"deny":["show_launcher_logs_folder"]}}},"permission_sets":{},"global_scope_schema":null},"window-state":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n","permissions":["allow-filename","allow-restore-state","allow-save-window-state"]},"permissions":{"allow-filename":{"identifier":"allow-filename","description":"Enables the filename command without any pre-configured scope.","commands":{"allow":["filename"],"deny":[]}},"allow-restore-state":{"identifier":"allow-restore-state","description":"Enables the restore_state command without any pre-configured scope.","commands":{"allow":["restore_state"],"deny":[]}},"allow-save-window-state":{"identifier":"allow-save-window-state","description":"Enables the save_window_state command without any pre-configured scope.","commands":{"allow":["save_window_state"],"deny":[]}},"deny-filename":{"identifier":"deny-filename","description":"Denies the filename command without any pre-configured scope.","commands":{"allow":[],"deny":["filename"]}},"deny-restore-state":{"identifier":"deny-restore-state","description":"Denies the restore_state command without any pre-configured scope.","commands":{"allow":[],"deny":["restore_state"]}},"deny-save-window-state":{"identifier":"deny-save-window-state","description":"Denies the save_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["save_window_state"]}}},"permission_sets":{},"global_scope_schema":null}} \ No newline at end of file +{"ads":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-init-ads-window","allow-hide-ads-window","allow-scroll-ads-window","allow-show-ads-window","allow-record-ads-click","allow-open-link"]},"permissions":{"allow-hide-ads-window":{"identifier":"allow-hide-ads-window","description":"Enables the hide_ads_window command without any pre-configured scope.","commands":{"allow":["hide_ads_window"],"deny":[]}},"allow-init-ads-window":{"identifier":"allow-init-ads-window","description":"Enables the init_ads_window command without any pre-configured scope.","commands":{"allow":["init_ads_window"],"deny":[]}},"allow-open-link":{"identifier":"allow-open-link","description":"Enables the open_link command without any pre-configured scope.","commands":{"allow":["open_link"],"deny":[]}},"allow-record-ads-click":{"identifier":"allow-record-ads-click","description":"Enables the record_ads_click command without any pre-configured scope.","commands":{"allow":["record_ads_click"],"deny":[]}},"allow-scroll-ads-window":{"identifier":"allow-scroll-ads-window","description":"Enables the scroll_ads_window command without any pre-configured scope.","commands":{"allow":["scroll_ads_window"],"deny":[]}},"allow-show-ads-window":{"identifier":"allow-show-ads-window","description":"Enables the show_ads_window command without any pre-configured scope.","commands":{"allow":["show_ads_window"],"deny":[]}},"deny-hide-ads-window":{"identifier":"deny-hide-ads-window","description":"Denies the hide_ads_window command without any pre-configured scope.","commands":{"allow":[],"deny":["hide_ads_window"]}},"deny-init-ads-window":{"identifier":"deny-init-ads-window","description":"Denies the init_ads_window command without any pre-configured scope.","commands":{"allow":[],"deny":["init_ads_window"]}},"deny-open-link":{"identifier":"deny-open-link","description":"Denies the open_link command without any pre-configured scope.","commands":{"allow":[],"deny":["open_link"]}},"deny-record-ads-click":{"identifier":"deny-record-ads-click","description":"Denies the record_ads_click command without any pre-configured scope.","commands":{"allow":[],"deny":["record_ads_click"]}},"deny-scroll-ads-window":{"identifier":"deny-scroll-ads-window","description":"Denies the scroll_ads_window command without any pre-configured scope.","commands":{"allow":[],"deny":["scroll_ads_window"]}},"deny-show-ads-window":{"identifier":"deny-show-ads-window","description":"Denies the show_ads_window command without any pre-configured scope.","commands":{"allow":[],"deny":["show_ads_window"]}}},"permission_sets":{},"global_scope_schema":null},"auth":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-login","allow-remove-user","allow-get-default-user","allow-set-default-user","allow-get-users"]},"permissions":{"allow-get-default-user":{"identifier":"allow-get-default-user","description":"Enables the get_default_user command without any pre-configured scope.","commands":{"allow":["get_default_user"],"deny":[]}},"allow-get-users":{"identifier":"allow-get-users","description":"Enables the get_users command without any pre-configured scope.","commands":{"allow":["get_users"],"deny":[]}},"allow-login":{"identifier":"allow-login","description":"Enables the login command without any pre-configured scope.","commands":{"allow":["login"],"deny":[]}},"allow-remove-user":{"identifier":"allow-remove-user","description":"Enables the remove_user command without any pre-configured scope.","commands":{"allow":["remove_user"],"deny":[]}},"allow-set-default-user":{"identifier":"allow-set-default-user","description":"Enables the set_default_user command without any pre-configured scope.","commands":{"allow":["set_default_user"],"deny":[]}},"deny-get-default-user":{"identifier":"deny-get-default-user","description":"Denies the get_default_user command without any pre-configured scope.","commands":{"allow":[],"deny":["get_default_user"]}},"deny-get-users":{"identifier":"deny-get-users","description":"Denies the get_users command without any pre-configured scope.","commands":{"allow":[],"deny":["get_users"]}},"deny-login":{"identifier":"deny-login","description":"Denies the login command without any pre-configured scope.","commands":{"allow":[],"deny":["login"]}},"deny-remove-user":{"identifier":"deny-remove-user","description":"Denies the remove_user command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_user"]}},"deny-set-default-user":{"identifier":"deny-set-default-user","description":"Denies the set_default_user command without any pre-configured scope.","commands":{"allow":[],"deny":["set_default_user"]}}},"permission_sets":{},"global_scope_schema":null},"cache":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-get-project","allow-get-project-many","allow-get-version","allow-get-version-many","allow-get-user","allow-get-user-many","allow-get-team","allow-get-team-many","allow-get-organization","allow-get-organization-many","allow-get-search-results","allow-get-search-results-many","allow-purge-cache-types"]},"permissions":{"allow-get-organization":{"identifier":"allow-get-organization","description":"Enables the get_organization command without any pre-configured scope.","commands":{"allow":["get_organization"],"deny":[]}},"allow-get-organization-many":{"identifier":"allow-get-organization-many","description":"Enables the get_organization_many command without any pre-configured scope.","commands":{"allow":["get_organization_many"],"deny":[]}},"allow-get-project":{"identifier":"allow-get-project","description":"Enables the get_project command without any pre-configured scope.","commands":{"allow":["get_project"],"deny":[]}},"allow-get-project-many":{"identifier":"allow-get-project-many","description":"Enables the get_project_many command without any pre-configured scope.","commands":{"allow":["get_project_many"],"deny":[]}},"allow-get-search-results":{"identifier":"allow-get-search-results","description":"Enables the get_search_results command without any pre-configured scope.","commands":{"allow":["get_search_results"],"deny":[]}},"allow-get-search-results-many":{"identifier":"allow-get-search-results-many","description":"Enables the get_search_results_many command without any pre-configured scope.","commands":{"allow":["get_search_results_many"],"deny":[]}},"allow-get-team":{"identifier":"allow-get-team","description":"Enables the get_team command without any pre-configured scope.","commands":{"allow":["get_team"],"deny":[]}},"allow-get-team-many":{"identifier":"allow-get-team-many","description":"Enables the get_team_many command without any pre-configured scope.","commands":{"allow":["get_team_many"],"deny":[]}},"allow-get-user":{"identifier":"allow-get-user","description":"Enables the get_user command without any pre-configured scope.","commands":{"allow":["get_user"],"deny":[]}},"allow-get-user-many":{"identifier":"allow-get-user-many","description":"Enables the get_user_many command without any pre-configured scope.","commands":{"allow":["get_user_many"],"deny":[]}},"allow-get-version":{"identifier":"allow-get-version","description":"Enables the get_version command without any pre-configured scope.","commands":{"allow":["get_version"],"deny":[]}},"allow-get-version-many":{"identifier":"allow-get-version-many","description":"Enables the get_version_many command without any pre-configured scope.","commands":{"allow":["get_version_many"],"deny":[]}},"allow-purge-cache-types":{"identifier":"allow-purge-cache-types","description":"Enables the purge_cache_types command without any pre-configured scope.","commands":{"allow":["purge_cache_types"],"deny":[]}},"deny-get-organization":{"identifier":"deny-get-organization","description":"Denies the get_organization command without any pre-configured scope.","commands":{"allow":[],"deny":["get_organization"]}},"deny-get-organization-many":{"identifier":"deny-get-organization-many","description":"Denies the get_organization_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_organization_many"]}},"deny-get-project":{"identifier":"deny-get-project","description":"Denies the get_project command without any pre-configured scope.","commands":{"allow":[],"deny":["get_project"]}},"deny-get-project-many":{"identifier":"deny-get-project-many","description":"Denies the get_project_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_project_many"]}},"deny-get-search-results":{"identifier":"deny-get-search-results","description":"Denies the get_search_results command without any pre-configured scope.","commands":{"allow":[],"deny":["get_search_results"]}},"deny-get-search-results-many":{"identifier":"deny-get-search-results-many","description":"Denies the get_search_results_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_search_results_many"]}},"deny-get-team":{"identifier":"deny-get-team","description":"Denies the get_team command without any pre-configured scope.","commands":{"allow":[],"deny":["get_team"]}},"deny-get-team-many":{"identifier":"deny-get-team-many","description":"Denies the get_team_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_team_many"]}},"deny-get-user":{"identifier":"deny-get-user","description":"Denies the get_user command without any pre-configured scope.","commands":{"allow":[],"deny":["get_user"]}},"deny-get-user-many":{"identifier":"deny-get-user-many","description":"Denies the get_user_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_user_many"]}},"deny-get-version":{"identifier":"deny-get-version","description":"Denies the get_version command without any pre-configured scope.","commands":{"allow":[],"deny":["get_version"]}},"deny-get-version-many":{"identifier":"deny-get-version-many","description":"Denies the get_version_many command without any pre-configured scope.","commands":{"allow":[],"deny":["get_version_many"]}},"deny-purge-cache-types":{"identifier":"deny-purge-cache-types","description":"Denies the purge_cache_types command without any pre-configured scope.","commands":{"allow":[],"deny":["purge_cache_types"]}}},"permission_sets":{},"global_scope_schema":null},"core:app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version"]},"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-default-window-icon":{"identifier":"allow-default-window-icon","description":"Enables the default_window_icon command without any pre-configured scope.","commands":{"allow":["default_window_icon"],"deny":[]}},"allow-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-default-window-icon":{"identifier":"deny-default-window-icon","description":"Denies the default_window_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["default_window_icon"]}},"deny-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},"core: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},"core: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},"core:menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-new","allow-append","allow-prepend","allow-insert","allow-remove","allow-remove-at","allow-items","allow-get","allow-popup","allow-create-default","allow-set-as-app-menu","allow-set-as-window-menu","allow-text","allow-set-text","allow-is-enabled","allow-set-enabled","allow-set-accelerator","allow-set-as-windows-menu-for-nsapp","allow-set-as-help-menu-for-nsapp","allow-is-checked","allow-set-checked","allow-set-icon"]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"core:path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"core:resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"core:tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-new","allow-get-by-id","allow-remove-by-id","allow-set-icon","allow-set-menu","allow-set-tooltip","allow-set-title","allow-set-visible","allow-set-temp-dir-path","allow-set-icon-as-template","allow-set-show-menu-on-left-click"]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"core:webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-webviews","allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-get-all-webviews":{"identifier":"allow-get-all-webviews","description":"Enables the get_all_webviews command without any pre-configured scope.","commands":{"allow":["get_all_webviews"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-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-get-all-webviews":{"identifier":"deny-get-all-webviews","description":"Denies the get_all_webviews command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_webviews"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-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},"core:window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-windows","allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-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-get-all-windows":{"identifier":"allow-get-all-windows","description":"Enables the get_all_windows command without any pre-configured scope.","commands":{"allow":["get_all_windows"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-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-size-constraints":{"identifier":"allow-set-size-constraints","description":"Enables the set_size_constraints command without any pre-configured scope.","commands":{"allow":["set_size_constraints"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-title-bar-style":{"identifier":"allow-set-title-bar-style","description":"Enables the set_title_bar_style command without any pre-configured scope.","commands":{"allow":["set_title_bar_style"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-get-all-windows":{"identifier":"deny-get-all-windows","description":"Denies the get_all_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_windows"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-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-size-constraints":{"identifier":"deny-set-size-constraints","description":"Denies the set_size_constraints command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size_constraints"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-title-bar-style":{"identifier":"deny-set-title-bar-style","description":"Denies the set_title_bar_style command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title_bar_style"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"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":{"identifier":"default","description":"This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n","permissions":["allow-ask","allow-confirm","allow-message","allow-save","allow-open"]},"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]}},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]}},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]}},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]}},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}}},"permission_sets":{},"global_scope_schema":null},"import":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-get-importable-instances","allow-import-instance","allow-is-valid-importable-instance","allow-get-default-launcher-path"]},"permissions":{"allow-get-default-launcher-path":{"identifier":"allow-get-default-launcher-path","description":"Enables the get_default_launcher_path command without any pre-configured scope.","commands":{"allow":["get_default_launcher_path"],"deny":[]}},"allow-get-importable-instances":{"identifier":"allow-get-importable-instances","description":"Enables the get_importable_instances command without any pre-configured scope.","commands":{"allow":["get_importable_instances"],"deny":[]}},"allow-import-instance":{"identifier":"allow-import-instance","description":"Enables the import_instance command without any pre-configured scope.","commands":{"allow":["import_instance"],"deny":[]}},"allow-is-valid-importable-instance":{"identifier":"allow-is-valid-importable-instance","description":"Enables the is_valid_importable_instance command without any pre-configured scope.","commands":{"allow":["is_valid_importable_instance"],"deny":[]}},"deny-get-default-launcher-path":{"identifier":"deny-get-default-launcher-path","description":"Denies the get_default_launcher_path command without any pre-configured scope.","commands":{"allow":[],"deny":["get_default_launcher_path"]}},"deny-get-importable-instances":{"identifier":"deny-get-importable-instances","description":"Denies the get_importable_instances command without any pre-configured scope.","commands":{"allow":[],"deny":["get_importable_instances"]}},"deny-import-instance":{"identifier":"deny-import-instance","description":"Denies the import_instance command without any pre-configured scope.","commands":{"allow":[],"deny":["import_instance"]}},"deny-is-valid-importable-instance":{"identifier":"deny-is-valid-importable-instance","description":"Denies the is_valid_importable_instance command without any pre-configured scope.","commands":{"allow":[],"deny":["is_valid_importable_instance"]}}},"permission_sets":{},"global_scope_schema":null},"jre":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-get-java-versions","allow-set-java-version","allow-jre-find-filtered-jres","allow-jre-get-jre","allow-jre-test-jre","allow-jre-auto-install-java","allow-jre-get-max-memory"]},"permissions":{"allow-get-java-versions":{"identifier":"allow-get-java-versions","description":"Enables the get_java_versions command without any pre-configured scope.","commands":{"allow":["get_java_versions"],"deny":[]}},"allow-jre-auto-install-java":{"identifier":"allow-jre-auto-install-java","description":"Enables the jre_auto_install_java command without any pre-configured scope.","commands":{"allow":["jre_auto_install_java"],"deny":[]}},"allow-jre-find-filtered-jres":{"identifier":"allow-jre-find-filtered-jres","description":"Enables the jre_find_filtered_jres command without any pre-configured scope.","commands":{"allow":["jre_find_filtered_jres"],"deny":[]}},"allow-jre-get-jre":{"identifier":"allow-jre-get-jre","description":"Enables the jre_get_jre command without any pre-configured scope.","commands":{"allow":["jre_get_jre"],"deny":[]}},"allow-jre-get-max-memory":{"identifier":"allow-jre-get-max-memory","description":"Enables the jre_get_max_memory command without any pre-configured scope.","commands":{"allow":["jre_get_max_memory"],"deny":[]}},"allow-jre-test-jre":{"identifier":"allow-jre-test-jre","description":"Enables the jre_test_jre command without any pre-configured scope.","commands":{"allow":["jre_test_jre"],"deny":[]}},"allow-set-java-version":{"identifier":"allow-set-java-version","description":"Enables the set_java_version command without any pre-configured scope.","commands":{"allow":["set_java_version"],"deny":[]}},"deny-get-java-versions":{"identifier":"deny-get-java-versions","description":"Denies the get_java_versions command without any pre-configured scope.","commands":{"allow":[],"deny":["get_java_versions"]}},"deny-jre-auto-install-java":{"identifier":"deny-jre-auto-install-java","description":"Denies the jre_auto_install_java command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_auto_install_java"]}},"deny-jre-find-filtered-jres":{"identifier":"deny-jre-find-filtered-jres","description":"Denies the jre_find_filtered_jres command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_find_filtered_jres"]}},"deny-jre-get-jre":{"identifier":"deny-jre-get-jre","description":"Denies the jre_get_jre command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_get_jre"]}},"deny-jre-get-max-memory":{"identifier":"deny-jre-get-max-memory","description":"Denies the jre_get_max_memory command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_get_max_memory"]}},"deny-jre-test-jre":{"identifier":"deny-jre-test-jre","description":"Denies the jre_test_jre command without any pre-configured scope.","commands":{"allow":[],"deny":["jre_test_jre"]}},"deny-set-java-version":{"identifier":"deny-set-java-version","description":"Denies the set_java_version command without any pre-configured scope.","commands":{"allow":[],"deny":["set_java_version"]}}},"permission_sets":{},"global_scope_schema":null},"logs":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-logs-get-logs","allow-logs-get-logs-by-filename","allow-logs-get-output-by-filename","allow-logs-delete-logs","allow-logs-delete-logs-by-filename","allow-logs-get-latest-log-cursor"]},"permissions":{"allow-logs-delete-logs":{"identifier":"allow-logs-delete-logs","description":"Enables the logs_delete_logs command without any pre-configured scope.","commands":{"allow":["logs_delete_logs"],"deny":[]}},"allow-logs-delete-logs-by-filename":{"identifier":"allow-logs-delete-logs-by-filename","description":"Enables the logs_delete_logs_by_filename command without any pre-configured scope.","commands":{"allow":["logs_delete_logs_by_filename"],"deny":[]}},"allow-logs-get-latest-log-cursor":{"identifier":"allow-logs-get-latest-log-cursor","description":"Enables the logs_get_latest_log_cursor command without any pre-configured scope.","commands":{"allow":["logs_get_latest_log_cursor"],"deny":[]}},"allow-logs-get-logs":{"identifier":"allow-logs-get-logs","description":"Enables the logs_get_logs command without any pre-configured scope.","commands":{"allow":["logs_get_logs"],"deny":[]}},"allow-logs-get-logs-by-filename":{"identifier":"allow-logs-get-logs-by-filename","description":"Enables the logs_get_logs_by_filename command without any pre-configured scope.","commands":{"allow":["logs_get_logs_by_filename"],"deny":[]}},"allow-logs-get-output-by-filename":{"identifier":"allow-logs-get-output-by-filename","description":"Enables the logs_get_output_by_filename command without any pre-configured scope.","commands":{"allow":["logs_get_output_by_filename"],"deny":[]}},"deny-logs-delete-logs":{"identifier":"deny-logs-delete-logs","description":"Denies the logs_delete_logs command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_delete_logs"]}},"deny-logs-delete-logs-by-filename":{"identifier":"deny-logs-delete-logs-by-filename","description":"Denies the logs_delete_logs_by_filename command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_delete_logs_by_filename"]}},"deny-logs-get-latest-log-cursor":{"identifier":"deny-logs-get-latest-log-cursor","description":"Denies the logs_get_latest_log_cursor command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_get_latest_log_cursor"]}},"deny-logs-get-logs":{"identifier":"deny-logs-get-logs","description":"Denies the logs_get_logs command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_get_logs"]}},"deny-logs-get-logs-by-filename":{"identifier":"deny-logs-get-logs-by-filename","description":"Denies the logs_get_logs_by_filename command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_get_logs_by_filename"]}},"deny-logs-get-output-by-filename":{"identifier":"deny-logs-get-output-by-filename","description":"Denies the logs_get_output_by_filename command without any pre-configured scope.","commands":{"allow":[],"deny":["logs_get_output_by_filename"]}}},"permission_sets":{},"global_scope_schema":null},"metadata":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-metadata-get-game-versions","allow-metadata-get-loader-versions"]},"permissions":{"allow-metadata-get-game-versions":{"identifier":"allow-metadata-get-game-versions","description":"Enables the metadata_get_game_versions command without any pre-configured scope.","commands":{"allow":["metadata_get_game_versions"],"deny":[]}},"allow-metadata-get-loader-versions":{"identifier":"allow-metadata-get-loader-versions","description":"Enables the metadata_get_loader_versions command without any pre-configured scope.","commands":{"allow":["metadata_get_loader_versions"],"deny":[]}},"deny-metadata-get-game-versions":{"identifier":"deny-metadata-get-game-versions","description":"Denies the metadata_get_game_versions command without any pre-configured scope.","commands":{"allow":[],"deny":["metadata_get_game_versions"]}},"deny-metadata-get-loader-versions":{"identifier":"deny-metadata-get-loader-versions","description":"Denies the metadata_get_loader_versions command without any pre-configured scope.","commands":{"allow":[],"deny":["metadata_get_loader_versions"]}}},"permission_sets":{},"global_scope_schema":null},"mr-auth":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-login-pass","allow-login-2fa","allow-create-account","allow-logout","allow-get"]},"permissions":{"allow-create-account":{"identifier":"allow-create-account","description":"Enables the create_account command without any pre-configured scope.","commands":{"allow":["create_account"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-login-2fa":{"identifier":"allow-login-2fa","description":"Enables the login_2fa command without any pre-configured scope.","commands":{"allow":["login_2fa"],"deny":[]}},"allow-login-pass":{"identifier":"allow-login-pass","description":"Enables the login_pass command without any pre-configured scope.","commands":{"allow":["login_pass"],"deny":[]}},"allow-logout":{"identifier":"allow-logout","description":"Enables the logout command without any pre-configured scope.","commands":{"allow":["logout"],"deny":[]}},"deny-create-account":{"identifier":"deny-create-account","description":"Denies the create_account command without any pre-configured scope.","commands":{"allow":[],"deny":["create_account"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-login-2fa":{"identifier":"deny-login-2fa","description":"Denies the login_2fa command without any pre-configured scope.","commands":{"allow":[],"deny":["login_2fa"]}},"deny-login-pass":{"identifier":"deny-login-pass","description":"Denies the login_pass command without any pre-configured scope.","commands":{"allow":[],"deny":["login_pass"]}},"deny-logout":{"identifier":"deny-logout","description":"Denies the logout command without any pre-configured scope.","commands":{"allow":[],"deny":["logout"]}}},"permission_sets":{},"global_scope_schema":null},"os":{"default_permission":{"identifier":"default","description":"This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n","permissions":["allow-arch","allow-exe-extension","allow-family","allow-locale","allow-os-type","allow-platform","allow-version"]},"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},"pack":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-pack-install","allow-pack-get-profile-from-pack"]},"permissions":{"allow-pack-get-profile-from-pack":{"identifier":"allow-pack-get-profile-from-pack","description":"Enables the pack_get_profile_from_pack command without any pre-configured scope.","commands":{"allow":["pack_get_profile_from_pack"],"deny":[]}},"allow-pack-install":{"identifier":"allow-pack-install","description":"Enables the pack_install command without any pre-configured scope.","commands":{"allow":["pack_install"],"deny":[]}},"deny-pack-get-profile-from-pack":{"identifier":"deny-pack-get-profile-from-pack","description":"Denies the pack_get_profile_from_pack command without any pre-configured scope.","commands":{"allow":[],"deny":["pack_get_profile_from_pack"]}},"deny-pack-install":{"identifier":"deny-pack-install","description":"Denies the pack_install command without any pre-configured scope.","commands":{"allow":[],"deny":["pack_install"]}}},"permission_sets":{},"global_scope_schema":null},"process":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-process-get-all","allow-process-get-by-profile-path","allow-process-kill","allow-process-wait-for"]},"permissions":{"allow-process-get-all":{"identifier":"allow-process-get-all","description":"Enables the process_get_all command without any pre-configured scope.","commands":{"allow":["process_get_all"],"deny":[]}},"allow-process-get-by-profile-path":{"identifier":"allow-process-get-by-profile-path","description":"Enables the process_get_by_profile_path command without any pre-configured scope.","commands":{"allow":["process_get_by_profile_path"],"deny":[]}},"allow-process-kill":{"identifier":"allow-process-kill","description":"Enables the process_kill command without any pre-configured scope.","commands":{"allow":["process_kill"],"deny":[]}},"allow-process-wait-for":{"identifier":"allow-process-wait-for","description":"Enables the process_wait_for command without any pre-configured scope.","commands":{"allow":["process_wait_for"],"deny":[]}},"deny-process-get-all":{"identifier":"deny-process-get-all","description":"Denies the process_get_all command without any pre-configured scope.","commands":{"allow":[],"deny":["process_get_all"]}},"deny-process-get-by-profile-path":{"identifier":"deny-process-get-by-profile-path","description":"Denies the process_get_by_profile_path command without any pre-configured scope.","commands":{"allow":[],"deny":["process_get_by_profile_path"]}},"deny-process-kill":{"identifier":"deny-process-kill","description":"Denies the process_kill command without any pre-configured scope.","commands":{"allow":[],"deny":["process_kill"]}},"deny-process-wait-for":{"identifier":"deny-process-wait-for","description":"Denies the process_wait_for command without any pre-configured scope.","commands":{"allow":[],"deny":["process_wait_for"]}}},"permission_sets":{},"global_scope_schema":null},"profile":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-profile-remove","allow-profile-get","allow-profile-get-many","allow-profile-get-projects","allow-profile-get-optimal-jre-key","allow-profile-get-full-path","allow-profile-get-mod-full-path","allow-profile-list","allow-profile-check-installed","allow-profile-install","allow-profile-update-all","allow-profile-update-project","allow-profile-add-project-from-version","allow-profile-add-project-from-path","allow-profile-toggle-disable-project","allow-profile-remove-project","allow-profile-update-managed-modrinth-version","allow-profile-repair-managed-modrinth","allow-profile-run","allow-profile-run-credentials","allow-profile-kill","allow-profile-edit","allow-profile-edit-icon","allow-profile-export-mrpack","allow-profile-get-pack-export-candidates"]},"permissions":{"allow-profile-add-project-from-path":{"identifier":"allow-profile-add-project-from-path","description":"Enables the profile_add_project_from_path command without any pre-configured scope.","commands":{"allow":["profile_add_project_from_path"],"deny":[]}},"allow-profile-add-project-from-version":{"identifier":"allow-profile-add-project-from-version","description":"Enables the profile_add_project_from_version command without any pre-configured scope.","commands":{"allow":["profile_add_project_from_version"],"deny":[]}},"allow-profile-check-installed":{"identifier":"allow-profile-check-installed","description":"Enables the profile_check_installed command without any pre-configured scope.","commands":{"allow":["profile_check_installed"],"deny":[]}},"allow-profile-edit":{"identifier":"allow-profile-edit","description":"Enables the profile_edit command without any pre-configured scope.","commands":{"allow":["profile_edit"],"deny":[]}},"allow-profile-edit-icon":{"identifier":"allow-profile-edit-icon","description":"Enables the profile_edit_icon command without any pre-configured scope.","commands":{"allow":["profile_edit_icon"],"deny":[]}},"allow-profile-export-mrpack":{"identifier":"allow-profile-export-mrpack","description":"Enables the profile_export_mrpack command without any pre-configured scope.","commands":{"allow":["profile_export_mrpack"],"deny":[]}},"allow-profile-get":{"identifier":"allow-profile-get","description":"Enables the profile_get command without any pre-configured scope.","commands":{"allow":["profile_get"],"deny":[]}},"allow-profile-get-full-path":{"identifier":"allow-profile-get-full-path","description":"Enables the profile_get_full_path command without any pre-configured scope.","commands":{"allow":["profile_get_full_path"],"deny":[]}},"allow-profile-get-many":{"identifier":"allow-profile-get-many","description":"Enables the profile_get_many command without any pre-configured scope.","commands":{"allow":["profile_get_many"],"deny":[]}},"allow-profile-get-mod-full-path":{"identifier":"allow-profile-get-mod-full-path","description":"Enables the profile_get_mod_full_path command without any pre-configured scope.","commands":{"allow":["profile_get_mod_full_path"],"deny":[]}},"allow-profile-get-optimal-jre-key":{"identifier":"allow-profile-get-optimal-jre-key","description":"Enables the profile_get_optimal_jre_key command without any pre-configured scope.","commands":{"allow":["profile_get_optimal_jre_key"],"deny":[]}},"allow-profile-get-pack-export-candidates":{"identifier":"allow-profile-get-pack-export-candidates","description":"Enables the profile_get_pack_export_candidates command without any pre-configured scope.","commands":{"allow":["profile_get_pack_export_candidates"],"deny":[]}},"allow-profile-get-projects":{"identifier":"allow-profile-get-projects","description":"Enables the profile_get_projects command without any pre-configured scope.","commands":{"allow":["profile_get_projects"],"deny":[]}},"allow-profile-install":{"identifier":"allow-profile-install","description":"Enables the profile_install command without any pre-configured scope.","commands":{"allow":["profile_install"],"deny":[]}},"allow-profile-kill":{"identifier":"allow-profile-kill","description":"Enables the profile_kill command without any pre-configured scope.","commands":{"allow":["profile_kill"],"deny":[]}},"allow-profile-list":{"identifier":"allow-profile-list","description":"Enables the profile_list command without any pre-configured scope.","commands":{"allow":["profile_list"],"deny":[]}},"allow-profile-remove":{"identifier":"allow-profile-remove","description":"Enables the profile_remove command without any pre-configured scope.","commands":{"allow":["profile_remove"],"deny":[]}},"allow-profile-remove-project":{"identifier":"allow-profile-remove-project","description":"Enables the profile_remove_project command without any pre-configured scope.","commands":{"allow":["profile_remove_project"],"deny":[]}},"allow-profile-repair-managed-modrinth":{"identifier":"allow-profile-repair-managed-modrinth","description":"Enables the profile_repair_managed_modrinth command without any pre-configured scope.","commands":{"allow":["profile_repair_managed_modrinth"],"deny":[]}},"allow-profile-run":{"identifier":"allow-profile-run","description":"Enables the profile_run command without any pre-configured scope.","commands":{"allow":["profile_run"],"deny":[]}},"allow-profile-run-credentials":{"identifier":"allow-profile-run-credentials","description":"Enables the profile_run_credentials command without any pre-configured scope.","commands":{"allow":["profile_run_credentials"],"deny":[]}},"allow-profile-toggle-disable-project":{"identifier":"allow-profile-toggle-disable-project","description":"Enables the profile_toggle_disable_project command without any pre-configured scope.","commands":{"allow":["profile_toggle_disable_project"],"deny":[]}},"allow-profile-update-all":{"identifier":"allow-profile-update-all","description":"Enables the profile_update_all command without any pre-configured scope.","commands":{"allow":["profile_update_all"],"deny":[]}},"allow-profile-update-managed-modrinth-version":{"identifier":"allow-profile-update-managed-modrinth-version","description":"Enables the profile_update_managed_modrinth_version command without any pre-configured scope.","commands":{"allow":["profile_update_managed_modrinth_version"],"deny":[]}},"allow-profile-update-project":{"identifier":"allow-profile-update-project","description":"Enables the profile_update_project command without any pre-configured scope.","commands":{"allow":["profile_update_project"],"deny":[]}},"deny-profile-add-project-from-path":{"identifier":"deny-profile-add-project-from-path","description":"Denies the profile_add_project_from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_add_project_from_path"]}},"deny-profile-add-project-from-version":{"identifier":"deny-profile-add-project-from-version","description":"Denies the profile_add_project_from_version command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_add_project_from_version"]}},"deny-profile-check-installed":{"identifier":"deny-profile-check-installed","description":"Denies the profile_check_installed command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_check_installed"]}},"deny-profile-edit":{"identifier":"deny-profile-edit","description":"Denies the profile_edit command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_edit"]}},"deny-profile-edit-icon":{"identifier":"deny-profile-edit-icon","description":"Denies the profile_edit_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_edit_icon"]}},"deny-profile-export-mrpack":{"identifier":"deny-profile-export-mrpack","description":"Denies the profile_export_mrpack command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_export_mrpack"]}},"deny-profile-get":{"identifier":"deny-profile-get","description":"Denies the profile_get command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get"]}},"deny-profile-get-full-path":{"identifier":"deny-profile-get-full-path","description":"Denies the profile_get_full_path command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_full_path"]}},"deny-profile-get-many":{"identifier":"deny-profile-get-many","description":"Denies the profile_get_many command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_many"]}},"deny-profile-get-mod-full-path":{"identifier":"deny-profile-get-mod-full-path","description":"Denies the profile_get_mod_full_path command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_mod_full_path"]}},"deny-profile-get-optimal-jre-key":{"identifier":"deny-profile-get-optimal-jre-key","description":"Denies the profile_get_optimal_jre_key command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_optimal_jre_key"]}},"deny-profile-get-pack-export-candidates":{"identifier":"deny-profile-get-pack-export-candidates","description":"Denies the profile_get_pack_export_candidates command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_pack_export_candidates"]}},"deny-profile-get-projects":{"identifier":"deny-profile-get-projects","description":"Denies the profile_get_projects command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_get_projects"]}},"deny-profile-install":{"identifier":"deny-profile-install","description":"Denies the profile_install command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_install"]}},"deny-profile-kill":{"identifier":"deny-profile-kill","description":"Denies the profile_kill command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_kill"]}},"deny-profile-list":{"identifier":"deny-profile-list","description":"Denies the profile_list command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_list"]}},"deny-profile-remove":{"identifier":"deny-profile-remove","description":"Denies the profile_remove command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_remove"]}},"deny-profile-remove-project":{"identifier":"deny-profile-remove-project","description":"Denies the profile_remove_project command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_remove_project"]}},"deny-profile-repair-managed-modrinth":{"identifier":"deny-profile-repair-managed-modrinth","description":"Denies the profile_repair_managed_modrinth command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_repair_managed_modrinth"]}},"deny-profile-run":{"identifier":"deny-profile-run","description":"Denies the profile_run command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_run"]}},"deny-profile-run-credentials":{"identifier":"deny-profile-run-credentials","description":"Denies the profile_run_credentials command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_run_credentials"]}},"deny-profile-toggle-disable-project":{"identifier":"deny-profile-toggle-disable-project","description":"Denies the profile_toggle_disable_project command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_toggle_disable_project"]}},"deny-profile-update-all":{"identifier":"deny-profile-update-all","description":"Denies the profile_update_all command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_update_all"]}},"deny-profile-update-managed-modrinth-version":{"identifier":"deny-profile-update-managed-modrinth-version","description":"Denies the profile_update_managed_modrinth_version command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_update_managed_modrinth_version"]}},"deny-profile-update-project":{"identifier":"deny-profile-update-project","description":"Denies the profile_update_project command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_update_project"]}}},"permission_sets":{},"global_scope_schema":null},"profile-create":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-profile-create","allow-profile-duplicate"]},"permissions":{"allow-profile-create":{"identifier":"allow-profile-create","description":"Enables the profile_create command without any pre-configured scope.","commands":{"allow":["profile_create"],"deny":[]}},"allow-profile-duplicate":{"identifier":"allow-profile-duplicate","description":"Enables the profile_duplicate command without any pre-configured scope.","commands":{"allow":["profile_duplicate"],"deny":[]}},"deny-profile-create":{"identifier":"deny-profile-create","description":"Denies the profile_create command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_create"]}},"deny-profile-duplicate":{"identifier":"deny-profile-duplicate","description":"Denies the profile_duplicate command without any pre-configured scope.","commands":{"allow":[],"deny":["profile_duplicate"]}}},"permission_sets":{},"global_scope_schema":null},"settings":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-settings-get","allow-settings-set","allow-cancel-directory-change"]},"permissions":{"allow-cancel-directory-change":{"identifier":"allow-cancel-directory-change","description":"Enables the cancel_directory_change command without any pre-configured scope.","commands":{"allow":["cancel_directory_change"],"deny":[]}},"allow-settings-get":{"identifier":"allow-settings-get","description":"Enables the settings_get command without any pre-configured scope.","commands":{"allow":["settings_get"],"deny":[]}},"allow-settings-set":{"identifier":"allow-settings-set","description":"Enables the settings_set command without any pre-configured scope.","commands":{"allow":["settings_set"],"deny":[]}},"deny-cancel-directory-change":{"identifier":"deny-cancel-directory-change","description":"Denies the cancel_directory_change command without any pre-configured scope.","commands":{"allow":[],"deny":["cancel_directory_change"]}},"deny-settings-get":{"identifier":"deny-settings-get","description":"Denies the settings_get command without any pre-configured scope.","commands":{"allow":[],"deny":["settings_get"]}},"deny-settings-set":{"identifier":"deny-settings-set","description":"Denies the settings_set command without any pre-configured scope.","commands":{"allow":[],"deny":["settings_set"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":{"identifier":"default","description":"This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n","permissions":["allow-open"]},"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":{"raw":{"default":false,"description":"Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.","type":"boolean"},"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ","type":"string"}},"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"}},"tags":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-tags-get-categories","allow-tags-get-report-types","allow-tags-get-loaders","allow-tags-get-game-versions","allow-tags-get-donation-platforms"]},"permissions":{"allow-tags-get-categories":{"identifier":"allow-tags-get-categories","description":"Enables the tags_get_categories command without any pre-configured scope.","commands":{"allow":["tags_get_categories"],"deny":[]}},"allow-tags-get-donation-platforms":{"identifier":"allow-tags-get-donation-platforms","description":"Enables the tags_get_donation_platforms command without any pre-configured scope.","commands":{"allow":["tags_get_donation_platforms"],"deny":[]}},"allow-tags-get-game-versions":{"identifier":"allow-tags-get-game-versions","description":"Enables the tags_get_game_versions command without any pre-configured scope.","commands":{"allow":["tags_get_game_versions"],"deny":[]}},"allow-tags-get-loaders":{"identifier":"allow-tags-get-loaders","description":"Enables the tags_get_loaders command without any pre-configured scope.","commands":{"allow":["tags_get_loaders"],"deny":[]}},"allow-tags-get-report-types":{"identifier":"allow-tags-get-report-types","description":"Enables the tags_get_report_types command without any pre-configured scope.","commands":{"allow":["tags_get_report_types"],"deny":[]}},"deny-tags-get-categories":{"identifier":"deny-tags-get-categories","description":"Denies the tags_get_categories command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_categories"]}},"deny-tags-get-donation-platforms":{"identifier":"deny-tags-get-donation-platforms","description":"Denies the tags_get_donation_platforms command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_donation_platforms"]}},"deny-tags-get-game-versions":{"identifier":"deny-tags-get-game-versions","description":"Denies the tags_get_game_versions command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_game_versions"]}},"deny-tags-get-loaders":{"identifier":"deny-tags-get-loaders","description":"Denies the tags_get_loaders command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_loaders"]}},"deny-tags-get-report-types":{"identifier":"deny-tags-get-report-types","description":"Denies the tags_get_report_types command without any pre-configured scope.","commands":{"allow":[],"deny":["tags_get_report_types"]}}},"permission_sets":{},"global_scope_schema":null},"updater":{"default_permission":{"identifier":"default","description":"This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n","permissions":["allow-check","allow-download","allow-install","allow-download-and-install"]},"permissions":{"allow-check":{"identifier":"allow-check","description":"Enables the check command without any pre-configured scope.","commands":{"allow":["check"],"deny":[]}},"allow-download":{"identifier":"allow-download","description":"Enables the download command without any pre-configured scope.","commands":{"allow":["download"],"deny":[]}},"allow-download-and-install":{"identifier":"allow-download-and-install","description":"Enables the download_and_install command without any pre-configured scope.","commands":{"allow":["download_and_install"],"deny":[]}},"allow-install":{"identifier":"allow-install","description":"Enables the install command without any pre-configured scope.","commands":{"allow":["install"],"deny":[]}},"deny-check":{"identifier":"deny-check","description":"Denies the check command without any pre-configured scope.","commands":{"allow":[],"deny":["check"]}},"deny-download":{"identifier":"deny-download","description":"Denies the download command without any pre-configured scope.","commands":{"allow":[],"deny":["download"]}},"deny-download-and-install":{"identifier":"deny-download-and-install","description":"Denies the download_and_install command without any pre-configured scope.","commands":{"allow":[],"deny":["download_and_install"]}},"deny-install":{"identifier":"deny-install","description":"Denies the install command without any pre-configured scope.","commands":{"allow":[],"deny":["install"]}}},"permission_sets":{},"global_scope_schema":null},"utils":{"default_permission":{"identifier":"default","description":"Default plugin permissions.","permissions":["allow-get-os","allow-should-disable-mouseover","allow-highlight-in-folder","allow-open-path","allow-show-launcher-logs-folder","allow-progress-bars-list","allow-get-opening-command"]},"permissions":{"allow-get-opening-command":{"identifier":"allow-get-opening-command","description":"Enables the get_opening_command command without any pre-configured scope.","commands":{"allow":["get_opening_command"],"deny":[]}},"allow-get-os":{"identifier":"allow-get-os","description":"Enables the get_os command without any pre-configured scope.","commands":{"allow":["get_os"],"deny":[]}},"allow-highlight-in-folder":{"identifier":"allow-highlight-in-folder","description":"Enables the highlight_in_folder command without any pre-configured scope.","commands":{"allow":["highlight_in_folder"],"deny":[]}},"allow-open-path":{"identifier":"allow-open-path","description":"Enables the open_path command without any pre-configured scope.","commands":{"allow":["open_path"],"deny":[]}},"allow-progress-bars-list":{"identifier":"allow-progress-bars-list","description":"Enables the progress_bars_list command without any pre-configured scope.","commands":{"allow":["progress_bars_list"],"deny":[]}},"allow-should-disable-mouseover":{"identifier":"allow-should-disable-mouseover","description":"Enables the should_disable_mouseover command without any pre-configured scope.","commands":{"allow":["should_disable_mouseover"],"deny":[]}},"allow-show-launcher-logs-folder":{"identifier":"allow-show-launcher-logs-folder","description":"Enables the show_launcher_logs_folder command without any pre-configured scope.","commands":{"allow":["show_launcher_logs_folder"],"deny":[]}},"deny-get-opening-command":{"identifier":"deny-get-opening-command","description":"Denies the get_opening_command command without any pre-configured scope.","commands":{"allow":[],"deny":["get_opening_command"]}},"deny-get-os":{"identifier":"deny-get-os","description":"Denies the get_os command without any pre-configured scope.","commands":{"allow":[],"deny":["get_os"]}},"deny-highlight-in-folder":{"identifier":"deny-highlight-in-folder","description":"Denies the highlight_in_folder command without any pre-configured scope.","commands":{"allow":[],"deny":["highlight_in_folder"]}},"deny-open-path":{"identifier":"deny-open-path","description":"Denies the open_path command without any pre-configured scope.","commands":{"allow":[],"deny":["open_path"]}},"deny-progress-bars-list":{"identifier":"deny-progress-bars-list","description":"Denies the progress_bars_list command without any pre-configured scope.","commands":{"allow":[],"deny":["progress_bars_list"]}},"deny-should-disable-mouseover":{"identifier":"deny-should-disable-mouseover","description":"Denies the should_disable_mouseover command without any pre-configured scope.","commands":{"allow":[],"deny":["should_disable_mouseover"]}},"deny-show-launcher-logs-folder":{"identifier":"deny-show-launcher-logs-folder","description":"Denies the show_launcher_logs_folder command without any pre-configured scope.","commands":{"allow":[],"deny":["show_launcher_logs_folder"]}}},"permission_sets":{},"global_scope_schema":null},"window-state":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n","permissions":["allow-filename","allow-restore-state","allow-save-window-state"]},"permissions":{"allow-filename":{"identifier":"allow-filename","description":"Enables the filename command without any pre-configured scope.","commands":{"allow":["filename"],"deny":[]}},"allow-restore-state":{"identifier":"allow-restore-state","description":"Enables the restore_state command without any pre-configured scope.","commands":{"allow":["restore_state"],"deny":[]}},"allow-save-window-state":{"identifier":"allow-save-window-state","description":"Enables the save_window_state command without any pre-configured scope.","commands":{"allow":["save_window_state"],"deny":[]}},"deny-filename":{"identifier":"deny-filename","description":"Denies the filename command without any pre-configured scope.","commands":{"allow":[],"deny":["filename"]}},"deny-restore-state":{"identifier":"deny-restore-state","description":"Denies the restore_state command without any pre-configured scope.","commands":{"allow":[],"deny":["restore_state"]}},"deny-save-window-state":{"identifier":"deny-save-window-state","description":"Denies the save_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["save_window_state"]}}},"permission_sets":{},"global_scope_schema":null}} \ No newline at end of file diff --git a/apps/app/gen/schemas/capabilities.json b/apps/app/gen/schemas/capabilities.json index f041cba2f..797ab23f5 100644 --- a/apps/app/gen/schemas/capabilities.json +++ b/apps/app/gen/schemas/capabilities.json @@ -1 +1 @@ -{"ads":{"identifier":"ads","description":"","remote":{"urls":["https://modrinth.com/*","http://localhost:3000/*"]},"local":false,"webviews":["ads-window"],"permissions":["shell:allow-open","ads:default"]},"core":{"identifier":"core","description":"","local":true,"windows":["main"],"permissions":["core:default","core:path:default","core:event:default","core:window:default","core:app:default","core:resources:default","core:menu:default","core:tray:default","core:window:allow-create","core:window:allow-maximize","core:window:allow-toggle-maximize","core:window:allow-unmaximize","core:window:allow-minimize","core:window:allow-unminimize","core:window:allow-show","core:window:allow-hide","core:window:allow-close","core:window:allow-set-decorations","core:window:allow-start-dragging","core:webview:allow-set-webview-zoom"]},"plugins":{"identifier":"plugins","description":"","local":true,"windows":["main"],"permissions":["dialog:allow-open","dialog:allow-confirm","shell:allow-open","os:allow-platform","os:allow-version","os:allow-os-type","os:allow-family","os:allow-arch","os:allow-exe-extension","os:allow-locale","os:allow-hostname","deep-link:default","window-state:default","window-state:allow-restore-state","window-state:allow-save-window-state","auth:default","import:default","jre:default","logs:default","metadata:default","mr-auth:default","profile-create:default","pack:default","process:default","profile:default","cache:default","settings:default","tags:default","utils:default","ads:default"]},"updater":{"identifier":"updater","description":"","local":true,"windows":["main"],"permissions":["updater:default"]}} \ No newline at end of file +{"ads":{"identifier":"ads","description":"","remote":{"urls":["https://modrinth.com/*","http://localhost:3000/*"]},"local":false,"webviews":["ads-window"],"permissions":["ads:default"]},"core":{"identifier":"core","description":"","local":true,"windows":["main"],"permissions":["core:default","core:path:default","core:event:default","core:window:default","core:app:default","core:resources:default","core:menu:default","core:tray:default","core:window:allow-create","core:window:allow-maximize","core:window:allow-toggle-maximize","core:window:allow-unmaximize","core:window:allow-minimize","core:window:allow-unminimize","core:window:allow-show","core:window:allow-hide","core:window:allow-close","core:window:allow-set-decorations","core:window:allow-start-dragging","core:webview:allow-set-webview-zoom"]},"plugins":{"identifier":"plugins","description":"","local":true,"windows":["main"],"permissions":["dialog:allow-open","dialog:allow-confirm","shell:allow-open","os:allow-platform","os:allow-version","os:allow-os-type","os:allow-family","os:allow-arch","os:allow-exe-extension","os:allow-locale","os:allow-hostname","deep-link:default","window-state:default","window-state:allow-restore-state","window-state:allow-save-window-state","auth:default","import:default","jre:default","logs:default","metadata:default","mr-auth:default","profile-create:default","pack:default","process:default","profile:default","cache:default","settings:default","tags:default","utils:default","ads:default"]},"updater":{"identifier":"updater","description":"","local":true,"windows":["main"],"permissions":["updater:default"]}} \ No newline at end of file diff --git a/apps/app/gen/schemas/desktop-schema.json b/apps/app/gen/schemas/desktop-schema.json index fb130beaf..6ff6c4a7e 100644 --- a/apps/app/gen/schemas/desktop-schema.json +++ b/apps/app/gen/schemas/desktop-schema.json @@ -320,6 +320,20 @@ "ads:allow-init-ads-window" ] }, + { + "description": "ads:allow-open-link -> Enables the open_link command without any pre-configured scope.", + "type": "string", + "enum": [ + "ads:allow-open-link" + ] + }, + { + "description": "ads:allow-record-ads-click -> Enables the record_ads_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "ads:allow-record-ads-click" + ] + }, { "description": "ads:allow-scroll-ads-window -> Enables the scroll_ads_window command without any pre-configured scope.", "type": "string", @@ -348,6 +362,20 @@ "ads:deny-init-ads-window" ] }, + { + "description": "ads:deny-open-link -> Denies the open_link command without any pre-configured scope.", + "type": "string", + "enum": [ + "ads:deny-open-link" + ] + }, + { + "description": "ads:deny-record-ads-click -> Denies the record_ads_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "ads:deny-record-ads-click" + ] + }, { "description": "ads:deny-scroll-ads-window -> Denies the scroll_ads_window command without any pre-configured scope.", "type": "string", diff --git a/apps/app/gen/schemas/macOS-schema.json b/apps/app/gen/schemas/macOS-schema.json index fb130beaf..6ff6c4a7e 100644 --- a/apps/app/gen/schemas/macOS-schema.json +++ b/apps/app/gen/schemas/macOS-schema.json @@ -320,6 +320,20 @@ "ads:allow-init-ads-window" ] }, + { + "description": "ads:allow-open-link -> Enables the open_link command without any pre-configured scope.", + "type": "string", + "enum": [ + "ads:allow-open-link" + ] + }, + { + "description": "ads:allow-record-ads-click -> Enables the record_ads_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "ads:allow-record-ads-click" + ] + }, { "description": "ads:allow-scroll-ads-window -> Enables the scroll_ads_window command without any pre-configured scope.", "type": "string", @@ -348,6 +362,20 @@ "ads:deny-init-ads-window" ] }, + { + "description": "ads:deny-open-link -> Denies the open_link command without any pre-configured scope.", + "type": "string", + "enum": [ + "ads:deny-open-link" + ] + }, + { + "description": "ads:deny-record-ads-click -> Denies the record_ads_click command without any pre-configured scope.", + "type": "string", + "enum": [ + "ads:deny-record-ads-click" + ] + }, { "description": "ads:deny-scroll-ads-window -> Denies the scroll_ads_window command without any pre-configured scope.", "type": "string", diff --git a/apps/app/src/api/ads-init.js b/apps/app/src/api/ads-init.js index 23291a894..33af81a17 100644 --- a/apps/app/src/api/ads-init.js +++ b/apps/app/src/api/ads-init.js @@ -1,6 +1,8 @@ -if (!window.modrinthClickListener) { - window.modrinthClickListener = true - document.addEventListener('click', function (e) { +document.addEventListener( + 'click', + function (e) { + window.top.postMessage({ modrinthAdClick: true }, 'https://modrinth.com') + let target = e.target while (target != null) { if (target.matches('a')) { @@ -12,8 +14,9 @@ if (!window.modrinthClickListener) { } target = target.parentElement } - }) -} + }, + true, +) window.open = (url, target, features) => { window.top.postMessage({ modrinthOpenUrl: url }, 'https://modrinth.com') diff --git a/apps/app/src/api/ads.rs b/apps/app/src/api/ads.rs index 70cbf061f..cf794f567 100644 --- a/apps/app/src/api/ads.rs +++ b/apps/app/src/api/ads.rs @@ -1,12 +1,19 @@ use serde::Serialize; +use std::collections::HashSet; +use std::time::{Duration, Instant}; use tauri::plugin::TauriPlugin; -use tauri::{Emitter, LogicalPosition, LogicalSize, Manager, Runtime}; +use tauri::{ + Emitter, Listener, LogicalPosition, LogicalSize, Manager, Runtime, +}; +use tauri_plugin_shell::{open, ShellExt}; use tokio::sync::RwLock; pub struct AdsState { pub shown: bool, pub size: Option>, pub position: Option>, + pub last_click: Option, + pub malicious_origins: HashSet, } pub fn init() -> TauriPlugin { @@ -16,6 +23,8 @@ pub fn init() -> TauriPlugin { shown: true, size: None, position: None, + last_click: None, + malicious_origins: HashSet::new(), })); // We refresh the ads window every 5 minutes for performance @@ -43,6 +52,8 @@ pub fn init() -> TauriPlugin { hide_ads_window, scroll_ads_window, show_ads_window, + record_ads_click, + open_link, ]) .build() } @@ -75,7 +86,7 @@ pub async fn init_ads_window( let _ = webview.set_size(LogicalSize::new(width, height)); } } else if let Some(window) = app.get_window("main") { - let _ = window.add_child( + let window = window.add_child( tauri::webview::WebviewBuilder::new( "ads-window", WebviewUrl::External( @@ -93,6 +104,12 @@ pub async fn init_ads_window( }, LogicalSize::new(width, height), ); + + if let Ok(window) = window { + window.listen_any("click", |event| { + println!("click: {:?}", event); + }); + } } Ok(()) @@ -159,3 +176,43 @@ pub async fn scroll_ads_window( Ok(()) } + +#[tauri::command] +pub async fn record_ads_click( + app: tauri::AppHandle, +) -> crate::api::Result<()> { + let state = app.state::>(); + + let mut state = state.write().await; + state.last_click = Some(Instant::now()); + + Ok(()) +} + +#[tauri::command] +pub async fn open_link( + app: tauri::AppHandle, + path: String, + origin: String, +) -> crate::api::Result<()> { + let state = app.state::>(); + let mut state = state.write().await; + + if url::Url::parse(&path).is_ok() + && !state.malicious_origins.contains(&origin) + { + if let Some(last_click) = state.last_click { + if last_click.elapsed() < Duration::from_millis(100) { + let _ = app.shell().open(&path, None); + state.last_click = None; + + return Ok(()); + } + } + } + + tracing::info!("Malicious click: {path} origin {origin}"); + state.malicious_origins.insert(origin); + + Ok(()) +} diff --git a/apps/frontend/src/components/ui/AdPlaceholder.vue b/apps/frontend/src/components/ui/AdPlaceholder.vue index 948ac2731..1e707b169 100644 --- a/apps/frontend/src/components/ui/AdPlaceholder.vue +++ b/apps/frontend/src/components/ui/AdPlaceholder.vue @@ -1,7 +1,7 @@ diff --git a/apps/frontend/src/public/promo-frame.html b/apps/frontend/src/public/promo-frame.html index 226c5de11..b1eab69a3 100644 --- a/apps/frontend/src/public/promo-frame.html +++ b/apps/frontend/src/public/promo-frame.html @@ -37,7 +37,7 @@ border-radius: 1rem; position: absolute; left: 0; - bottom: 0; + top: 0; z-index: 2; } @@ -58,19 +58,18 @@ ]); }); - let lastUrl = null window.addEventListener( "message", (event) => { - if (event.data.modrinthOpenUrl && window.__TAURI_INTERNALS__ && lastUrl !== event.data.modrinthOpenUrl) { - lastUrl = event.data.modrinthOpenUrl - // window.__TAURI_INTERNALS__.invoke("plugin:shell|open", { - // path: event.data.modrinthOpenUrl, - // }); + if (event.data.modrinthAdClick && window.__TAURI_INTERNALS__) { + window.__TAURI_INTERNALS__.invoke("plugin:ads|record_ads_click", {}); + } - setTimeout(() => { - lastUrl = null - }, 500) + if (event.data.modrinthOpenUrl && window.__TAURI_INTERNALS__) { + window.__TAURI_INTERNALS__.invoke("plugin:ads|open_link", { + path: event.data.modrinthOpenUrl, + origin: event.origin, + }); } }, false, diff --git a/packages/ui/src/components/base/Promotion.vue b/packages/ui/src/components/base/Promotion.vue deleted file mode 100644 index 8aca6209c..000000000 --- a/packages/ui/src/components/base/Promotion.vue +++ /dev/null @@ -1,121 +0,0 @@ - - - - - diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts index 572917c63..9dfb4e53a 100644 --- a/packages/ui/src/components/index.ts +++ b/packages/ui/src/components/index.ts @@ -22,7 +22,6 @@ export { default as Page } from './base/Page.vue' export { default as Pagination } from './base/Pagination.vue' export { default as PopoutMenu } from './base/PopoutMenu.vue' export { default as ProjectCard } from './base/ProjectCard.vue' -export { default as Promotion } from './base/Promotion.vue' export { default as ScrollablePanel } from './base/ScrollablePanel.vue' export { default as Slider } from './base/Slider.vue' export { default as StatItem } from './base/StatItem.vue'