diff --git a/Cargo.lock b/Cargo.lock index 6c3e2d9de..80fa80507 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "actix-codec" @@ -614,9 +614,9 @@ dependencies = [ [[package]] name = "async-stripe" -version = "0.37.3" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2f14b5943a52cf051bbbbb68538e93a69d1e291934174121e769f4b181113f5" +checksum = "58d670cf4d47a1b8ffef54286a5625382e360a34ee76902fd93ad8c7032a0c30" dependencies = [ "chrono", "futures-util", @@ -7467,6 +7467,18 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_tokenstream" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 2.0.79", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -10727,9 +10739,9 @@ dependencies = [ [[package]] name = "yaserde" -version = "0.8.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bf52af554a50b866aaad63d7eabd6fca298db3dfe49afd50b7ba5a33dfa0582" +checksum = "8bfa0d2b420fd005aa9b6f99f9584ebd964e6865d7ca787304cc1a3366c39231" dependencies = [ "log", "xml-rs", @@ -10737,15 +10749,17 @@ dependencies = [ [[package]] name = "yaserde_derive" -version = "0.8.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab8bd5c76eebb8380b26833d30abddbdd885b00dd06178412e0d51d5bfc221f" +checksum = "1f785831c0e09e0f1a83f917054fd59c088f6561db5b2a42c1c3e1687329325f" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "log", "proc-macro2", "quote", - "syn 1.0.109", + "serde", + "serde_tokenstream", + "syn 2.0.79", "xml-rs", ] diff --git a/apps/app-frontend/src/components/ui/tutorial/ModrinthLoginScreen.vue b/apps/app-frontend/src/components/ui/tutorial/ModrinthLoginScreen.vue index 91a042c44..d14086656 100644 --- a/apps/app-frontend/src/components/ui/tutorial/ModrinthLoginScreen.vue +++ b/apps/app-frontend/src/components/ui/tutorial/ModrinthLoginScreen.vue @@ -71,7 +71,7 @@ const password = ref('') const confirmPassword = ref('') const subscribe = ref(true) -async function signInOauth(provider) { +async function signInOauth() { const creds = await login().catch(handleSevereError) if (creds && creds.type === 'two_factor_required') { diff --git a/apps/app/.gitignore b/apps/app/.gitignore index f4dfb82b2..d887d6c0b 100644 --- a/apps/app/.gitignore +++ b/apps/app/.gitignore @@ -2,3 +2,5 @@ # will have compiled files and executables /target/ +# Generated by tauri, metadata generated at compile time +/gen/ diff --git a/apps/app/gen/schemas/acl-manifests.json b/apps/app/gen/schemas/acl-manifests.json deleted file mode 100644 index 4a4bc83d5..000000000 --- a/apps/app/gen/schemas/acl-manifests.json +++ /dev/null @@ -1 +0,0 @@ -{"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","allow-get-ads-personalization"]},"permissions":{"allow-get-ads-personalization":{"identifier":"allow-get-ads-personalization","description":"Enables the get_ads_personalization command without any pre-configured scope.","commands":{"allow":["get_ads_personalization"],"deny":[]}},"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-get-ads-personalization":{"identifier":"deny-get-ads-personalization","description":"Denies the get_ads_personalization command without any pre-configured scope.","commands":{"allow":[],"deny":["get_ads_personalization"]}},"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":{"default_permission":{"identifier":"default","description":"Default core plugins set which includes:\n- 'core:path:default'\n- 'core:event:default'\n- 'core:window:default'\n- 'core:webview:default'\n- 'core:app:default'\n- 'core:image:default'\n- 'core:resources:default'\n- 'core:menu:default'\n- 'core:tray:default'\n","permissions":["core:path:default","core:event:default","core:window:default","core:webview:default","core:app:default","core:image:default","core:resources:default","core:menu:default","core:tray:default"]},"permissions":{},"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-set-app-theme":{"identifier":"allow-set-app-theme","description":"Enables the set_app_theme command without any pre-configured scope.","commands":{"allow":["set_app_theme"],"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-set-app-theme":{"identifier":"deny-set-app-theme","description":"Denies the set_app_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_app_theme"]}},"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-clear-all-browsing-data":{"identifier":"allow-clear-all-browsing-data","description":"Enables the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":["clear_all_browsing_data"],"deny":[]}},"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-hide":{"identifier":"allow-webview-hide","description":"Enables the webview_hide command without any pre-configured scope.","commands":{"allow":["webview_hide"],"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-show":{"identifier":"allow-webview-show","description":"Enables the webview_show command without any pre-configured scope.","commands":{"allow":["webview_show"],"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-clear-all-browsing-data":{"identifier":"deny-clear-all-browsing-data","description":"Denies the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":[],"deny":["clear_all_browsing_data"]}},"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-hide":{"identifier":"deny-webview-hide","description":"Denies the webview_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_hide"]}},"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-show":{"identifier":"deny-webview-show","description":"Denies the webview_show command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_show"]}},"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-is-enabled","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-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"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-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"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-theme":{"identifier":"allow-set-theme","description":"Enables the set_theme command without any pre-configured scope.","commands":{"allow":["set_theme"],"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-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"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-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"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-theme":{"identifier":"deny-set-theme","description":"Denies the set_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_theme"]}},"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-modrinth-login","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":[]}},"allow-modrinth-login":{"identifier":"allow-modrinth-login","description":"Enables the modrinth_login command without any pre-configured scope.","commands":{"allow":["modrinth_login"],"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"]}},"deny-modrinth-login":{"identifier":"deny-modrinth-login","description":"Denies the modrinth_login command without any pre-configured scope.","commands":{"allow":[],"deny":["modrinth_login"]}}},"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 deleted file mode 100644 index 797ab23f5..000000000 --- a/apps/app/gen/schemas/capabilities.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 86ffc493b..000000000 --- a/apps/app/gen/schemas/desktop-schema.json +++ /dev/null @@ -1,3324 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } - } - }, - "deny": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "Default plugin permissions.", - "type": "string", - "const": "ads:default" - }, - { - "description": "Enables the get_ads_personalization command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-get-ads-personalization" - }, - { - "description": "Enables the hide_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-hide-ads-window" - }, - { - "description": "Enables the init_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-init-ads-window" - }, - { - "description": "Enables the open_link command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-open-link" - }, - { - "description": "Enables the record_ads_click command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-record-ads-click" - }, - { - "description": "Enables the scroll_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-scroll-ads-window" - }, - { - "description": "Enables the show_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-show-ads-window" - }, - { - "description": "Denies the get_ads_personalization command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-get-ads-personalization" - }, - { - "description": "Denies the hide_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-hide-ads-window" - }, - { - "description": "Denies the init_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-init-ads-window" - }, - { - "description": "Denies the open_link command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-open-link" - }, - { - "description": "Denies the record_ads_click command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-record-ads-click" - }, - { - "description": "Denies the scroll_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-scroll-ads-window" - }, - { - "description": "Denies the show_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-show-ads-window" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "auth:default" - }, - { - "description": "Enables the get_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-get-default-user" - }, - { - "description": "Enables the get_users command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-get-users" - }, - { - "description": "Enables the login command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-login" - }, - { - "description": "Enables the remove_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-remove-user" - }, - { - "description": "Enables the set_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-set-default-user" - }, - { - "description": "Denies the get_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-get-default-user" - }, - { - "description": "Denies the get_users command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-get-users" - }, - { - "description": "Denies the login command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-login" - }, - { - "description": "Denies the remove_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-remove-user" - }, - { - "description": "Denies the set_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-set-default-user" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "cache:default" - }, - { - "description": "Enables the get_organization command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-organization" - }, - { - "description": "Enables the get_organization_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-organization-many" - }, - { - "description": "Enables the get_project command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-project" - }, - { - "description": "Enables the get_project_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-project-many" - }, - { - "description": "Enables the get_search_results command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-search-results" - }, - { - "description": "Enables the get_search_results_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-search-results-many" - }, - { - "description": "Enables the get_team command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-team" - }, - { - "description": "Enables the get_team_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-team-many" - }, - { - "description": "Enables the get_user command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-user" - }, - { - "description": "Enables the get_user_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-user-many" - }, - { - "description": "Enables the get_version command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-version" - }, - { - "description": "Enables the get_version_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-version-many" - }, - { - "description": "Enables the purge_cache_types command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-purge-cache-types" - }, - { - "description": "Denies the get_organization command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-organization" - }, - { - "description": "Denies the get_organization_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-organization-many" - }, - { - "description": "Denies the get_project command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-project" - }, - { - "description": "Denies the get_project_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-project-many" - }, - { - "description": "Denies the get_search_results command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-search-results" - }, - { - "description": "Denies the get_search_results_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-search-results-many" - }, - { - "description": "Denies the get_team command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-team" - }, - { - "description": "Denies the get_team_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-team-many" - }, - { - "description": "Denies the get_user command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-user" - }, - { - "description": "Denies the get_user_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-user-many" - }, - { - "description": "Denies the get_version command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-version" - }, - { - "description": "Denies the get_version_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-version-many" - }, - { - "description": "Denies the purge_cache_types command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-purge-cache-types" - }, - { - "description": "Default core plugins set which includes:\n- 'core:path:default'\n- 'core:event:default'\n- 'core:window:default'\n- 'core:webview:default'\n- 'core:app:default'\n- 'core:image:default'\n- 'core:resources:default'\n- 'core:menu:default'\n- 'core:tray:default'\n", - "type": "string", - "const": "core:default" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:app:default" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide" - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show" - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon" - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name" - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme" - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version" - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide" - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show" - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon" - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name" - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme" - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:event:default" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit" - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to" - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen" - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten" - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit" - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to" - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen" - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:image:default" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes" - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new" - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba" - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size" - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes" - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new" - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba" - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:menu:default" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append" - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get" - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert" - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled" - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new" - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup" - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend" - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove" - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at" - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator" - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu" - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp" - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu" - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp" - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon" - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text" - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text" - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append" - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get" - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert" - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled" - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new" - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup" - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend" - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove" - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at" - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator" - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu" - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp" - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu" - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp" - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon" - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text" - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:path:default" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename" - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname" - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname" - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute" - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join" - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize" - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve" - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory" - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename" - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname" - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname" - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute" - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join" - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize" - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve" - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:resources:default" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:tray:default" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new" - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon" - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template" - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu" - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click" - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title" - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip" - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible" - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new" - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon" - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template" - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu" - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click" - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title" - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip" - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:webview:default" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data" - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview" - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window" - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews" - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools" - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print" - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent" - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus" - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position" - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size" - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom" - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close" - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide" - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position" - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show" - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size" - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data" - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview" - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window" - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews" - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools" - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print" - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent" - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus" - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position" - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size" - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom" - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close" - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide" - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position" - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show" - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:window:default" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors" - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close" - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create" - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor" - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position" - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy" - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows" - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide" - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position" - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size" - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize" - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable" - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled" - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused" - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen" - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable" - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized" - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable" - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized" - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable" - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible" - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize" - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize" - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point" - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position" - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size" - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor" - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention" - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor" - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom" - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top" - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable" - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected" - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab" - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon" - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position" - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible" - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations" - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled" - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus" - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon" - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events" - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size" - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable" - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size" - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable" - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position" - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar" - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable" - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow" - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size" - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints" - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar" - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title" - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style" - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces" - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show" - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging" - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging" - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme" - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title" - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize" - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize" - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize" - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors" - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close" - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create" - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor" - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position" - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy" - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows" - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide" - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position" - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size" - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize" - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable" - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled" - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused" - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen" - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable" - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized" - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable" - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized" - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable" - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible" - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize" - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize" - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point" - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position" - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size" - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor" - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention" - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor" - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom" - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top" - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable" - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected" - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab" - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon" - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position" - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible" - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations" - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled" - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus" - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon" - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events" - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size" - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable" - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size" - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable" - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position" - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar" - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable" - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow" - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size" - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints" - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar" - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title" - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style" - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces" - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show" - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging" - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging" - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme" - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title" - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize" - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize" - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize" - }, - { - "description": "Allows reading the opened deep link via the get_current command", - "type": "string", - "const": "deep-link:default" - }, - { - "description": "Enables the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-get-current" - }, - { - "description": "Enables the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-is-registered" - }, - { - "description": "Enables the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-register" - }, - { - "description": "Enables the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-unregister" - }, - { - "description": "Denies the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-get-current" - }, - { - "description": "Denies the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-is-registered" - }, - { - "description": "Denies the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-register" - }, - { - "description": "Denies the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-unregister" - }, - { - "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n", - "type": "string", - "const": "dialog:default" - }, - { - "description": "Enables the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-ask" - }, - { - "description": "Enables the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-confirm" - }, - { - "description": "Enables the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-message" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-open" - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-save" - }, - { - "description": "Denies the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-ask" - }, - { - "description": "Denies the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-confirm" - }, - { - "description": "Denies the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-message" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-open" - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-save" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "import:default" - }, - { - "description": "Enables the get_default_launcher_path command without any pre-configured scope.", - "type": "string", - "const": "import:allow-get-default-launcher-path" - }, - { - "description": "Enables the get_importable_instances command without any pre-configured scope.", - "type": "string", - "const": "import:allow-get-importable-instances" - }, - { - "description": "Enables the import_instance command without any pre-configured scope.", - "type": "string", - "const": "import:allow-import-instance" - }, - { - "description": "Enables the is_valid_importable_instance command without any pre-configured scope.", - "type": "string", - "const": "import:allow-is-valid-importable-instance" - }, - { - "description": "Denies the get_default_launcher_path command without any pre-configured scope.", - "type": "string", - "const": "import:deny-get-default-launcher-path" - }, - { - "description": "Denies the get_importable_instances command without any pre-configured scope.", - "type": "string", - "const": "import:deny-get-importable-instances" - }, - { - "description": "Denies the import_instance command without any pre-configured scope.", - "type": "string", - "const": "import:deny-import-instance" - }, - { - "description": "Denies the is_valid_importable_instance command without any pre-configured scope.", - "type": "string", - "const": "import:deny-is-valid-importable-instance" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "jre:default" - }, - { - "description": "Enables the get_java_versions command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-get-java-versions" - }, - { - "description": "Enables the jre_auto_install_java command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-auto-install-java" - }, - { - "description": "Enables the jre_find_filtered_jres command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-find-filtered-jres" - }, - { - "description": "Enables the jre_get_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-get-jre" - }, - { - "description": "Enables the jre_get_max_memory command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-get-max-memory" - }, - { - "description": "Enables the jre_test_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-test-jre" - }, - { - "description": "Enables the set_java_version command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-set-java-version" - }, - { - "description": "Denies the get_java_versions command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-get-java-versions" - }, - { - "description": "Denies the jre_auto_install_java command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-auto-install-java" - }, - { - "description": "Denies the jre_find_filtered_jres command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-find-filtered-jres" - }, - { - "description": "Denies the jre_get_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-get-jre" - }, - { - "description": "Denies the jre_get_max_memory command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-get-max-memory" - }, - { - "description": "Denies the jre_test_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-test-jre" - }, - { - "description": "Denies the set_java_version command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-set-java-version" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "logs:default" - }, - { - "description": "Enables the logs_delete_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-delete-logs" - }, - { - "description": "Enables the logs_delete_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-delete-logs-by-filename" - }, - { - "description": "Enables the logs_get_latest_log_cursor command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-latest-log-cursor" - }, - { - "description": "Enables the logs_get_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-logs" - }, - { - "description": "Enables the logs_get_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-logs-by-filename" - }, - { - "description": "Enables the logs_get_output_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-output-by-filename" - }, - { - "description": "Denies the logs_delete_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-delete-logs" - }, - { - "description": "Denies the logs_delete_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-delete-logs-by-filename" - }, - { - "description": "Denies the logs_get_latest_log_cursor command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-latest-log-cursor" - }, - { - "description": "Denies the logs_get_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-logs" - }, - { - "description": "Denies the logs_get_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-logs-by-filename" - }, - { - "description": "Denies the logs_get_output_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-output-by-filename" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "metadata:default" - }, - { - "description": "Enables the metadata_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:allow-metadata-get-game-versions" - }, - { - "description": "Enables the metadata_get_loader_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:allow-metadata-get-loader-versions" - }, - { - "description": "Denies the metadata_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:deny-metadata-get-game-versions" - }, - { - "description": "Denies the metadata_get_loader_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:deny-metadata-get-loader-versions" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "mr-auth:default" - }, - { - "description": "Enables the create_account command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-create-account" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-get" - }, - { - "description": "Enables the login_2fa command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-login-2fa" - }, - { - "description": "Enables the login_pass command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-login-pass" - }, - { - "description": "Enables the logout command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-logout" - }, - { - "description": "Enables the modrinth_login command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-modrinth-login" - }, - { - "description": "Denies the create_account command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-create-account" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-get" - }, - { - "description": "Denies the login_2fa command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-login-2fa" - }, - { - "description": "Denies the login_pass command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-login-pass" - }, - { - "description": "Denies the logout command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-logout" - }, - { - "description": "Denies the modrinth_login command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-modrinth-login" - }, - { - "description": "This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n", - "type": "string", - "const": "os:default" - }, - { - "description": "Enables the arch command without any pre-configured scope.", - "type": "string", - "const": "os:allow-arch" - }, - { - "description": "Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:allow-exe-extension" - }, - { - "description": "Enables the family command without any pre-configured scope.", - "type": "string", - "const": "os:allow-family" - }, - { - "description": "Enables the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:allow-hostname" - }, - { - "description": "Enables the locale command without any pre-configured scope.", - "type": "string", - "const": "os:allow-locale" - }, - { - "description": "Enables the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:allow-os-type" - }, - { - "description": "Enables the platform command without any pre-configured scope.", - "type": "string", - "const": "os:allow-platform" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "os:allow-version" - }, - { - "description": "Denies the arch command without any pre-configured scope.", - "type": "string", - "const": "os:deny-arch" - }, - { - "description": "Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:deny-exe-extension" - }, - { - "description": "Denies the family command without any pre-configured scope.", - "type": "string", - "const": "os:deny-family" - }, - { - "description": "Denies the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:deny-hostname" - }, - { - "description": "Denies the locale command without any pre-configured scope.", - "type": "string", - "const": "os:deny-locale" - }, - { - "description": "Denies the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:deny-os-type" - }, - { - "description": "Denies the platform command without any pre-configured scope.", - "type": "string", - "const": "os:deny-platform" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "os:deny-version" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "pack:default" - }, - { - "description": "Enables the pack_get_profile_from_pack command without any pre-configured scope.", - "type": "string", - "const": "pack:allow-pack-get-profile-from-pack" - }, - { - "description": "Enables the pack_install command without any pre-configured scope.", - "type": "string", - "const": "pack:allow-pack-install" - }, - { - "description": "Denies the pack_get_profile_from_pack command without any pre-configured scope.", - "type": "string", - "const": "pack:deny-pack-get-profile-from-pack" - }, - { - "description": "Denies the pack_install command without any pre-configured scope.", - "type": "string", - "const": "pack:deny-pack-install" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "process:default" - }, - { - "description": "Enables the process_get_all command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-get-all" - }, - { - "description": "Enables the process_get_by_profile_path command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-get-by-profile-path" - }, - { - "description": "Enables the process_kill command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-kill" - }, - { - "description": "Enables the process_wait_for command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-wait-for" - }, - { - "description": "Denies the process_get_all command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-get-all" - }, - { - "description": "Denies the process_get_by_profile_path command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-get-by-profile-path" - }, - { - "description": "Denies the process_kill command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-kill" - }, - { - "description": "Denies the process_wait_for command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-wait-for" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "profile:default" - }, - { - "description": "Enables the profile_add_project_from_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-add-project-from-path" - }, - { - "description": "Enables the profile_add_project_from_version command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-add-project-from-version" - }, - { - "description": "Enables the profile_check_installed command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-check-installed" - }, - { - "description": "Enables the profile_edit command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-edit" - }, - { - "description": "Enables the profile_edit_icon command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-edit-icon" - }, - { - "description": "Enables the profile_export_mrpack command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-export-mrpack" - }, - { - "description": "Enables the profile_get command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get" - }, - { - "description": "Enables the profile_get_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-full-path" - }, - { - "description": "Enables the profile_get_many command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-many" - }, - { - "description": "Enables the profile_get_mod_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-mod-full-path" - }, - { - "description": "Enables the profile_get_optimal_jre_key command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-optimal-jre-key" - }, - { - "description": "Enables the profile_get_pack_export_candidates command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-pack-export-candidates" - }, - { - "description": "Enables the profile_get_projects command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-projects" - }, - { - "description": "Enables the profile_install command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-install" - }, - { - "description": "Enables the profile_kill command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-kill" - }, - { - "description": "Enables the profile_list command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-list" - }, - { - "description": "Enables the profile_remove command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-remove" - }, - { - "description": "Enables the profile_remove_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-remove-project" - }, - { - "description": "Enables the profile_repair_managed_modrinth command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-repair-managed-modrinth" - }, - { - "description": "Enables the profile_run command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-run" - }, - { - "description": "Enables the profile_run_credentials command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-run-credentials" - }, - { - "description": "Enables the profile_toggle_disable_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-toggle-disable-project" - }, - { - "description": "Enables the profile_update_all command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-all" - }, - { - "description": "Enables the profile_update_managed_modrinth_version command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-managed-modrinth-version" - }, - { - "description": "Enables the profile_update_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-project" - }, - { - "description": "Denies the profile_add_project_from_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-add-project-from-path" - }, - { - "description": "Denies the profile_add_project_from_version command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-add-project-from-version" - }, - { - "description": "Denies the profile_check_installed command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-check-installed" - }, - { - "description": "Denies the profile_edit command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-edit" - }, - { - "description": "Denies the profile_edit_icon command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-edit-icon" - }, - { - "description": "Denies the profile_export_mrpack command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-export-mrpack" - }, - { - "description": "Denies the profile_get command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get" - }, - { - "description": "Denies the profile_get_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-full-path" - }, - { - "description": "Denies the profile_get_many command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-many" - }, - { - "description": "Denies the profile_get_mod_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-mod-full-path" - }, - { - "description": "Denies the profile_get_optimal_jre_key command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-optimal-jre-key" - }, - { - "description": "Denies the profile_get_pack_export_candidates command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-pack-export-candidates" - }, - { - "description": "Denies the profile_get_projects command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-projects" - }, - { - "description": "Denies the profile_install command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-install" - }, - { - "description": "Denies the profile_kill command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-kill" - }, - { - "description": "Denies the profile_list command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-list" - }, - { - "description": "Denies the profile_remove command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-remove" - }, - { - "description": "Denies the profile_remove_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-remove-project" - }, - { - "description": "Denies the profile_repair_managed_modrinth command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-repair-managed-modrinth" - }, - { - "description": "Denies the profile_run command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-run" - }, - { - "description": "Denies the profile_run_credentials command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-run-credentials" - }, - { - "description": "Denies the profile_toggle_disable_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-toggle-disable-project" - }, - { - "description": "Denies the profile_update_all command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-all" - }, - { - "description": "Denies the profile_update_managed_modrinth_version command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-managed-modrinth-version" - }, - { - "description": "Denies the profile_update_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-project" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "profile-create:default" - }, - { - "description": "Enables the profile_create command without any pre-configured scope.", - "type": "string", - "const": "profile-create:allow-profile-create" - }, - { - "description": "Enables the profile_duplicate command without any pre-configured scope.", - "type": "string", - "const": "profile-create:allow-profile-duplicate" - }, - { - "description": "Denies the profile_create command without any pre-configured scope.", - "type": "string", - "const": "profile-create:deny-profile-create" - }, - { - "description": "Denies the profile_duplicate command without any pre-configured scope.", - "type": "string", - "const": "profile-create:deny-profile-duplicate" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "settings:default" - }, - { - "description": "Enables the cancel_directory_change command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-cancel-directory-change" - }, - { - "description": "Enables the settings_get command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-settings-get" - }, - { - "description": "Enables the settings_set command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-settings-set" - }, - { - "description": "Denies the cancel_directory_change command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-cancel-directory-change" - }, - { - "description": "Denies the settings_get command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-settings-get" - }, - { - "description": "Denies the settings_set command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-settings-set" - }, - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "tags:default" - }, - { - "description": "Enables the tags_get_categories command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-categories" - }, - { - "description": "Enables the tags_get_donation_platforms command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-donation-platforms" - }, - { - "description": "Enables the tags_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-game-versions" - }, - { - "description": "Enables the tags_get_loaders command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-loaders" - }, - { - "description": "Enables the tags_get_report_types command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-report-types" - }, - { - "description": "Denies the tags_get_categories command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-categories" - }, - { - "description": "Denies the tags_get_donation_platforms command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-donation-platforms" - }, - { - "description": "Denies the tags_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-game-versions" - }, - { - "description": "Denies the tags_get_loaders command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-loaders" - }, - { - "description": "Denies the tags_get_report_types command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-report-types" - }, - { - "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n", - "type": "string", - "const": "updater:default" - }, - { - "description": "Enables the check command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-check" - }, - { - "description": "Enables the download command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download" - }, - { - "description": "Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download-and-install" - }, - { - "description": "Enables the install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-install" - }, - { - "description": "Denies the check command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-check" - }, - { - "description": "Denies the download command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download" - }, - { - "description": "Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download-and-install" - }, - { - "description": "Denies the install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-install" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "utils:default" - }, - { - "description": "Enables the get_opening_command command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-get-opening-command" - }, - { - "description": "Enables the get_os command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-get-os" - }, - { - "description": "Enables the highlight_in_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-highlight-in-folder" - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-open-path" - }, - { - "description": "Enables the progress_bars_list command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-progress-bars-list" - }, - { - "description": "Enables the should_disable_mouseover command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-should-disable-mouseover" - }, - { - "description": "Enables the show_launcher_logs_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-show-launcher-logs-folder" - }, - { - "description": "Denies the get_opening_command command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-get-opening-command" - }, - { - "description": "Denies the get_os command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-get-os" - }, - { - "description": "Denies the highlight_in_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-highlight-in-folder" - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-open-path" - }, - { - "description": "Denies the progress_bars_list command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-progress-bars-list" - }, - { - "description": "Denies the should_disable_mouseover command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-should-disable-mouseover" - }, - { - "description": "Denies the show_launcher_logs_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-show-launcher-logs-folder" - }, - { - "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n", - "type": "string", - "const": "window-state:default" - }, - { - "description": "Enables the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-filename" - }, - { - "description": "Enables the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-restore-state" - }, - { - "description": "Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-save-window-state" - }, - { - "description": "Denies the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-filename" - }, - { - "description": "Denies the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-restore-state" - }, - { - "description": "Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-save-window-state" - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "ShellAllowedArg": { - "description": "A command argument allowed to be executed by the webview API.", - "anyOf": [ - { - "description": "A non-configurable argument that is passed to the command in the order it was specified.", - "type": "string" - }, - { - "description": "A variable that is set while calling the command from the webview API.", - "type": "object", - "required": [ - "validator" - ], - "properties": { - "raw": { - "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", - "default": false, - "type": "boolean" - }, - "validator": { - "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", - "type": "string" - } - }, - "additionalProperties": false - } - ] - }, - "ShellAllowedArgs": { - "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", - "anyOf": [ - { - "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", - "type": "boolean" - }, - { - "description": "A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.", - "type": "array", - "items": { - "$ref": "#/definitions/ShellAllowedArg" - } - } - ] - } - } -} \ No newline at end of file diff --git a/apps/app/gen/schemas/linux-schema.json b/apps/app/gen/schemas/linux-schema.json deleted file mode 100644 index 44b4ebb29..000000000 --- a/apps/app/gen/schemas/linux-schema.json +++ /dev/null @@ -1,3314 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } - } - }, - "deny": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "Default plugin permissions.", - "type": "string", - "const": "ads:default" - }, - { - "description": "Enables the get_ads_personalization command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-get-ads-personalization" - }, - { - "description": "Enables the hide_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-hide-ads-window" - }, - { - "description": "Enables the init_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-init-ads-window" - }, - { - "description": "Enables the open_link command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-open-link" - }, - { - "description": "Enables the record_ads_click command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-record-ads-click" - }, - { - "description": "Enables the scroll_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-scroll-ads-window" - }, - { - "description": "Enables the show_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-show-ads-window" - }, - { - "description": "Denies the get_ads_personalization command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-get-ads-personalization" - }, - { - "description": "Denies the hide_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-hide-ads-window" - }, - { - "description": "Denies the init_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-init-ads-window" - }, - { - "description": "Denies the open_link command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-open-link" - }, - { - "description": "Denies the record_ads_click command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-record-ads-click" - }, - { - "description": "Denies the scroll_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-scroll-ads-window" - }, - { - "description": "Denies the show_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-show-ads-window" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "auth:default" - }, - { - "description": "Enables the get_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-get-default-user" - }, - { - "description": "Enables the get_users command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-get-users" - }, - { - "description": "Enables the login command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-login" - }, - { - "description": "Enables the remove_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-remove-user" - }, - { - "description": "Enables the set_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-set-default-user" - }, - { - "description": "Denies the get_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-get-default-user" - }, - { - "description": "Denies the get_users command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-get-users" - }, - { - "description": "Denies the login command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-login" - }, - { - "description": "Denies the remove_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-remove-user" - }, - { - "description": "Denies the set_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-set-default-user" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "cache:default" - }, - { - "description": "Enables the get_organization command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-organization" - }, - { - "description": "Enables the get_organization_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-organization-many" - }, - { - "description": "Enables the get_project command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-project" - }, - { - "description": "Enables the get_project_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-project-many" - }, - { - "description": "Enables the get_search_results command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-search-results" - }, - { - "description": "Enables the get_search_results_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-search-results-many" - }, - { - "description": "Enables the get_team command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-team" - }, - { - "description": "Enables the get_team_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-team-many" - }, - { - "description": "Enables the get_user command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-user" - }, - { - "description": "Enables the get_user_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-user-many" - }, - { - "description": "Enables the get_version command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-version" - }, - { - "description": "Enables the get_version_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-version-many" - }, - { - "description": "Enables the purge_cache_types command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-purge-cache-types" - }, - { - "description": "Denies the get_organization command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-organization" - }, - { - "description": "Denies the get_organization_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-organization-many" - }, - { - "description": "Denies the get_project command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-project" - }, - { - "description": "Denies the get_project_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-project-many" - }, - { - "description": "Denies the get_search_results command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-search-results" - }, - { - "description": "Denies the get_search_results_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-search-results-many" - }, - { - "description": "Denies the get_team command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-team" - }, - { - "description": "Denies the get_team_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-team-many" - }, - { - "description": "Denies the get_user command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-user" - }, - { - "description": "Denies the get_user_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-user-many" - }, - { - "description": "Denies the get_version command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-version" - }, - { - "description": "Denies the get_version_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-version-many" - }, - { - "description": "Denies the purge_cache_types command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-purge-cache-types" - }, - { - "description": "Default core plugins set which includes:\n- 'core:path:default'\n- 'core:event:default'\n- 'core:window:default'\n- 'core:webview:default'\n- 'core:app:default'\n- 'core:image:default'\n- 'core:resources:default'\n- 'core:menu:default'\n- 'core:tray:default'\n", - "type": "string", - "const": "core:default" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:app:default" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide" - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show" - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon" - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name" - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme" - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version" - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide" - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show" - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon" - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name" - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme" - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:event:default" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit" - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to" - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen" - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten" - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit" - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to" - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen" - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:image:default" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes" - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new" - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba" - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size" - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes" - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new" - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba" - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:menu:default" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append" - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get" - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert" - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled" - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new" - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup" - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend" - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove" - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at" - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator" - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu" - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp" - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu" - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp" - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon" - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text" - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text" - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append" - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get" - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert" - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled" - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new" - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup" - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend" - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove" - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at" - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator" - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu" - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp" - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu" - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp" - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon" - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text" - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:path:default" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename" - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname" - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname" - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute" - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join" - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize" - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve" - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory" - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename" - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname" - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname" - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute" - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join" - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize" - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve" - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:resources:default" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:tray:default" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new" - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon" - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template" - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu" - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click" - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title" - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip" - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible" - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new" - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon" - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template" - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu" - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click" - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title" - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip" - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:webview:default" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data" - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview" - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window" - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews" - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools" - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print" - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent" - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus" - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position" - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size" - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom" - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close" - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide" - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position" - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show" - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size" - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data" - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview" - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window" - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews" - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools" - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print" - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent" - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus" - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position" - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size" - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom" - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close" - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide" - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position" - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show" - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:window:default" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors" - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close" - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create" - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor" - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position" - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy" - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows" - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide" - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position" - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size" - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize" - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable" - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled" - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused" - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen" - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable" - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized" - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable" - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized" - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable" - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible" - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize" - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize" - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point" - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position" - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size" - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor" - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention" - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor" - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom" - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top" - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable" - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected" - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab" - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon" - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position" - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible" - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations" - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled" - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus" - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon" - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events" - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size" - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable" - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size" - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable" - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position" - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar" - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable" - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow" - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size" - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints" - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar" - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title" - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style" - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces" - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show" - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging" - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging" - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme" - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title" - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize" - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize" - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize" - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors" - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close" - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create" - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor" - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position" - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy" - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows" - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide" - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position" - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size" - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize" - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable" - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled" - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused" - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen" - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable" - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized" - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable" - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized" - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable" - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible" - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize" - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize" - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point" - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position" - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size" - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor" - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention" - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor" - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom" - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top" - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable" - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected" - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab" - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon" - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position" - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible" - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations" - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled" - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus" - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon" - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events" - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size" - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable" - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size" - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable" - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position" - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar" - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable" - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow" - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size" - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints" - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar" - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title" - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style" - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces" - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show" - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging" - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging" - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme" - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title" - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize" - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize" - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize" - }, - { - "description": "Allows reading the opened deep link via the get_current command", - "type": "string", - "const": "deep-link:default" - }, - { - "description": "Enables the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-get-current" - }, - { - "description": "Enables the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-is-registered" - }, - { - "description": "Enables the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-register" - }, - { - "description": "Enables the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-unregister" - }, - { - "description": "Denies the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-get-current" - }, - { - "description": "Denies the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-is-registered" - }, - { - "description": "Denies the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-register" - }, - { - "description": "Denies the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-unregister" - }, - { - "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n", - "type": "string", - "const": "dialog:default" - }, - { - "description": "Enables the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-ask" - }, - { - "description": "Enables the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-confirm" - }, - { - "description": "Enables the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-message" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-open" - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-save" - }, - { - "description": "Denies the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-ask" - }, - { - "description": "Denies the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-confirm" - }, - { - "description": "Denies the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-message" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-open" - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-save" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "import:default" - }, - { - "description": "Enables the get_default_launcher_path command without any pre-configured scope.", - "type": "string", - "const": "import:allow-get-default-launcher-path" - }, - { - "description": "Enables the get_importable_instances command without any pre-configured scope.", - "type": "string", - "const": "import:allow-get-importable-instances" - }, - { - "description": "Enables the import_instance command without any pre-configured scope.", - "type": "string", - "const": "import:allow-import-instance" - }, - { - "description": "Enables the is_valid_importable_instance command without any pre-configured scope.", - "type": "string", - "const": "import:allow-is-valid-importable-instance" - }, - { - "description": "Denies the get_default_launcher_path command without any pre-configured scope.", - "type": "string", - "const": "import:deny-get-default-launcher-path" - }, - { - "description": "Denies the get_importable_instances command without any pre-configured scope.", - "type": "string", - "const": "import:deny-get-importable-instances" - }, - { - "description": "Denies the import_instance command without any pre-configured scope.", - "type": "string", - "const": "import:deny-import-instance" - }, - { - "description": "Denies the is_valid_importable_instance command without any pre-configured scope.", - "type": "string", - "const": "import:deny-is-valid-importable-instance" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "jre:default" - }, - { - "description": "Enables the get_java_versions command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-get-java-versions" - }, - { - "description": "Enables the jre_auto_install_java command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-auto-install-java" - }, - { - "description": "Enables the jre_find_filtered_jres command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-find-filtered-jres" - }, - { - "description": "Enables the jre_get_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-get-jre" - }, - { - "description": "Enables the jre_get_max_memory command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-get-max-memory" - }, - { - "description": "Enables the jre_test_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-test-jre" - }, - { - "description": "Enables the set_java_version command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-set-java-version" - }, - { - "description": "Denies the get_java_versions command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-get-java-versions" - }, - { - "description": "Denies the jre_auto_install_java command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-auto-install-java" - }, - { - "description": "Denies the jre_find_filtered_jres command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-find-filtered-jres" - }, - { - "description": "Denies the jre_get_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-get-jre" - }, - { - "description": "Denies the jre_get_max_memory command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-get-max-memory" - }, - { - "description": "Denies the jre_test_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-test-jre" - }, - { - "description": "Denies the set_java_version command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-set-java-version" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "logs:default" - }, - { - "description": "Enables the logs_delete_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-delete-logs" - }, - { - "description": "Enables the logs_delete_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-delete-logs-by-filename" - }, - { - "description": "Enables the logs_get_latest_log_cursor command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-latest-log-cursor" - }, - { - "description": "Enables the logs_get_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-logs" - }, - { - "description": "Enables the logs_get_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-logs-by-filename" - }, - { - "description": "Enables the logs_get_output_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-output-by-filename" - }, - { - "description": "Denies the logs_delete_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-delete-logs" - }, - { - "description": "Denies the logs_delete_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-delete-logs-by-filename" - }, - { - "description": "Denies the logs_get_latest_log_cursor command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-latest-log-cursor" - }, - { - "description": "Denies the logs_get_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-logs" - }, - { - "description": "Denies the logs_get_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-logs-by-filename" - }, - { - "description": "Denies the logs_get_output_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-output-by-filename" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "metadata:default" - }, - { - "description": "Enables the metadata_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:allow-metadata-get-game-versions" - }, - { - "description": "Enables the metadata_get_loader_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:allow-metadata-get-loader-versions" - }, - { - "description": "Denies the metadata_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:deny-metadata-get-game-versions" - }, - { - "description": "Denies the metadata_get_loader_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:deny-metadata-get-loader-versions" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "mr-auth:default" - }, - { - "description": "Enables the create_account command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-create-account" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-get" - }, - { - "description": "Enables the login_2fa command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-login-2fa" - }, - { - "description": "Enables the login_pass command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-login-pass" - }, - { - "description": "Enables the logout command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-logout" - }, - { - "description": "Denies the create_account command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-create-account" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-get" - }, - { - "description": "Denies the login_2fa command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-login-2fa" - }, - { - "description": "Denies the login_pass command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-login-pass" - }, - { - "description": "Denies the logout command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-logout" - }, - { - "description": "This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n", - "type": "string", - "const": "os:default" - }, - { - "description": "Enables the arch command without any pre-configured scope.", - "type": "string", - "const": "os:allow-arch" - }, - { - "description": "Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:allow-exe-extension" - }, - { - "description": "Enables the family command without any pre-configured scope.", - "type": "string", - "const": "os:allow-family" - }, - { - "description": "Enables the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:allow-hostname" - }, - { - "description": "Enables the locale command without any pre-configured scope.", - "type": "string", - "const": "os:allow-locale" - }, - { - "description": "Enables the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:allow-os-type" - }, - { - "description": "Enables the platform command without any pre-configured scope.", - "type": "string", - "const": "os:allow-platform" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "os:allow-version" - }, - { - "description": "Denies the arch command without any pre-configured scope.", - "type": "string", - "const": "os:deny-arch" - }, - { - "description": "Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:deny-exe-extension" - }, - { - "description": "Denies the family command without any pre-configured scope.", - "type": "string", - "const": "os:deny-family" - }, - { - "description": "Denies the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:deny-hostname" - }, - { - "description": "Denies the locale command without any pre-configured scope.", - "type": "string", - "const": "os:deny-locale" - }, - { - "description": "Denies the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:deny-os-type" - }, - { - "description": "Denies the platform command without any pre-configured scope.", - "type": "string", - "const": "os:deny-platform" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "os:deny-version" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "pack:default" - }, - { - "description": "Enables the pack_get_profile_from_pack command without any pre-configured scope.", - "type": "string", - "const": "pack:allow-pack-get-profile-from-pack" - }, - { - "description": "Enables the pack_install command without any pre-configured scope.", - "type": "string", - "const": "pack:allow-pack-install" - }, - { - "description": "Denies the pack_get_profile_from_pack command without any pre-configured scope.", - "type": "string", - "const": "pack:deny-pack-get-profile-from-pack" - }, - { - "description": "Denies the pack_install command without any pre-configured scope.", - "type": "string", - "const": "pack:deny-pack-install" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "process:default" - }, - { - "description": "Enables the process_get_all command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-get-all" - }, - { - "description": "Enables the process_get_by_profile_path command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-get-by-profile-path" - }, - { - "description": "Enables the process_kill command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-kill" - }, - { - "description": "Enables the process_wait_for command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-wait-for" - }, - { - "description": "Denies the process_get_all command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-get-all" - }, - { - "description": "Denies the process_get_by_profile_path command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-get-by-profile-path" - }, - { - "description": "Denies the process_kill command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-kill" - }, - { - "description": "Denies the process_wait_for command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-wait-for" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "profile:default" - }, - { - "description": "Enables the profile_add_project_from_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-add-project-from-path" - }, - { - "description": "Enables the profile_add_project_from_version command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-add-project-from-version" - }, - { - "description": "Enables the profile_check_installed command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-check-installed" - }, - { - "description": "Enables the profile_edit command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-edit" - }, - { - "description": "Enables the profile_edit_icon command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-edit-icon" - }, - { - "description": "Enables the profile_export_mrpack command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-export-mrpack" - }, - { - "description": "Enables the profile_get command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get" - }, - { - "description": "Enables the profile_get_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-full-path" - }, - { - "description": "Enables the profile_get_many command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-many" - }, - { - "description": "Enables the profile_get_mod_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-mod-full-path" - }, - { - "description": "Enables the profile_get_optimal_jre_key command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-optimal-jre-key" - }, - { - "description": "Enables the profile_get_pack_export_candidates command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-pack-export-candidates" - }, - { - "description": "Enables the profile_get_projects command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-projects" - }, - { - "description": "Enables the profile_install command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-install" - }, - { - "description": "Enables the profile_kill command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-kill" - }, - { - "description": "Enables the profile_list command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-list" - }, - { - "description": "Enables the profile_remove command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-remove" - }, - { - "description": "Enables the profile_remove_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-remove-project" - }, - { - "description": "Enables the profile_repair_managed_modrinth command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-repair-managed-modrinth" - }, - { - "description": "Enables the profile_run command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-run" - }, - { - "description": "Enables the profile_run_credentials command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-run-credentials" - }, - { - "description": "Enables the profile_toggle_disable_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-toggle-disable-project" - }, - { - "description": "Enables the profile_update_all command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-all" - }, - { - "description": "Enables the profile_update_managed_modrinth_version command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-managed-modrinth-version" - }, - { - "description": "Enables the profile_update_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-project" - }, - { - "description": "Denies the profile_add_project_from_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-add-project-from-path" - }, - { - "description": "Denies the profile_add_project_from_version command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-add-project-from-version" - }, - { - "description": "Denies the profile_check_installed command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-check-installed" - }, - { - "description": "Denies the profile_edit command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-edit" - }, - { - "description": "Denies the profile_edit_icon command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-edit-icon" - }, - { - "description": "Denies the profile_export_mrpack command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-export-mrpack" - }, - { - "description": "Denies the profile_get command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get" - }, - { - "description": "Denies the profile_get_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-full-path" - }, - { - "description": "Denies the profile_get_many command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-many" - }, - { - "description": "Denies the profile_get_mod_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-mod-full-path" - }, - { - "description": "Denies the profile_get_optimal_jre_key command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-optimal-jre-key" - }, - { - "description": "Denies the profile_get_pack_export_candidates command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-pack-export-candidates" - }, - { - "description": "Denies the profile_get_projects command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-projects" - }, - { - "description": "Denies the profile_install command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-install" - }, - { - "description": "Denies the profile_kill command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-kill" - }, - { - "description": "Denies the profile_list command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-list" - }, - { - "description": "Denies the profile_remove command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-remove" - }, - { - "description": "Denies the profile_remove_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-remove-project" - }, - { - "description": "Denies the profile_repair_managed_modrinth command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-repair-managed-modrinth" - }, - { - "description": "Denies the profile_run command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-run" - }, - { - "description": "Denies the profile_run_credentials command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-run-credentials" - }, - { - "description": "Denies the profile_toggle_disable_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-toggle-disable-project" - }, - { - "description": "Denies the profile_update_all command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-all" - }, - { - "description": "Denies the profile_update_managed_modrinth_version command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-managed-modrinth-version" - }, - { - "description": "Denies the profile_update_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-project" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "profile-create:default" - }, - { - "description": "Enables the profile_create command without any pre-configured scope.", - "type": "string", - "const": "profile-create:allow-profile-create" - }, - { - "description": "Enables the profile_duplicate command without any pre-configured scope.", - "type": "string", - "const": "profile-create:allow-profile-duplicate" - }, - { - "description": "Denies the profile_create command without any pre-configured scope.", - "type": "string", - "const": "profile-create:deny-profile-create" - }, - { - "description": "Denies the profile_duplicate command without any pre-configured scope.", - "type": "string", - "const": "profile-create:deny-profile-duplicate" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "settings:default" - }, - { - "description": "Enables the cancel_directory_change command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-cancel-directory-change" - }, - { - "description": "Enables the settings_get command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-settings-get" - }, - { - "description": "Enables the settings_set command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-settings-set" - }, - { - "description": "Denies the cancel_directory_change command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-cancel-directory-change" - }, - { - "description": "Denies the settings_get command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-settings-get" - }, - { - "description": "Denies the settings_set command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-settings-set" - }, - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "tags:default" - }, - { - "description": "Enables the tags_get_categories command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-categories" - }, - { - "description": "Enables the tags_get_donation_platforms command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-donation-platforms" - }, - { - "description": "Enables the tags_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-game-versions" - }, - { - "description": "Enables the tags_get_loaders command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-loaders" - }, - { - "description": "Enables the tags_get_report_types command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-report-types" - }, - { - "description": "Denies the tags_get_categories command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-categories" - }, - { - "description": "Denies the tags_get_donation_platforms command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-donation-platforms" - }, - { - "description": "Denies the tags_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-game-versions" - }, - { - "description": "Denies the tags_get_loaders command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-loaders" - }, - { - "description": "Denies the tags_get_report_types command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-report-types" - }, - { - "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n", - "type": "string", - "const": "updater:default" - }, - { - "description": "Enables the check command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-check" - }, - { - "description": "Enables the download command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download" - }, - { - "description": "Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download-and-install" - }, - { - "description": "Enables the install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-install" - }, - { - "description": "Denies the check command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-check" - }, - { - "description": "Denies the download command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download" - }, - { - "description": "Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download-and-install" - }, - { - "description": "Denies the install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-install" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "utils:default" - }, - { - "description": "Enables the get_opening_command command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-get-opening-command" - }, - { - "description": "Enables the get_os command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-get-os" - }, - { - "description": "Enables the highlight_in_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-highlight-in-folder" - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-open-path" - }, - { - "description": "Enables the progress_bars_list command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-progress-bars-list" - }, - { - "description": "Enables the should_disable_mouseover command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-should-disable-mouseover" - }, - { - "description": "Enables the show_launcher_logs_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-show-launcher-logs-folder" - }, - { - "description": "Denies the get_opening_command command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-get-opening-command" - }, - { - "description": "Denies the get_os command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-get-os" - }, - { - "description": "Denies the highlight_in_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-highlight-in-folder" - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-open-path" - }, - { - "description": "Denies the progress_bars_list command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-progress-bars-list" - }, - { - "description": "Denies the should_disable_mouseover command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-should-disable-mouseover" - }, - { - "description": "Denies the show_launcher_logs_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-show-launcher-logs-folder" - }, - { - "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n", - "type": "string", - "const": "window-state:default" - }, - { - "description": "Enables the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-filename" - }, - { - "description": "Enables the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-restore-state" - }, - { - "description": "Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-save-window-state" - }, - { - "description": "Denies the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-filename" - }, - { - "description": "Denies the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-restore-state" - }, - { - "description": "Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-save-window-state" - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "ShellAllowedArg": { - "description": "A command argument allowed to be executed by the webview API.", - "anyOf": [ - { - "description": "A non-configurable argument that is passed to the command in the order it was specified.", - "type": "string" - }, - { - "description": "A variable that is set while calling the command from the webview API.", - "type": "object", - "required": [ - "validator" - ], - "properties": { - "raw": { - "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", - "default": false, - "type": "boolean" - }, - "validator": { - "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", - "type": "string" - } - }, - "additionalProperties": false - } - ] - }, - "ShellAllowedArgs": { - "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", - "anyOf": [ - { - "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", - "type": "boolean" - }, - { - "description": "A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.", - "type": "array", - "items": { - "$ref": "#/definitions/ShellAllowedArg" - } - } - ] - } - } -} \ No newline at end of file diff --git a/apps/app/gen/schemas/macOS-schema.json b/apps/app/gen/schemas/macOS-schema.json deleted file mode 100644 index 86ffc493b..000000000 --- a/apps/app/gen/schemas/macOS-schema.json +++ /dev/null @@ -1,3324 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } - } - }, - "deny": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "Default plugin permissions.", - "type": "string", - "const": "ads:default" - }, - { - "description": "Enables the get_ads_personalization command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-get-ads-personalization" - }, - { - "description": "Enables the hide_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-hide-ads-window" - }, - { - "description": "Enables the init_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-init-ads-window" - }, - { - "description": "Enables the open_link command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-open-link" - }, - { - "description": "Enables the record_ads_click command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-record-ads-click" - }, - { - "description": "Enables the scroll_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-scroll-ads-window" - }, - { - "description": "Enables the show_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-show-ads-window" - }, - { - "description": "Denies the get_ads_personalization command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-get-ads-personalization" - }, - { - "description": "Denies the hide_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-hide-ads-window" - }, - { - "description": "Denies the init_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-init-ads-window" - }, - { - "description": "Denies the open_link command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-open-link" - }, - { - "description": "Denies the record_ads_click command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-record-ads-click" - }, - { - "description": "Denies the scroll_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-scroll-ads-window" - }, - { - "description": "Denies the show_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-show-ads-window" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "auth:default" - }, - { - "description": "Enables the get_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-get-default-user" - }, - { - "description": "Enables the get_users command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-get-users" - }, - { - "description": "Enables the login command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-login" - }, - { - "description": "Enables the remove_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-remove-user" - }, - { - "description": "Enables the set_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-set-default-user" - }, - { - "description": "Denies the get_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-get-default-user" - }, - { - "description": "Denies the get_users command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-get-users" - }, - { - "description": "Denies the login command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-login" - }, - { - "description": "Denies the remove_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-remove-user" - }, - { - "description": "Denies the set_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-set-default-user" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "cache:default" - }, - { - "description": "Enables the get_organization command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-organization" - }, - { - "description": "Enables the get_organization_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-organization-many" - }, - { - "description": "Enables the get_project command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-project" - }, - { - "description": "Enables the get_project_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-project-many" - }, - { - "description": "Enables the get_search_results command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-search-results" - }, - { - "description": "Enables the get_search_results_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-search-results-many" - }, - { - "description": "Enables the get_team command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-team" - }, - { - "description": "Enables the get_team_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-team-many" - }, - { - "description": "Enables the get_user command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-user" - }, - { - "description": "Enables the get_user_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-user-many" - }, - { - "description": "Enables the get_version command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-version" - }, - { - "description": "Enables the get_version_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-version-many" - }, - { - "description": "Enables the purge_cache_types command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-purge-cache-types" - }, - { - "description": "Denies the get_organization command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-organization" - }, - { - "description": "Denies the get_organization_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-organization-many" - }, - { - "description": "Denies the get_project command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-project" - }, - { - "description": "Denies the get_project_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-project-many" - }, - { - "description": "Denies the get_search_results command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-search-results" - }, - { - "description": "Denies the get_search_results_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-search-results-many" - }, - { - "description": "Denies the get_team command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-team" - }, - { - "description": "Denies the get_team_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-team-many" - }, - { - "description": "Denies the get_user command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-user" - }, - { - "description": "Denies the get_user_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-user-many" - }, - { - "description": "Denies the get_version command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-version" - }, - { - "description": "Denies the get_version_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-version-many" - }, - { - "description": "Denies the purge_cache_types command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-purge-cache-types" - }, - { - "description": "Default core plugins set which includes:\n- 'core:path:default'\n- 'core:event:default'\n- 'core:window:default'\n- 'core:webview:default'\n- 'core:app:default'\n- 'core:image:default'\n- 'core:resources:default'\n- 'core:menu:default'\n- 'core:tray:default'\n", - "type": "string", - "const": "core:default" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:app:default" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide" - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show" - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon" - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name" - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme" - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version" - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide" - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show" - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon" - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name" - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme" - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:event:default" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit" - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to" - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen" - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten" - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit" - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to" - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen" - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:image:default" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes" - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new" - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba" - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size" - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes" - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new" - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba" - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:menu:default" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append" - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get" - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert" - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled" - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new" - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup" - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend" - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove" - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at" - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator" - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu" - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp" - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu" - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp" - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon" - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text" - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text" - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append" - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get" - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert" - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled" - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new" - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup" - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend" - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove" - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at" - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator" - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu" - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp" - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu" - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp" - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon" - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text" - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:path:default" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename" - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname" - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname" - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute" - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join" - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize" - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve" - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory" - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename" - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname" - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname" - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute" - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join" - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize" - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve" - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:resources:default" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:tray:default" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new" - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon" - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template" - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu" - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click" - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title" - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip" - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible" - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new" - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon" - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template" - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu" - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click" - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title" - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip" - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:webview:default" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data" - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview" - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window" - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews" - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools" - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print" - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent" - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus" - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position" - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size" - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom" - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close" - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide" - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position" - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show" - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size" - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data" - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview" - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window" - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews" - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools" - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print" - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent" - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus" - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position" - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size" - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom" - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close" - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide" - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position" - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show" - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:window:default" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors" - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close" - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create" - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor" - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position" - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy" - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows" - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide" - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position" - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size" - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize" - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable" - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled" - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused" - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen" - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable" - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized" - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable" - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized" - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable" - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible" - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize" - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize" - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point" - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position" - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size" - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor" - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention" - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor" - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom" - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top" - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable" - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected" - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab" - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon" - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position" - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible" - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations" - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled" - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus" - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon" - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events" - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size" - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable" - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size" - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable" - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position" - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar" - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable" - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow" - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size" - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints" - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar" - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title" - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style" - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces" - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show" - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging" - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging" - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme" - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title" - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize" - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize" - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize" - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors" - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close" - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create" - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor" - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position" - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy" - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows" - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide" - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position" - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size" - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize" - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable" - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled" - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused" - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen" - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable" - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized" - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable" - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized" - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable" - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible" - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize" - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize" - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point" - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position" - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size" - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor" - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention" - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor" - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom" - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top" - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable" - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected" - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab" - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon" - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position" - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible" - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations" - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled" - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus" - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon" - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events" - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size" - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable" - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size" - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable" - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position" - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar" - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable" - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow" - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size" - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints" - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar" - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title" - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style" - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces" - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show" - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging" - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging" - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme" - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title" - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize" - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize" - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize" - }, - { - "description": "Allows reading the opened deep link via the get_current command", - "type": "string", - "const": "deep-link:default" - }, - { - "description": "Enables the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-get-current" - }, - { - "description": "Enables the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-is-registered" - }, - { - "description": "Enables the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-register" - }, - { - "description": "Enables the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-unregister" - }, - { - "description": "Denies the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-get-current" - }, - { - "description": "Denies the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-is-registered" - }, - { - "description": "Denies the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-register" - }, - { - "description": "Denies the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-unregister" - }, - { - "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n", - "type": "string", - "const": "dialog:default" - }, - { - "description": "Enables the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-ask" - }, - { - "description": "Enables the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-confirm" - }, - { - "description": "Enables the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-message" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-open" - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-save" - }, - { - "description": "Denies the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-ask" - }, - { - "description": "Denies the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-confirm" - }, - { - "description": "Denies the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-message" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-open" - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-save" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "import:default" - }, - { - "description": "Enables the get_default_launcher_path command without any pre-configured scope.", - "type": "string", - "const": "import:allow-get-default-launcher-path" - }, - { - "description": "Enables the get_importable_instances command without any pre-configured scope.", - "type": "string", - "const": "import:allow-get-importable-instances" - }, - { - "description": "Enables the import_instance command without any pre-configured scope.", - "type": "string", - "const": "import:allow-import-instance" - }, - { - "description": "Enables the is_valid_importable_instance command without any pre-configured scope.", - "type": "string", - "const": "import:allow-is-valid-importable-instance" - }, - { - "description": "Denies the get_default_launcher_path command without any pre-configured scope.", - "type": "string", - "const": "import:deny-get-default-launcher-path" - }, - { - "description": "Denies the get_importable_instances command without any pre-configured scope.", - "type": "string", - "const": "import:deny-get-importable-instances" - }, - { - "description": "Denies the import_instance command without any pre-configured scope.", - "type": "string", - "const": "import:deny-import-instance" - }, - { - "description": "Denies the is_valid_importable_instance command without any pre-configured scope.", - "type": "string", - "const": "import:deny-is-valid-importable-instance" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "jre:default" - }, - { - "description": "Enables the get_java_versions command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-get-java-versions" - }, - { - "description": "Enables the jre_auto_install_java command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-auto-install-java" - }, - { - "description": "Enables the jre_find_filtered_jres command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-find-filtered-jres" - }, - { - "description": "Enables the jre_get_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-get-jre" - }, - { - "description": "Enables the jre_get_max_memory command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-get-max-memory" - }, - { - "description": "Enables the jre_test_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-test-jre" - }, - { - "description": "Enables the set_java_version command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-set-java-version" - }, - { - "description": "Denies the get_java_versions command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-get-java-versions" - }, - { - "description": "Denies the jre_auto_install_java command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-auto-install-java" - }, - { - "description": "Denies the jre_find_filtered_jres command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-find-filtered-jres" - }, - { - "description": "Denies the jre_get_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-get-jre" - }, - { - "description": "Denies the jre_get_max_memory command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-get-max-memory" - }, - { - "description": "Denies the jre_test_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-test-jre" - }, - { - "description": "Denies the set_java_version command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-set-java-version" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "logs:default" - }, - { - "description": "Enables the logs_delete_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-delete-logs" - }, - { - "description": "Enables the logs_delete_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-delete-logs-by-filename" - }, - { - "description": "Enables the logs_get_latest_log_cursor command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-latest-log-cursor" - }, - { - "description": "Enables the logs_get_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-logs" - }, - { - "description": "Enables the logs_get_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-logs-by-filename" - }, - { - "description": "Enables the logs_get_output_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-output-by-filename" - }, - { - "description": "Denies the logs_delete_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-delete-logs" - }, - { - "description": "Denies the logs_delete_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-delete-logs-by-filename" - }, - { - "description": "Denies the logs_get_latest_log_cursor command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-latest-log-cursor" - }, - { - "description": "Denies the logs_get_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-logs" - }, - { - "description": "Denies the logs_get_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-logs-by-filename" - }, - { - "description": "Denies the logs_get_output_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-output-by-filename" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "metadata:default" - }, - { - "description": "Enables the metadata_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:allow-metadata-get-game-versions" - }, - { - "description": "Enables the metadata_get_loader_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:allow-metadata-get-loader-versions" - }, - { - "description": "Denies the metadata_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:deny-metadata-get-game-versions" - }, - { - "description": "Denies the metadata_get_loader_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:deny-metadata-get-loader-versions" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "mr-auth:default" - }, - { - "description": "Enables the create_account command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-create-account" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-get" - }, - { - "description": "Enables the login_2fa command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-login-2fa" - }, - { - "description": "Enables the login_pass command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-login-pass" - }, - { - "description": "Enables the logout command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-logout" - }, - { - "description": "Enables the modrinth_login command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-modrinth-login" - }, - { - "description": "Denies the create_account command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-create-account" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-get" - }, - { - "description": "Denies the login_2fa command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-login-2fa" - }, - { - "description": "Denies the login_pass command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-login-pass" - }, - { - "description": "Denies the logout command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-logout" - }, - { - "description": "Denies the modrinth_login command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-modrinth-login" - }, - { - "description": "This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n", - "type": "string", - "const": "os:default" - }, - { - "description": "Enables the arch command without any pre-configured scope.", - "type": "string", - "const": "os:allow-arch" - }, - { - "description": "Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:allow-exe-extension" - }, - { - "description": "Enables the family command without any pre-configured scope.", - "type": "string", - "const": "os:allow-family" - }, - { - "description": "Enables the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:allow-hostname" - }, - { - "description": "Enables the locale command without any pre-configured scope.", - "type": "string", - "const": "os:allow-locale" - }, - { - "description": "Enables the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:allow-os-type" - }, - { - "description": "Enables the platform command without any pre-configured scope.", - "type": "string", - "const": "os:allow-platform" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "os:allow-version" - }, - { - "description": "Denies the arch command without any pre-configured scope.", - "type": "string", - "const": "os:deny-arch" - }, - { - "description": "Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:deny-exe-extension" - }, - { - "description": "Denies the family command without any pre-configured scope.", - "type": "string", - "const": "os:deny-family" - }, - { - "description": "Denies the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:deny-hostname" - }, - { - "description": "Denies the locale command without any pre-configured scope.", - "type": "string", - "const": "os:deny-locale" - }, - { - "description": "Denies the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:deny-os-type" - }, - { - "description": "Denies the platform command without any pre-configured scope.", - "type": "string", - "const": "os:deny-platform" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "os:deny-version" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "pack:default" - }, - { - "description": "Enables the pack_get_profile_from_pack command without any pre-configured scope.", - "type": "string", - "const": "pack:allow-pack-get-profile-from-pack" - }, - { - "description": "Enables the pack_install command without any pre-configured scope.", - "type": "string", - "const": "pack:allow-pack-install" - }, - { - "description": "Denies the pack_get_profile_from_pack command without any pre-configured scope.", - "type": "string", - "const": "pack:deny-pack-get-profile-from-pack" - }, - { - "description": "Denies the pack_install command without any pre-configured scope.", - "type": "string", - "const": "pack:deny-pack-install" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "process:default" - }, - { - "description": "Enables the process_get_all command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-get-all" - }, - { - "description": "Enables the process_get_by_profile_path command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-get-by-profile-path" - }, - { - "description": "Enables the process_kill command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-kill" - }, - { - "description": "Enables the process_wait_for command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-wait-for" - }, - { - "description": "Denies the process_get_all command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-get-all" - }, - { - "description": "Denies the process_get_by_profile_path command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-get-by-profile-path" - }, - { - "description": "Denies the process_kill command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-kill" - }, - { - "description": "Denies the process_wait_for command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-wait-for" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "profile:default" - }, - { - "description": "Enables the profile_add_project_from_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-add-project-from-path" - }, - { - "description": "Enables the profile_add_project_from_version command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-add-project-from-version" - }, - { - "description": "Enables the profile_check_installed command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-check-installed" - }, - { - "description": "Enables the profile_edit command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-edit" - }, - { - "description": "Enables the profile_edit_icon command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-edit-icon" - }, - { - "description": "Enables the profile_export_mrpack command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-export-mrpack" - }, - { - "description": "Enables the profile_get command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get" - }, - { - "description": "Enables the profile_get_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-full-path" - }, - { - "description": "Enables the profile_get_many command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-many" - }, - { - "description": "Enables the profile_get_mod_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-mod-full-path" - }, - { - "description": "Enables the profile_get_optimal_jre_key command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-optimal-jre-key" - }, - { - "description": "Enables the profile_get_pack_export_candidates command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-pack-export-candidates" - }, - { - "description": "Enables the profile_get_projects command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-projects" - }, - { - "description": "Enables the profile_install command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-install" - }, - { - "description": "Enables the profile_kill command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-kill" - }, - { - "description": "Enables the profile_list command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-list" - }, - { - "description": "Enables the profile_remove command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-remove" - }, - { - "description": "Enables the profile_remove_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-remove-project" - }, - { - "description": "Enables the profile_repair_managed_modrinth command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-repair-managed-modrinth" - }, - { - "description": "Enables the profile_run command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-run" - }, - { - "description": "Enables the profile_run_credentials command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-run-credentials" - }, - { - "description": "Enables the profile_toggle_disable_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-toggle-disable-project" - }, - { - "description": "Enables the profile_update_all command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-all" - }, - { - "description": "Enables the profile_update_managed_modrinth_version command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-managed-modrinth-version" - }, - { - "description": "Enables the profile_update_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-project" - }, - { - "description": "Denies the profile_add_project_from_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-add-project-from-path" - }, - { - "description": "Denies the profile_add_project_from_version command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-add-project-from-version" - }, - { - "description": "Denies the profile_check_installed command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-check-installed" - }, - { - "description": "Denies the profile_edit command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-edit" - }, - { - "description": "Denies the profile_edit_icon command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-edit-icon" - }, - { - "description": "Denies the profile_export_mrpack command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-export-mrpack" - }, - { - "description": "Denies the profile_get command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get" - }, - { - "description": "Denies the profile_get_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-full-path" - }, - { - "description": "Denies the profile_get_many command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-many" - }, - { - "description": "Denies the profile_get_mod_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-mod-full-path" - }, - { - "description": "Denies the profile_get_optimal_jre_key command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-optimal-jre-key" - }, - { - "description": "Denies the profile_get_pack_export_candidates command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-pack-export-candidates" - }, - { - "description": "Denies the profile_get_projects command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-projects" - }, - { - "description": "Denies the profile_install command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-install" - }, - { - "description": "Denies the profile_kill command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-kill" - }, - { - "description": "Denies the profile_list command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-list" - }, - { - "description": "Denies the profile_remove command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-remove" - }, - { - "description": "Denies the profile_remove_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-remove-project" - }, - { - "description": "Denies the profile_repair_managed_modrinth command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-repair-managed-modrinth" - }, - { - "description": "Denies the profile_run command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-run" - }, - { - "description": "Denies the profile_run_credentials command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-run-credentials" - }, - { - "description": "Denies the profile_toggle_disable_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-toggle-disable-project" - }, - { - "description": "Denies the profile_update_all command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-all" - }, - { - "description": "Denies the profile_update_managed_modrinth_version command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-managed-modrinth-version" - }, - { - "description": "Denies the profile_update_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-project" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "profile-create:default" - }, - { - "description": "Enables the profile_create command without any pre-configured scope.", - "type": "string", - "const": "profile-create:allow-profile-create" - }, - { - "description": "Enables the profile_duplicate command without any pre-configured scope.", - "type": "string", - "const": "profile-create:allow-profile-duplicate" - }, - { - "description": "Denies the profile_create command without any pre-configured scope.", - "type": "string", - "const": "profile-create:deny-profile-create" - }, - { - "description": "Denies the profile_duplicate command without any pre-configured scope.", - "type": "string", - "const": "profile-create:deny-profile-duplicate" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "settings:default" - }, - { - "description": "Enables the cancel_directory_change command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-cancel-directory-change" - }, - { - "description": "Enables the settings_get command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-settings-get" - }, - { - "description": "Enables the settings_set command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-settings-set" - }, - { - "description": "Denies the cancel_directory_change command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-cancel-directory-change" - }, - { - "description": "Denies the settings_get command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-settings-get" - }, - { - "description": "Denies the settings_set command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-settings-set" - }, - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "tags:default" - }, - { - "description": "Enables the tags_get_categories command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-categories" - }, - { - "description": "Enables the tags_get_donation_platforms command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-donation-platforms" - }, - { - "description": "Enables the tags_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-game-versions" - }, - { - "description": "Enables the tags_get_loaders command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-loaders" - }, - { - "description": "Enables the tags_get_report_types command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-report-types" - }, - { - "description": "Denies the tags_get_categories command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-categories" - }, - { - "description": "Denies the tags_get_donation_platforms command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-donation-platforms" - }, - { - "description": "Denies the tags_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-game-versions" - }, - { - "description": "Denies the tags_get_loaders command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-loaders" - }, - { - "description": "Denies the tags_get_report_types command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-report-types" - }, - { - "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n", - "type": "string", - "const": "updater:default" - }, - { - "description": "Enables the check command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-check" - }, - { - "description": "Enables the download command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download" - }, - { - "description": "Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download-and-install" - }, - { - "description": "Enables the install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-install" - }, - { - "description": "Denies the check command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-check" - }, - { - "description": "Denies the download command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download" - }, - { - "description": "Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download-and-install" - }, - { - "description": "Denies the install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-install" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "utils:default" - }, - { - "description": "Enables the get_opening_command command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-get-opening-command" - }, - { - "description": "Enables the get_os command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-get-os" - }, - { - "description": "Enables the highlight_in_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-highlight-in-folder" - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-open-path" - }, - { - "description": "Enables the progress_bars_list command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-progress-bars-list" - }, - { - "description": "Enables the should_disable_mouseover command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-should-disable-mouseover" - }, - { - "description": "Enables the show_launcher_logs_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-show-launcher-logs-folder" - }, - { - "description": "Denies the get_opening_command command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-get-opening-command" - }, - { - "description": "Denies the get_os command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-get-os" - }, - { - "description": "Denies the highlight_in_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-highlight-in-folder" - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-open-path" - }, - { - "description": "Denies the progress_bars_list command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-progress-bars-list" - }, - { - "description": "Denies the should_disable_mouseover command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-should-disable-mouseover" - }, - { - "description": "Denies the show_launcher_logs_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-show-launcher-logs-folder" - }, - { - "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n", - "type": "string", - "const": "window-state:default" - }, - { - "description": "Enables the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-filename" - }, - { - "description": "Enables the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-restore-state" - }, - { - "description": "Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-save-window-state" - }, - { - "description": "Denies the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-filename" - }, - { - "description": "Denies the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-restore-state" - }, - { - "description": "Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-save-window-state" - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "ShellAllowedArg": { - "description": "A command argument allowed to be executed by the webview API.", - "anyOf": [ - { - "description": "A non-configurable argument that is passed to the command in the order it was specified.", - "type": "string" - }, - { - "description": "A variable that is set while calling the command from the webview API.", - "type": "object", - "required": [ - "validator" - ], - "properties": { - "raw": { - "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", - "default": false, - "type": "boolean" - }, - "validator": { - "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", - "type": "string" - } - }, - "additionalProperties": false - } - ] - }, - "ShellAllowedArgs": { - "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", - "anyOf": [ - { - "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", - "type": "boolean" - }, - { - "description": "A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.", - "type": "array", - "items": { - "$ref": "#/definitions/ShellAllowedArg" - } - } - ] - } - } -} \ No newline at end of file diff --git a/apps/app/gen/schemas/windows-schema.json b/apps/app/gen/schemas/windows-schema.json deleted file mode 100644 index 44b4ebb29..000000000 --- a/apps/app/gen/schemas/windows-schema.json +++ /dev/null @@ -1,3314 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows fine grained access to the Tauri core, application, or plugin commands. If a window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nOn multiwebview windows, prefer [`Self::webviews`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThis is only required when using on multiwebview contexts, by default all child webviews of a window that matches [`Self::windows`] are linked.\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } - } - }, - "deny": { - "items": { - "title": "Entry", - "description": "A command allowed to be executed by the webview API.", - "type": "object", - "required": [ - "args", - "cmd", - "name", - "sidecar" - ], - "properties": { - "args": { - "description": "The allowed arguments for the command execution.", - "allOf": [ - { - "$ref": "#/definitions/ShellAllowedArgs" - } - ] - }, - "cmd": { - "description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - }, - "name": { - "description": "The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.", - "type": "string" - }, - "sidecar": { - "description": "If this command is a sidecar command.", - "type": "boolean" - } - } - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "Default plugin permissions.", - "type": "string", - "const": "ads:default" - }, - { - "description": "Enables the get_ads_personalization command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-get-ads-personalization" - }, - { - "description": "Enables the hide_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-hide-ads-window" - }, - { - "description": "Enables the init_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-init-ads-window" - }, - { - "description": "Enables the open_link command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-open-link" - }, - { - "description": "Enables the record_ads_click command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-record-ads-click" - }, - { - "description": "Enables the scroll_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-scroll-ads-window" - }, - { - "description": "Enables the show_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:allow-show-ads-window" - }, - { - "description": "Denies the get_ads_personalization command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-get-ads-personalization" - }, - { - "description": "Denies the hide_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-hide-ads-window" - }, - { - "description": "Denies the init_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-init-ads-window" - }, - { - "description": "Denies the open_link command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-open-link" - }, - { - "description": "Denies the record_ads_click command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-record-ads-click" - }, - { - "description": "Denies the scroll_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-scroll-ads-window" - }, - { - "description": "Denies the show_ads_window command without any pre-configured scope.", - "type": "string", - "const": "ads:deny-show-ads-window" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "auth:default" - }, - { - "description": "Enables the get_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-get-default-user" - }, - { - "description": "Enables the get_users command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-get-users" - }, - { - "description": "Enables the login command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-login" - }, - { - "description": "Enables the remove_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-remove-user" - }, - { - "description": "Enables the set_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:allow-set-default-user" - }, - { - "description": "Denies the get_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-get-default-user" - }, - { - "description": "Denies the get_users command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-get-users" - }, - { - "description": "Denies the login command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-login" - }, - { - "description": "Denies the remove_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-remove-user" - }, - { - "description": "Denies the set_default_user command without any pre-configured scope.", - "type": "string", - "const": "auth:deny-set-default-user" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "cache:default" - }, - { - "description": "Enables the get_organization command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-organization" - }, - { - "description": "Enables the get_organization_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-organization-many" - }, - { - "description": "Enables the get_project command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-project" - }, - { - "description": "Enables the get_project_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-project-many" - }, - { - "description": "Enables the get_search_results command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-search-results" - }, - { - "description": "Enables the get_search_results_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-search-results-many" - }, - { - "description": "Enables the get_team command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-team" - }, - { - "description": "Enables the get_team_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-team-many" - }, - { - "description": "Enables the get_user command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-user" - }, - { - "description": "Enables the get_user_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-user-many" - }, - { - "description": "Enables the get_version command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-version" - }, - { - "description": "Enables the get_version_many command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-get-version-many" - }, - { - "description": "Enables the purge_cache_types command without any pre-configured scope.", - "type": "string", - "const": "cache:allow-purge-cache-types" - }, - { - "description": "Denies the get_organization command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-organization" - }, - { - "description": "Denies the get_organization_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-organization-many" - }, - { - "description": "Denies the get_project command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-project" - }, - { - "description": "Denies the get_project_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-project-many" - }, - { - "description": "Denies the get_search_results command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-search-results" - }, - { - "description": "Denies the get_search_results_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-search-results-many" - }, - { - "description": "Denies the get_team command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-team" - }, - { - "description": "Denies the get_team_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-team-many" - }, - { - "description": "Denies the get_user command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-user" - }, - { - "description": "Denies the get_user_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-user-many" - }, - { - "description": "Denies the get_version command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-version" - }, - { - "description": "Denies the get_version_many command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-get-version-many" - }, - { - "description": "Denies the purge_cache_types command without any pre-configured scope.", - "type": "string", - "const": "cache:deny-purge-cache-types" - }, - { - "description": "Default core plugins set which includes:\n- 'core:path:default'\n- 'core:event:default'\n- 'core:window:default'\n- 'core:webview:default'\n- 'core:app:default'\n- 'core:image:default'\n- 'core:resources:default'\n- 'core:menu:default'\n- 'core:tray:default'\n", - "type": "string", - "const": "core:default" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:app:default" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide" - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show" - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon" - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name" - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme" - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version" - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide" - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show" - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon" - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name" - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme" - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:event:default" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit" - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to" - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen" - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten" - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit" - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to" - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen" - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:image:default" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes" - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new" - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba" - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size" - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes" - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new" - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba" - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:menu:default" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append" - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get" - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert" - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled" - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new" - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup" - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend" - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove" - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at" - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator" - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu" - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp" - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu" - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp" - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon" - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text" - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text" - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append" - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get" - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert" - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled" - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new" - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup" - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend" - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove" - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at" - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator" - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu" - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp" - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu" - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp" - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon" - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text" - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:path:default" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename" - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname" - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname" - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute" - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join" - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize" - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve" - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory" - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename" - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname" - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname" - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute" - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join" - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize" - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve" - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:resources:default" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:tray:default" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id" - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new" - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon" - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template" - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu" - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click" - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title" - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip" - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible" - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id" - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new" - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon" - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template" - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu" - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click" - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title" - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip" - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:webview:default" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data" - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview" - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window" - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews" - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools" - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print" - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent" - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus" - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position" - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size" - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom" - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close" - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide" - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position" - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show" - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size" - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data" - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview" - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window" - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews" - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools" - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print" - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent" - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus" - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position" - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size" - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom" - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close" - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide" - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position" - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show" - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size" - }, - { - "description": "Default permissions for the plugin.", - "type": "string", - "const": "core:window:default" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors" - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close" - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create" - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor" - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position" - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy" - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows" - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide" - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position" - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size" - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize" - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable" - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated" - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled" - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused" - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen" - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable" - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized" - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable" - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized" - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable" - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible" - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize" - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize" - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point" - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position" - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size" - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor" - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention" - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor" - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom" - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top" - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable" - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected" - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab" - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon" - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position" - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible" - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations" - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects" - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled" - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus" - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen" - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon" - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events" - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size" - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable" - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size" - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable" - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position" - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar" - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable" - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow" - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size" - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints" - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar" - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme" - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title" - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style" - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces" - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show" - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging" - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging" - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme" - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title" - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize" - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize" - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize" - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors" - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center" - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close" - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create" - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor" - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position" - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy" - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows" - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide" - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position" - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size" - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize" - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable" - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated" - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled" - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused" - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen" - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable" - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized" - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable" - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized" - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable" - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible" - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize" - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize" - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point" - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position" - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size" - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor" - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention" - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor" - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom" - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top" - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable" - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected" - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab" - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon" - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position" - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible" - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations" - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects" - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled" - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus" - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen" - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon" - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events" - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size" - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable" - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size" - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable" - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position" - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar" - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable" - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow" - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size" - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints" - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar" - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme" - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title" - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style" - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces" - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show" - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging" - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging" - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme" - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title" - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize" - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize" - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize" - }, - { - "description": "Allows reading the opened deep link via the get_current command", - "type": "string", - "const": "deep-link:default" - }, - { - "description": "Enables the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-get-current" - }, - { - "description": "Enables the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-is-registered" - }, - { - "description": "Enables the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-register" - }, - { - "description": "Enables the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-unregister" - }, - { - "description": "Denies the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-get-current" - }, - { - "description": "Denies the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-is-registered" - }, - { - "description": "Denies the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-register" - }, - { - "description": "Denies the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-unregister" - }, - { - "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n", - "type": "string", - "const": "dialog:default" - }, - { - "description": "Enables the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-ask" - }, - { - "description": "Enables the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-confirm" - }, - { - "description": "Enables the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-message" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-open" - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-save" - }, - { - "description": "Denies the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-ask" - }, - { - "description": "Denies the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-confirm" - }, - { - "description": "Denies the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-message" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-open" - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-save" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "import:default" - }, - { - "description": "Enables the get_default_launcher_path command without any pre-configured scope.", - "type": "string", - "const": "import:allow-get-default-launcher-path" - }, - { - "description": "Enables the get_importable_instances command without any pre-configured scope.", - "type": "string", - "const": "import:allow-get-importable-instances" - }, - { - "description": "Enables the import_instance command without any pre-configured scope.", - "type": "string", - "const": "import:allow-import-instance" - }, - { - "description": "Enables the is_valid_importable_instance command without any pre-configured scope.", - "type": "string", - "const": "import:allow-is-valid-importable-instance" - }, - { - "description": "Denies the get_default_launcher_path command without any pre-configured scope.", - "type": "string", - "const": "import:deny-get-default-launcher-path" - }, - { - "description": "Denies the get_importable_instances command without any pre-configured scope.", - "type": "string", - "const": "import:deny-get-importable-instances" - }, - { - "description": "Denies the import_instance command without any pre-configured scope.", - "type": "string", - "const": "import:deny-import-instance" - }, - { - "description": "Denies the is_valid_importable_instance command without any pre-configured scope.", - "type": "string", - "const": "import:deny-is-valid-importable-instance" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "jre:default" - }, - { - "description": "Enables the get_java_versions command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-get-java-versions" - }, - { - "description": "Enables the jre_auto_install_java command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-auto-install-java" - }, - { - "description": "Enables the jre_find_filtered_jres command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-find-filtered-jres" - }, - { - "description": "Enables the jre_get_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-get-jre" - }, - { - "description": "Enables the jre_get_max_memory command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-get-max-memory" - }, - { - "description": "Enables the jre_test_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-jre-test-jre" - }, - { - "description": "Enables the set_java_version command without any pre-configured scope.", - "type": "string", - "const": "jre:allow-set-java-version" - }, - { - "description": "Denies the get_java_versions command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-get-java-versions" - }, - { - "description": "Denies the jre_auto_install_java command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-auto-install-java" - }, - { - "description": "Denies the jre_find_filtered_jres command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-find-filtered-jres" - }, - { - "description": "Denies the jre_get_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-get-jre" - }, - { - "description": "Denies the jre_get_max_memory command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-get-max-memory" - }, - { - "description": "Denies the jre_test_jre command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-jre-test-jre" - }, - { - "description": "Denies the set_java_version command without any pre-configured scope.", - "type": "string", - "const": "jre:deny-set-java-version" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "logs:default" - }, - { - "description": "Enables the logs_delete_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-delete-logs" - }, - { - "description": "Enables the logs_delete_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-delete-logs-by-filename" - }, - { - "description": "Enables the logs_get_latest_log_cursor command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-latest-log-cursor" - }, - { - "description": "Enables the logs_get_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-logs" - }, - { - "description": "Enables the logs_get_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-logs-by-filename" - }, - { - "description": "Enables the logs_get_output_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:allow-logs-get-output-by-filename" - }, - { - "description": "Denies the logs_delete_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-delete-logs" - }, - { - "description": "Denies the logs_delete_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-delete-logs-by-filename" - }, - { - "description": "Denies the logs_get_latest_log_cursor command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-latest-log-cursor" - }, - { - "description": "Denies the logs_get_logs command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-logs" - }, - { - "description": "Denies the logs_get_logs_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-logs-by-filename" - }, - { - "description": "Denies the logs_get_output_by_filename command without any pre-configured scope.", - "type": "string", - "const": "logs:deny-logs-get-output-by-filename" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "metadata:default" - }, - { - "description": "Enables the metadata_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:allow-metadata-get-game-versions" - }, - { - "description": "Enables the metadata_get_loader_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:allow-metadata-get-loader-versions" - }, - { - "description": "Denies the metadata_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:deny-metadata-get-game-versions" - }, - { - "description": "Denies the metadata_get_loader_versions command without any pre-configured scope.", - "type": "string", - "const": "metadata:deny-metadata-get-loader-versions" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "mr-auth:default" - }, - { - "description": "Enables the create_account command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-create-account" - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-get" - }, - { - "description": "Enables the login_2fa command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-login-2fa" - }, - { - "description": "Enables the login_pass command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-login-pass" - }, - { - "description": "Enables the logout command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:allow-logout" - }, - { - "description": "Denies the create_account command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-create-account" - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-get" - }, - { - "description": "Denies the login_2fa command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-login-2fa" - }, - { - "description": "Denies the login_pass command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-login-pass" - }, - { - "description": "Denies the logout command without any pre-configured scope.", - "type": "string", - "const": "mr-auth:deny-logout" - }, - { - "description": "This permission set configures which\noperating system information are available\nto gather from the frontend.\n\n#### Granted Permissions\n\nAll information except the host name are available.\n\n", - "type": "string", - "const": "os:default" - }, - { - "description": "Enables the arch command without any pre-configured scope.", - "type": "string", - "const": "os:allow-arch" - }, - { - "description": "Enables the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:allow-exe-extension" - }, - { - "description": "Enables the family command without any pre-configured scope.", - "type": "string", - "const": "os:allow-family" - }, - { - "description": "Enables the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:allow-hostname" - }, - { - "description": "Enables the locale command without any pre-configured scope.", - "type": "string", - "const": "os:allow-locale" - }, - { - "description": "Enables the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:allow-os-type" - }, - { - "description": "Enables the platform command without any pre-configured scope.", - "type": "string", - "const": "os:allow-platform" - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "os:allow-version" - }, - { - "description": "Denies the arch command without any pre-configured scope.", - "type": "string", - "const": "os:deny-arch" - }, - { - "description": "Denies the exe_extension command without any pre-configured scope.", - "type": "string", - "const": "os:deny-exe-extension" - }, - { - "description": "Denies the family command without any pre-configured scope.", - "type": "string", - "const": "os:deny-family" - }, - { - "description": "Denies the hostname command without any pre-configured scope.", - "type": "string", - "const": "os:deny-hostname" - }, - { - "description": "Denies the locale command without any pre-configured scope.", - "type": "string", - "const": "os:deny-locale" - }, - { - "description": "Denies the os_type command without any pre-configured scope.", - "type": "string", - "const": "os:deny-os-type" - }, - { - "description": "Denies the platform command without any pre-configured scope.", - "type": "string", - "const": "os:deny-platform" - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "os:deny-version" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "pack:default" - }, - { - "description": "Enables the pack_get_profile_from_pack command without any pre-configured scope.", - "type": "string", - "const": "pack:allow-pack-get-profile-from-pack" - }, - { - "description": "Enables the pack_install command without any pre-configured scope.", - "type": "string", - "const": "pack:allow-pack-install" - }, - { - "description": "Denies the pack_get_profile_from_pack command without any pre-configured scope.", - "type": "string", - "const": "pack:deny-pack-get-profile-from-pack" - }, - { - "description": "Denies the pack_install command without any pre-configured scope.", - "type": "string", - "const": "pack:deny-pack-install" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "process:default" - }, - { - "description": "Enables the process_get_all command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-get-all" - }, - { - "description": "Enables the process_get_by_profile_path command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-get-by-profile-path" - }, - { - "description": "Enables the process_kill command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-kill" - }, - { - "description": "Enables the process_wait_for command without any pre-configured scope.", - "type": "string", - "const": "process:allow-process-wait-for" - }, - { - "description": "Denies the process_get_all command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-get-all" - }, - { - "description": "Denies the process_get_by_profile_path command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-get-by-profile-path" - }, - { - "description": "Denies the process_kill command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-kill" - }, - { - "description": "Denies the process_wait_for command without any pre-configured scope.", - "type": "string", - "const": "process:deny-process-wait-for" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "profile:default" - }, - { - "description": "Enables the profile_add_project_from_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-add-project-from-path" - }, - { - "description": "Enables the profile_add_project_from_version command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-add-project-from-version" - }, - { - "description": "Enables the profile_check_installed command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-check-installed" - }, - { - "description": "Enables the profile_edit command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-edit" - }, - { - "description": "Enables the profile_edit_icon command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-edit-icon" - }, - { - "description": "Enables the profile_export_mrpack command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-export-mrpack" - }, - { - "description": "Enables the profile_get command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get" - }, - { - "description": "Enables the profile_get_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-full-path" - }, - { - "description": "Enables the profile_get_many command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-many" - }, - { - "description": "Enables the profile_get_mod_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-mod-full-path" - }, - { - "description": "Enables the profile_get_optimal_jre_key command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-optimal-jre-key" - }, - { - "description": "Enables the profile_get_pack_export_candidates command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-pack-export-candidates" - }, - { - "description": "Enables the profile_get_projects command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-get-projects" - }, - { - "description": "Enables the profile_install command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-install" - }, - { - "description": "Enables the profile_kill command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-kill" - }, - { - "description": "Enables the profile_list command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-list" - }, - { - "description": "Enables the profile_remove command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-remove" - }, - { - "description": "Enables the profile_remove_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-remove-project" - }, - { - "description": "Enables the profile_repair_managed_modrinth command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-repair-managed-modrinth" - }, - { - "description": "Enables the profile_run command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-run" - }, - { - "description": "Enables the profile_run_credentials command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-run-credentials" - }, - { - "description": "Enables the profile_toggle_disable_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-toggle-disable-project" - }, - { - "description": "Enables the profile_update_all command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-all" - }, - { - "description": "Enables the profile_update_managed_modrinth_version command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-managed-modrinth-version" - }, - { - "description": "Enables the profile_update_project command without any pre-configured scope.", - "type": "string", - "const": "profile:allow-profile-update-project" - }, - { - "description": "Denies the profile_add_project_from_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-add-project-from-path" - }, - { - "description": "Denies the profile_add_project_from_version command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-add-project-from-version" - }, - { - "description": "Denies the profile_check_installed command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-check-installed" - }, - { - "description": "Denies the profile_edit command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-edit" - }, - { - "description": "Denies the profile_edit_icon command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-edit-icon" - }, - { - "description": "Denies the profile_export_mrpack command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-export-mrpack" - }, - { - "description": "Denies the profile_get command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get" - }, - { - "description": "Denies the profile_get_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-full-path" - }, - { - "description": "Denies the profile_get_many command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-many" - }, - { - "description": "Denies the profile_get_mod_full_path command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-mod-full-path" - }, - { - "description": "Denies the profile_get_optimal_jre_key command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-optimal-jre-key" - }, - { - "description": "Denies the profile_get_pack_export_candidates command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-pack-export-candidates" - }, - { - "description": "Denies the profile_get_projects command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-get-projects" - }, - { - "description": "Denies the profile_install command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-install" - }, - { - "description": "Denies the profile_kill command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-kill" - }, - { - "description": "Denies the profile_list command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-list" - }, - { - "description": "Denies the profile_remove command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-remove" - }, - { - "description": "Denies the profile_remove_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-remove-project" - }, - { - "description": "Denies the profile_repair_managed_modrinth command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-repair-managed-modrinth" - }, - { - "description": "Denies the profile_run command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-run" - }, - { - "description": "Denies the profile_run_credentials command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-run-credentials" - }, - { - "description": "Denies the profile_toggle_disable_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-toggle-disable-project" - }, - { - "description": "Denies the profile_update_all command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-all" - }, - { - "description": "Denies the profile_update_managed_modrinth_version command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-managed-modrinth-version" - }, - { - "description": "Denies the profile_update_project command without any pre-configured scope.", - "type": "string", - "const": "profile:deny-profile-update-project" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "profile-create:default" - }, - { - "description": "Enables the profile_create command without any pre-configured scope.", - "type": "string", - "const": "profile-create:allow-profile-create" - }, - { - "description": "Enables the profile_duplicate command without any pre-configured scope.", - "type": "string", - "const": "profile-create:allow-profile-duplicate" - }, - { - "description": "Denies the profile_create command without any pre-configured scope.", - "type": "string", - "const": "profile-create:deny-profile-create" - }, - { - "description": "Denies the profile_duplicate command without any pre-configured scope.", - "type": "string", - "const": "profile-create:deny-profile-duplicate" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "settings:default" - }, - { - "description": "Enables the cancel_directory_change command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-cancel-directory-change" - }, - { - "description": "Enables the settings_get command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-settings-get" - }, - { - "description": "Enables the settings_set command without any pre-configured scope.", - "type": "string", - "const": "settings:allow-settings-set" - }, - { - "description": "Denies the cancel_directory_change command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-cancel-directory-change" - }, - { - "description": "Denies the settings_get command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-settings-get" - }, - { - "description": "Denies the settings_set command without any pre-configured scope.", - "type": "string", - "const": "settings:deny-settings-set" - }, - { - "description": "This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality without any specific\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n", - "type": "string", - "const": "shell:default" - }, - { - "description": "Enables the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-execute" - }, - { - "description": "Enables the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-kill" - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-open" - }, - { - "description": "Enables the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-spawn" - }, - { - "description": "Enables the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:allow-stdin-write" - }, - { - "description": "Denies the execute command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-execute" - }, - { - "description": "Denies the kill command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-kill" - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-open" - }, - { - "description": "Denies the spawn command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-spawn" - }, - { - "description": "Denies the stdin_write command without any pre-configured scope.", - "type": "string", - "const": "shell:deny-stdin-write" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "tags:default" - }, - { - "description": "Enables the tags_get_categories command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-categories" - }, - { - "description": "Enables the tags_get_donation_platforms command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-donation-platforms" - }, - { - "description": "Enables the tags_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-game-versions" - }, - { - "description": "Enables the tags_get_loaders command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-loaders" - }, - { - "description": "Enables the tags_get_report_types command without any pre-configured scope.", - "type": "string", - "const": "tags:allow-tags-get-report-types" - }, - { - "description": "Denies the tags_get_categories command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-categories" - }, - { - "description": "Denies the tags_get_donation_platforms command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-donation-platforms" - }, - { - "description": "Denies the tags_get_game_versions command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-game-versions" - }, - { - "description": "Denies the tags_get_loaders command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-loaders" - }, - { - "description": "Denies the tags_get_report_types command without any pre-configured scope.", - "type": "string", - "const": "tags:deny-tags-get-report-types" - }, - { - "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n", - "type": "string", - "const": "updater:default" - }, - { - "description": "Enables the check command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-check" - }, - { - "description": "Enables the download command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download" - }, - { - "description": "Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download-and-install" - }, - { - "description": "Enables the install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-install" - }, - { - "description": "Denies the check command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-check" - }, - { - "description": "Denies the download command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download" - }, - { - "description": "Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download-and-install" - }, - { - "description": "Denies the install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-install" - }, - { - "description": "Default plugin permissions.", - "type": "string", - "const": "utils:default" - }, - { - "description": "Enables the get_opening_command command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-get-opening-command" - }, - { - "description": "Enables the get_os command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-get-os" - }, - { - "description": "Enables the highlight_in_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-highlight-in-folder" - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-open-path" - }, - { - "description": "Enables the progress_bars_list command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-progress-bars-list" - }, - { - "description": "Enables the should_disable_mouseover command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-should-disable-mouseover" - }, - { - "description": "Enables the show_launcher_logs_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:allow-show-launcher-logs-folder" - }, - { - "description": "Denies the get_opening_command command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-get-opening-command" - }, - { - "description": "Denies the get_os command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-get-os" - }, - { - "description": "Denies the highlight_in_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-highlight-in-folder" - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-open-path" - }, - { - "description": "Denies the progress_bars_list command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-progress-bars-list" - }, - { - "description": "Denies the should_disable_mouseover command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-should-disable-mouseover" - }, - { - "description": "Denies the show_launcher_logs_folder command without any pre-configured scope.", - "type": "string", - "const": "utils:deny-show-launcher-logs-folder" - }, - { - "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n", - "type": "string", - "const": "window-state:default" - }, - { - "description": "Enables the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-filename" - }, - { - "description": "Enables the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-restore-state" - }, - { - "description": "Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-save-window-state" - }, - { - "description": "Denies the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-filename" - }, - { - "description": "Denies the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-restore-state" - }, - { - "description": "Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-save-window-state" - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "ShellAllowedArg": { - "description": "A command argument allowed to be executed by the webview API.", - "anyOf": [ - { - "description": "A non-configurable argument that is passed to the command in the order it was specified.", - "type": "string" - }, - { - "description": "A variable that is set while calling the command from the webview API.", - "type": "object", - "required": [ - "validator" - ], - "properties": { - "raw": { - "description": "Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.", - "default": false, - "type": "boolean" - }, - "validator": { - "description": "[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: ", - "type": "string" - } - }, - "additionalProperties": false - } - ] - }, - "ShellAllowedArgs": { - "description": "A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration.", - "anyOf": [ - { - "description": "Use a simple boolean to allow all or disable all arguments to this command configuration.", - "type": "boolean" - }, - { - "description": "A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.", - "type": "array", - "items": { - "$ref": "#/definitions/ShellAllowedArg" - } - } - ] - } - } -} \ No newline at end of file diff --git a/apps/labrinth/.sqlx/query-043f8c91cc63fefaf56b4d59f1b46addf63c85056d9bc47f1f7a4eba86b914cd.json b/apps/labrinth/.sqlx/query-043f8c91cc63fefaf56b4d59f1b46addf63c85056d9bc47f1f7a4eba86b914cd.json new file mode 100644 index 000000000..f68de218d --- /dev/null +++ b/apps/labrinth/.sqlx/query-043f8c91cc63fefaf56b4d59f1b46addf63c85056d9bc47f1f7a4eba86b914cd.json @@ -0,0 +1,28 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT id, mod_id FROM mods_gallery\n WHERE image_url = $1\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int4" + }, + { + "ordinal": 1, + "name": "mod_id", + "type_info": "Int8" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false + ] + }, + "hash": "043f8c91cc63fefaf56b4d59f1b46addf63c85056d9bc47f1f7a4eba86b914cd" +} diff --git a/apps/labrinth/.sqlx/query-86ee460c74f0052a4945ab4df9829b3b077930d8e9e09dca76fde8983413adc6.json b/apps/labrinth/.sqlx/query-109b6307ff4b06297ddd45ac2385e6a445ee4a4d4f447816dfcd059892c8b68b.json similarity index 52% rename from apps/labrinth/.sqlx/query-86ee460c74f0052a4945ab4df9829b3b077930d8e9e09dca76fde8983413adc6.json rename to apps/labrinth/.sqlx/query-109b6307ff4b06297ddd45ac2385e6a445ee4a4d4f447816dfcd059892c8b68b.json index e146de6b9..c37d8c114 100644 --- a/apps/labrinth/.sqlx/query-86ee460c74f0052a4945ab4df9829b3b077930d8e9e09dca76fde8983413adc6.json +++ b/apps/labrinth/.sqlx/query-109b6307ff4b06297ddd45ac2385e6a445ee4a4d4f447816dfcd059892c8b68b.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, price_id, amount, currency_code, status, due, last_attempt, charge_type, subscription_id, subscription_interval\n FROM charges\n WHERE id = $1", + "query": "\n SELECT\n id, user_id, price_id, amount, currency_code, status, due, last_attempt,\n charge_type, subscription_id,\n -- Workaround for https://github.com/launchbadge/sqlx/issues/3336\n subscription_interval AS \"subscription_interval?\",\n payment_platform,\n payment_platform_id AS \"payment_platform_id?\",\n parent_charge_id AS \"parent_charge_id?\",\n net AS \"net?\"\n FROM charges\n WHERE user_id = $1 ORDER BY due DESC", "describe": { "columns": [ { @@ -55,8 +55,28 @@ }, { "ordinal": 10, - "name": "subscription_interval", + "name": "subscription_interval?", "type_info": "Text" + }, + { + "ordinal": 11, + "name": "payment_platform", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "payment_platform_id?", + "type_info": "Text" + }, + { + "ordinal": 13, + "name": "parent_charge_id?", + "type_info": "Int8" + }, + { + "ordinal": 14, + "name": "net?", + "type_info": "Int8" } ], "parameters": { @@ -75,8 +95,12 @@ true, false, true, - true + true, + false, + true, + true, + false ] }, - "hash": "86ee460c74f0052a4945ab4df9829b3b077930d8e9e09dca76fde8983413adc6" + "hash": "109b6307ff4b06297ddd45ac2385e6a445ee4a4d4f447816dfcd059892c8b68b" } diff --git a/apps/labrinth/.sqlx/query-87a0f2f991d749876d90b8e4ab73727f638a019b64e6cb1d891b333c2f09099c.json b/apps/labrinth/.sqlx/query-1cedeb3367e780314d99b4c069c5a98383277e0db6240394c9a36bbf5fd5d597.json similarity index 61% rename from apps/labrinth/.sqlx/query-87a0f2f991d749876d90b8e4ab73727f638a019b64e6cb1d891b333c2f09099c.json rename to apps/labrinth/.sqlx/query-1cedeb3367e780314d99b4c069c5a98383277e0db6240394c9a36bbf5fd5d597.json index 57038f239..b55505eed 100644 --- a/apps/labrinth/.sqlx/query-87a0f2f991d749876d90b8e4ab73727f638a019b64e6cb1d891b333c2f09099c.json +++ b/apps/labrinth/.sqlx/query-1cedeb3367e780314d99b4c069c5a98383277e0db6240394c9a36bbf5fd5d597.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, image_url, raw_image_url FROM mods_gallery\n WHERE image_url = $1\n ", + "query": "\n SELECT id, image_url, raw_image_url, mod_id FROM mods_gallery\n WHERE image_url = $1\n ", "describe": { "columns": [ { @@ -17,6 +17,11 @@ "ordinal": 2, "name": "raw_image_url", "type_info": "Text" + }, + { + "ordinal": 3, + "name": "mod_id", + "type_info": "Int8" } ], "parameters": { @@ -25,10 +30,11 @@ ] }, "nullable": [ + false, false, false, false ] }, - "hash": "87a0f2f991d749876d90b8e4ab73727f638a019b64e6cb1d891b333c2f09099c" + "hash": "1cedeb3367e780314d99b4c069c5a98383277e0db6240394c9a36bbf5fd5d597" } diff --git a/apps/labrinth/.sqlx/query-285cdd452fff85480dde02119d224a6e422e4041deb6f640ab5159d55ba2789c.json b/apps/labrinth/.sqlx/query-285cdd452fff85480dde02119d224a6e422e4041deb6f640ab5159d55ba2789c.json deleted file mode 100644 index 72f8988c7..000000000 --- a/apps/labrinth/.sqlx/query-285cdd452fff85480dde02119d224a6e422e4041deb6f640ab5159d55ba2789c.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, price_id, amount, currency_code, status, due, last_attempt, charge_type, subscription_id, subscription_interval\n FROM charges\n WHERE (status = 'open' AND due < $1) OR (status = 'failed' AND last_attempt < $1 - INTERVAL '2 days')", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int8" - }, - { - "ordinal": 1, - "name": "user_id", - "type_info": "Int8" - }, - { - "ordinal": 2, - "name": "price_id", - "type_info": "Int8" - }, - { - "ordinal": 3, - "name": "amount", - "type_info": "Int8" - }, - { - "ordinal": 4, - "name": "currency_code", - "type_info": "Text" - }, - { - "ordinal": 5, - "name": "status", - "type_info": "Varchar" - }, - { - "ordinal": 6, - "name": "due", - "type_info": "Timestamptz" - }, - { - "ordinal": 7, - "name": "last_attempt", - "type_info": "Timestamptz" - }, - { - "ordinal": 8, - "name": "charge_type", - "type_info": "Text" - }, - { - "ordinal": 9, - "name": "subscription_id", - "type_info": "Int8" - }, - { - "ordinal": 10, - "name": "subscription_interval", - "type_info": "Text" - } - ], - "parameters": { - "Left": [ - "Timestamptz" - ] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - true - ] - }, - "hash": "285cdd452fff85480dde02119d224a6e422e4041deb6f640ab5159d55ba2789c" -} diff --git a/apps/labrinth/.sqlx/query-3c128a131baef8c8b18dd85a02aeca9658b604b3f3eab53fbac5fa0d95560a1c.json b/apps/labrinth/.sqlx/query-3c128a131baef8c8b18dd85a02aeca9658b604b3f3eab53fbac5fa0d95560a1c.json new file mode 100644 index 000000000..8b8b97a5f --- /dev/null +++ b/apps/labrinth/.sqlx/query-3c128a131baef8c8b18dd85a02aeca9658b604b3f3eab53fbac5fa0d95560a1c.json @@ -0,0 +1,58 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT\n us.id, us.user_id, us.price_id, us.interval, us.created, us.status, us.metadata\n FROM users_subscriptions us\n \n INNER JOIN products_prices pp ON us.price_id = pp.id\n INNER JOIN products p ON p.metadata @> '{\"type\": \"pyro\"}'\n WHERE $1::text IS NULL OR us.status = $1::text\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int8" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Int8" + }, + { + "ordinal": 2, + "name": "price_id", + "type_info": "Int8" + }, + { + "ordinal": 3, + "name": "interval", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "created", + "type_info": "Timestamptz" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Varchar" + }, + { + "ordinal": 6, + "name": "metadata", + "type_info": "Jsonb" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + true + ] + }, + "hash": "3c128a131baef8c8b18dd85a02aeca9658b604b3f3eab53fbac5fa0d95560a1c" +} diff --git a/apps/labrinth/.sqlx/query-56d7b62fc05c77f228e46dbfe4eaca81b445a7f5a44e52a0526a1b57bd7a8c9d.json b/apps/labrinth/.sqlx/query-56d7b62fc05c77f228e46dbfe4eaca81b445a7f5a44e52a0526a1b57bd7a8c9d.json deleted file mode 100644 index 53bd4798f..000000000 --- a/apps/labrinth/.sqlx/query-56d7b62fc05c77f228e46dbfe4eaca81b445a7f5a44e52a0526a1b57bd7a8c9d.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO charges (id, user_id, price_id, amount, currency_code, charge_type, status, due, last_attempt, subscription_id, subscription_interval)\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)\n ON CONFLICT (id)\n DO UPDATE\n SET status = EXCLUDED.status,\n last_attempt = EXCLUDED.last_attempt,\n due = EXCLUDED.due,\n subscription_id = EXCLUDED.subscription_id,\n subscription_interval = EXCLUDED.subscription_interval\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Int8", - "Int8", - "Int8", - "Int8", - "Text", - "Text", - "Varchar", - "Timestamptz", - "Timestamptz", - "Int8", - "Text" - ] - }, - "nullable": [] - }, - "hash": "56d7b62fc05c77f228e46dbfe4eaca81b445a7f5a44e52a0526a1b57bd7a8c9d" -} diff --git a/apps/labrinth/.sqlx/query-457493bd11254ba1c9f81c47f15e8154053ae4e90e319d34a940fb73e33a69d4.json b/apps/labrinth/.sqlx/query-6bcbb0c584804c492ccee49ba0449a8a1cd88fa5d85d4cd6533f65d4c8021634.json similarity index 53% rename from apps/labrinth/.sqlx/query-457493bd11254ba1c9f81c47f15e8154053ae4e90e319d34a940fb73e33a69d4.json rename to apps/labrinth/.sqlx/query-6bcbb0c584804c492ccee49ba0449a8a1cd88fa5d85d4cd6533f65d4c8021634.json index 33d196a94..232d3662c 100644 --- a/apps/labrinth/.sqlx/query-457493bd11254ba1c9f81c47f15e8154053ae4e90e319d34a940fb73e33a69d4.json +++ b/apps/labrinth/.sqlx/query-6bcbb0c584804c492ccee49ba0449a8a1cd88fa5d85d4cd6533f65d4c8021634.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, price_id, amount, currency_code, status, due, last_attempt, charge_type, subscription_id, subscription_interval\n FROM charges\n WHERE user_id = $1 ORDER BY due DESC", + "query": "\n SELECT\n id, user_id, price_id, amount, currency_code, status, due, last_attempt,\n charge_type, subscription_id,\n -- Workaround for https://github.com/launchbadge/sqlx/issues/3336\n subscription_interval AS \"subscription_interval?\",\n payment_platform,\n payment_platform_id AS \"payment_platform_id?\",\n parent_charge_id AS \"parent_charge_id?\",\n net AS \"net?\"\n FROM charges\n WHERE parent_charge_id = $1", "describe": { "columns": [ { @@ -55,8 +55,28 @@ }, { "ordinal": 10, - "name": "subscription_interval", + "name": "subscription_interval?", "type_info": "Text" + }, + { + "ordinal": 11, + "name": "payment_platform", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "payment_platform_id?", + "type_info": "Text" + }, + { + "ordinal": 13, + "name": "parent_charge_id?", + "type_info": "Int8" + }, + { + "ordinal": 14, + "name": "net?", + "type_info": "Int8" } ], "parameters": { @@ -75,8 +95,12 @@ true, false, true, - true + true, + false, + true, + true, + false ] }, - "hash": "457493bd11254ba1c9f81c47f15e8154053ae4e90e319d34a940fb73e33a69d4" + "hash": "6bcbb0c584804c492ccee49ba0449a8a1cd88fa5d85d4cd6533f65d4c8021634" } diff --git a/apps/labrinth/.sqlx/query-7c61fee015231f0a97c25d24f2c6be24821e39e330ab82344ad3b985d0d2aaea.json b/apps/labrinth/.sqlx/query-7c61fee015231f0a97c25d24f2c6be24821e39e330ab82344ad3b985d0d2aaea.json deleted file mode 100644 index adda594e1..000000000 --- a/apps/labrinth/.sqlx/query-7c61fee015231f0a97c25d24f2c6be24821e39e330ab82344ad3b985d0d2aaea.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n SELECT id FROM mods_gallery\n WHERE image_url = $1\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Int4" - } - ], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [ - false - ] - }, - "hash": "7c61fee015231f0a97c25d24f2c6be24821e39e330ab82344ad3b985d0d2aaea" -} diff --git a/apps/labrinth/.sqlx/query-e68e27fcb3e85233be06e7435aaeb6b27d8dbe2ddaf211ba37a026eab3bb6926.json b/apps/labrinth/.sqlx/query-7fb6f7e0b2b993d4b89146fdd916dbd7efe31a42127f15c9617caa00d60b7bcc.json similarity index 53% rename from apps/labrinth/.sqlx/query-e68e27fcb3e85233be06e7435aaeb6b27d8dbe2ddaf211ba37a026eab3bb6926.json rename to apps/labrinth/.sqlx/query-7fb6f7e0b2b993d4b89146fdd916dbd7efe31a42127f15c9617caa00d60b7bcc.json index 5f6fbb751..663b45ab5 100644 --- a/apps/labrinth/.sqlx/query-e68e27fcb3e85233be06e7435aaeb6b27d8dbe2ddaf211ba37a026eab3bb6926.json +++ b/apps/labrinth/.sqlx/query-7fb6f7e0b2b993d4b89146fdd916dbd7efe31a42127f15c9617caa00d60b7bcc.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, price_id, amount, currency_code, status, due, last_attempt, charge_type, subscription_id, subscription_interval\n FROM charges\n WHERE subscription_id = $1 AND (status = 'open' OR status = 'cancelled')", + "query": "\n SELECT\n id, user_id, price_id, amount, currency_code, status, due, last_attempt,\n charge_type, subscription_id,\n -- Workaround for https://github.com/launchbadge/sqlx/issues/3336\n subscription_interval AS \"subscription_interval?\",\n payment_platform,\n payment_platform_id AS \"payment_platform_id?\",\n parent_charge_id AS \"parent_charge_id?\",\n net AS \"net?\"\n FROM charges\n WHERE id = $1", "describe": { "columns": [ { @@ -55,8 +55,28 @@ }, { "ordinal": 10, - "name": "subscription_interval", + "name": "subscription_interval?", "type_info": "Text" + }, + { + "ordinal": 11, + "name": "payment_platform", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "payment_platform_id?", + "type_info": "Text" + }, + { + "ordinal": 13, + "name": "parent_charge_id?", + "type_info": "Int8" + }, + { + "ordinal": 14, + "name": "net?", + "type_info": "Int8" } ], "parameters": { @@ -75,8 +95,12 @@ true, false, true, - true + true, + false, + true, + true, + false ] }, - "hash": "e68e27fcb3e85233be06e7435aaeb6b27d8dbe2ddaf211ba37a026eab3bb6926" + "hash": "7fb6f7e0b2b993d4b89146fdd916dbd7efe31a42127f15c9617caa00d60b7bcc" } diff --git a/apps/labrinth/.sqlx/query-8f51f552d1c63fa818cbdba581691e97f693a187ed05224a44adeee68c6809d1.json b/apps/labrinth/.sqlx/query-8f51f552d1c63fa818cbdba581691e97f693a187ed05224a44adeee68c6809d1.json new file mode 100644 index 000000000..91ab60c98 --- /dev/null +++ b/apps/labrinth/.sqlx/query-8f51f552d1c63fa818cbdba581691e97f693a187ed05224a44adeee68c6809d1.json @@ -0,0 +1,106 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT\n id, user_id, price_id, amount, currency_code, status, due, last_attempt,\n charge_type, subscription_id,\n -- Workaround for https://github.com/launchbadge/sqlx/issues/3336\n subscription_interval AS \"subscription_interval?\",\n payment_platform,\n payment_platform_id AS \"payment_platform_id?\",\n parent_charge_id AS \"parent_charge_id?\",\n net AS \"net?\"\n FROM charges\n \n WHERE\n charge_type = $1 AND\n (\n (status = 'open' AND due < NOW()) OR\n (status = 'failed' AND last_attempt < NOW() - INTERVAL '2 days')\n )\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int8" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Int8" + }, + { + "ordinal": 2, + "name": "price_id", + "type_info": "Int8" + }, + { + "ordinal": 3, + "name": "amount", + "type_info": "Int8" + }, + { + "ordinal": 4, + "name": "currency_code", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Varchar" + }, + { + "ordinal": 6, + "name": "due", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "last_attempt", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "charge_type", + "type_info": "Text" + }, + { + "ordinal": 9, + "name": "subscription_id", + "type_info": "Int8" + }, + { + "ordinal": 10, + "name": "subscription_interval?", + "type_info": "Text" + }, + { + "ordinal": 11, + "name": "payment_platform", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "payment_platform_id?", + "type_info": "Text" + }, + { + "ordinal": 13, + "name": "parent_charge_id?", + "type_info": "Int8" + }, + { + "ordinal": 14, + "name": "net?", + "type_info": "Int8" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true, + false, + true, + true, + false, + true, + true, + false + ] + }, + "hash": "8f51f552d1c63fa818cbdba581691e97f693a187ed05224a44adeee68c6809d1" +} diff --git a/apps/labrinth/.sqlx/query-933606e1ee3cd9a33e57eaf507ee8b7f966e8d3de5aaafadfe7ae30c12c925d2.json b/apps/labrinth/.sqlx/query-933606e1ee3cd9a33e57eaf507ee8b7f966e8d3de5aaafadfe7ae30c12c925d2.json new file mode 100644 index 000000000..7a8f24adc --- /dev/null +++ b/apps/labrinth/.sqlx/query-933606e1ee3cd9a33e57eaf507ee8b7f966e8d3de5aaafadfe7ae30c12c925d2.json @@ -0,0 +1,28 @@ +{ + "db_name": "PostgreSQL", + "query": "\n INSERT INTO charges (id, user_id, price_id, amount, currency_code, charge_type, status, due, last_attempt, subscription_id, subscription_interval, payment_platform, payment_platform_id, parent_charge_id, net)\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15)\n ON CONFLICT (id)\n DO UPDATE\n SET status = EXCLUDED.status,\n last_attempt = EXCLUDED.last_attempt,\n due = EXCLUDED.due,\n subscription_id = EXCLUDED.subscription_id,\n subscription_interval = EXCLUDED.subscription_interval,\n payment_platform = EXCLUDED.payment_platform,\n payment_platform_id = EXCLUDED.payment_platform_id,\n parent_charge_id = EXCLUDED.parent_charge_id,\n net = EXCLUDED.net\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int8", + "Int8", + "Int8", + "Int8", + "Text", + "Text", + "Varchar", + "Timestamptz", + "Timestamptz", + "Int8", + "Text", + "Text", + "Text", + "Int8", + "Int8" + ] + }, + "nullable": [] + }, + "hash": "933606e1ee3cd9a33e57eaf507ee8b7f966e8d3de5aaafadfe7ae30c12c925d2" +} diff --git a/apps/labrinth/.sqlx/query-a87c913916adf9177f8f38369975d5fc644d989293ccb42c1e06ec54dc2571f8.json b/apps/labrinth/.sqlx/query-99cca53fd3f35325e2da3b671532bf98b8c7ad8e7cb9158e4eb9c5bac66d20b2.json similarity index 51% rename from apps/labrinth/.sqlx/query-a87c913916adf9177f8f38369975d5fc644d989293ccb42c1e06ec54dc2571f8.json rename to apps/labrinth/.sqlx/query-99cca53fd3f35325e2da3b671532bf98b8c7ad8e7cb9158e4eb9c5bac66d20b2.json index 66986fd92..b755721ad 100644 --- a/apps/labrinth/.sqlx/query-a87c913916adf9177f8f38369975d5fc644d989293ccb42c1e06ec54dc2571f8.json +++ b/apps/labrinth/.sqlx/query-99cca53fd3f35325e2da3b671532bf98b8c7ad8e7cb9158e4eb9c5bac66d20b2.json @@ -1,6 +1,6 @@ { "db_name": "PostgreSQL", - "query": "\n SELECT id, user_id, price_id, amount, currency_code, status, due, last_attempt, charge_type, subscription_id, subscription_interval\n FROM charges\n WHERE (status = 'cancelled' AND due < $1) OR (status = 'failed' AND last_attempt < $1 - INTERVAL '2 days')", + "query": "\n SELECT\n id, user_id, price_id, amount, currency_code, status, due, last_attempt,\n charge_type, subscription_id,\n -- Workaround for https://github.com/launchbadge/sqlx/issues/3336\n subscription_interval AS \"subscription_interval?\",\n payment_platform,\n payment_platform_id AS \"payment_platform_id?\",\n parent_charge_id AS \"parent_charge_id?\",\n net AS \"net?\"\n FROM charges\n WHERE subscription_id = $1 AND (status = 'open' OR status = 'cancelled')", "describe": { "columns": [ { @@ -55,13 +55,33 @@ }, { "ordinal": 10, - "name": "subscription_interval", + "name": "subscription_interval?", "type_info": "Text" + }, + { + "ordinal": 11, + "name": "payment_platform", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "payment_platform_id?", + "type_info": "Text" + }, + { + "ordinal": 13, + "name": "parent_charge_id?", + "type_info": "Int8" + }, + { + "ordinal": 14, + "name": "net?", + "type_info": "Int8" } ], "parameters": { "Left": [ - "Timestamptz" + "Int8" ] }, "nullable": [ @@ -75,8 +95,12 @@ true, false, true, - true + true, + false, + true, + true, + false ] }, - "hash": "a87c913916adf9177f8f38369975d5fc644d989293ccb42c1e06ec54dc2571f8" + "hash": "99cca53fd3f35325e2da3b671532bf98b8c7ad8e7cb9158e4eb9c5bac66d20b2" } diff --git a/apps/labrinth/.sqlx/query-bfcbcadda1e323d56b6a21fc060c56bff2f38a54cf65dd1cc21f209240c7091b.json b/apps/labrinth/.sqlx/query-bfcbcadda1e323d56b6a21fc060c56bff2f38a54cf65dd1cc21f209240c7091b.json new file mode 100644 index 000000000..9045739c4 --- /dev/null +++ b/apps/labrinth/.sqlx/query-bfcbcadda1e323d56b6a21fc060c56bff2f38a54cf65dd1cc21f209240c7091b.json @@ -0,0 +1,106 @@ +{ + "db_name": "PostgreSQL", + "query": "\n SELECT\n id, user_id, price_id, amount, currency_code, status, due, last_attempt,\n charge_type, subscription_id,\n -- Workaround for https://github.com/launchbadge/sqlx/issues/3336\n subscription_interval AS \"subscription_interval?\",\n payment_platform,\n payment_platform_id AS \"payment_platform_id?\",\n parent_charge_id AS \"parent_charge_id?\",\n net AS \"net?\"\n FROM charges\n \n WHERE\n charge_type = $1 AND\n (\n (status = 'cancelled' AND due < NOW()) OR\n (status = 'failed' AND last_attempt < NOW() - INTERVAL '2 days')\n )\n ", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Int8" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Int8" + }, + { + "ordinal": 2, + "name": "price_id", + "type_info": "Int8" + }, + { + "ordinal": 3, + "name": "amount", + "type_info": "Int8" + }, + { + "ordinal": 4, + "name": "currency_code", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Varchar" + }, + { + "ordinal": 6, + "name": "due", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "last_attempt", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "charge_type", + "type_info": "Text" + }, + { + "ordinal": 9, + "name": "subscription_id", + "type_info": "Int8" + }, + { + "ordinal": 10, + "name": "subscription_interval?", + "type_info": "Text" + }, + { + "ordinal": 11, + "name": "payment_platform", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "payment_platform_id?", + "type_info": "Text" + }, + { + "ordinal": 13, + "name": "parent_charge_id?", + "type_info": "Int8" + }, + { + "ordinal": 14, + "name": "net?", + "type_info": "Int8" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true, + false, + true, + true, + false, + true, + true, + false + ] + }, + "hash": "bfcbcadda1e323d56b6a21fc060c56bff2f38a54cf65dd1cc21f209240c7091b" +} diff --git a/apps/labrinth/Cargo.toml b/apps/labrinth/Cargo.toml index 154a08f2a..3f0b2a6d2 100644 --- a/apps/labrinth/Cargo.toml +++ b/apps/labrinth/Cargo.toml @@ -40,8 +40,8 @@ serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } serde_with = "3.0.0" chrono = { version = "0.4.26", features = ["serde"] } -yaserde = "0.8.0" -yaserde_derive = "0.8.0" +yaserde = "0.12.0" +yaserde_derive = "0.12.0" xml-rs = "0.8.15" rand = "0.8.5" @@ -120,7 +120,7 @@ rust_iso3166 = "0.1.11" jemallocator = { version = "0.5.4", optional = true } -async-stripe = { version = "0.37.3", features = ["runtime-tokio-hyper-rustls"] } +async-stripe = { version = "0.39.1", features = ["runtime-tokio-hyper-rustls"] } rusty-money = "0.4.1" json-patch = "*" diff --git a/apps/labrinth/migrations/20241204190127_revenue_updates.sql b/apps/labrinth/migrations/20241204190127_revenue_updates.sql new file mode 100644 index 000000000..3a5e4e4b9 --- /dev/null +++ b/apps/labrinth/migrations/20241204190127_revenue_updates.sql @@ -0,0 +1,5 @@ +ALTER TABLE charges + ADD COLUMN payment_platform TEXT NOT NULL DEFAULT 'stripe', + ADD COLUMN payment_platform_id TEXT NULL, + ADD COLUMN parent_charge_id BIGINT REFERENCES charges(id) NULL, + ADD COLUMN net BIGINT NULL; \ No newline at end of file diff --git a/apps/labrinth/src/auth/templates/mod.rs b/apps/labrinth/src/auth/templates/mod.rs index 6cb20174c..f731fa2b4 100644 --- a/apps/labrinth/src/auth/templates/mod.rs +++ b/apps/labrinth/src/auth/templates/mod.rs @@ -8,7 +8,7 @@ pub struct Success<'a> { pub name: &'a str, } -impl<'a> Success<'a> { +impl Success<'_> { pub fn render(self) -> HttpResponse { let html = include_str!("success.html"); diff --git a/apps/labrinth/src/database/models/charge_item.rs b/apps/labrinth/src/database/models/charge_item.rs index 80d75de58..382e8280c 100644 --- a/apps/labrinth/src/database/models/charge_item.rs +++ b/apps/labrinth/src/database/models/charge_item.rs @@ -1,7 +1,9 @@ use crate::database::models::{ ChargeId, DatabaseError, ProductPriceId, UserId, UserSubscriptionId, }; -use crate::models::billing::{ChargeStatus, ChargeType, PriceDuration}; +use crate::models::billing::{ + ChargeStatus, ChargeType, PaymentPlatform, PriceDuration, +}; use chrono::{DateTime, Utc}; use std::convert::{TryFrom, TryInto}; @@ -18,6 +20,14 @@ pub struct ChargeItem { pub type_: ChargeType, pub subscription_id: Option, pub subscription_interval: Option, + + pub payment_platform: PaymentPlatform, + pub payment_platform_id: Option, + + pub parent_charge_id: Option, + + // Net is always in USD + pub net: Option, } struct ChargeResult { @@ -32,6 +42,10 @@ struct ChargeResult { charge_type: String, subscription_id: Option, subscription_interval: Option, + payment_platform: String, + payment_platform_id: Option, + parent_charge_id: Option, + net: Option, } impl TryFrom for ChargeItem { @@ -52,6 +66,10 @@ impl TryFrom for ChargeItem { subscription_interval: r .subscription_interval .map(|x| PriceDuration::from_string(&x)), + payment_platform: PaymentPlatform::from_string(&r.payment_platform), + payment_platform_id: r.payment_platform_id, + parent_charge_id: r.parent_charge_id.map(ChargeId), + net: r.net, }) } } @@ -61,7 +79,15 @@ macro_rules! select_charges_with_predicate { sqlx::query_as!( ChargeResult, r#" - SELECT id, user_id, price_id, amount, currency_code, status, due, last_attempt, charge_type, subscription_id, subscription_interval + SELECT + id, user_id, price_id, amount, currency_code, status, due, last_attempt, + charge_type, subscription_id, + -- Workaround for https://github.com/launchbadge/sqlx/issues/3336 + subscription_interval AS "subscription_interval?", + payment_platform, + payment_platform_id AS "payment_platform_id?", + parent_charge_id AS "parent_charge_id?", + net AS "net?" FROM charges "# + $predicate, @@ -77,15 +103,19 @@ impl ChargeItem { ) -> Result { sqlx::query!( r#" - INSERT INTO charges (id, user_id, price_id, amount, currency_code, charge_type, status, due, last_attempt, subscription_id, subscription_interval) - VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) + INSERT INTO charges (id, user_id, price_id, amount, currency_code, charge_type, status, due, last_attempt, subscription_id, subscription_interval, payment_platform, payment_platform_id, parent_charge_id, net) + VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15) ON CONFLICT (id) DO UPDATE SET status = EXCLUDED.status, last_attempt = EXCLUDED.last_attempt, due = EXCLUDED.due, subscription_id = EXCLUDED.subscription_id, - subscription_interval = EXCLUDED.subscription_interval + subscription_interval = EXCLUDED.subscription_interval, + payment_platform = EXCLUDED.payment_platform, + payment_platform_id = EXCLUDED.payment_platform_id, + parent_charge_id = EXCLUDED.parent_charge_id, + net = EXCLUDED.net "#, self.id.0, self.user_id.0, @@ -98,6 +128,10 @@ impl ChargeItem { self.last_attempt, self.subscription_id.map(|x| x.0), self.subscription_interval.map(|x| x.as_str()), + self.payment_platform.as_str(), + self.payment_platform_id.as_deref(), + self.parent_charge_id.map(|x| x.0), + self.net, ) .execute(&mut **transaction) .await?; @@ -135,6 +169,24 @@ impl ChargeItem { .collect::, serde_json::Error>>()?) } + pub async fn get_children( + charge_id: ChargeId, + exec: impl sqlx::Executor<'_, Database = sqlx::Postgres>, + ) -> Result, DatabaseError> { + let charge_id = charge_id.0; + let res = select_charges_with_predicate!( + "WHERE parent_charge_id = $1", + charge_id + ) + .fetch_all(exec) + .await?; + + Ok(res + .into_iter() + .map(|r| r.try_into()) + .collect::, serde_json::Error>>()?) + } + pub async fn get_open_subscription( user_subscription_id: UserSubscriptionId, exec: impl sqlx::Executor<'_, Database = sqlx::Postgres>, @@ -153,9 +205,18 @@ impl ChargeItem { pub async fn get_chargeable( exec: impl sqlx::Executor<'_, Database = sqlx::Postgres>, ) -> Result, DatabaseError> { - let now = Utc::now(); - - let res = select_charges_with_predicate!("WHERE (status = 'open' AND due < $1) OR (status = 'failed' AND last_attempt < $1 - INTERVAL '2 days')", now) + let charge_type = ChargeType::Subscription.as_str(); + let res = select_charges_with_predicate!( + r#" + WHERE + charge_type = $1 AND + ( + (status = 'open' AND due < NOW()) OR + (status = 'failed' AND last_attempt < NOW() - INTERVAL '2 days') + ) + "#, + charge_type + ) .fetch_all(exec) .await?; @@ -168,10 +229,18 @@ impl ChargeItem { pub async fn get_unprovision( exec: impl sqlx::Executor<'_, Database = sqlx::Postgres>, ) -> Result, DatabaseError> { - let now = Utc::now(); - - let res = - select_charges_with_predicate!("WHERE (status = 'cancelled' AND due < $1) OR (status = 'failed' AND last_attempt < $1 - INTERVAL '2 days')", now) + let charge_type = ChargeType::Subscription.as_str(); + let res = select_charges_with_predicate!( + r#" + WHERE + charge_type = $1 AND + ( + (status = 'cancelled' AND due < NOW()) OR + (status = 'failed' AND last_attempt < NOW() - INTERVAL '2 days') + ) + "#, + charge_type + ) .fetch_all(exec) .await?; diff --git a/apps/labrinth/src/database/models/user_subscription_item.rs b/apps/labrinth/src/database/models/user_subscription_item.rs index edf2e1a59..ed6e6507f 100644 --- a/apps/labrinth/src/database/models/user_subscription_item.rs +++ b/apps/labrinth/src/database/models/user_subscription_item.rs @@ -104,6 +104,29 @@ impl UserSubscriptionItem { .collect::, serde_json::Error>>()?) } + pub async fn get_all_servers( + status: Option, + exec: impl sqlx::Executor<'_, Database = sqlx::Postgres>, + ) -> Result, DatabaseError> { + let status = status.map(|x| x.as_str()); + + let results = select_user_subscriptions_with_predicate!( + r#" + INNER JOIN products_prices pp ON us.price_id = pp.id + INNER JOIN products p ON p.metadata @> '{"type": "pyro"}' + WHERE $1::text IS NULL OR us.status = $1::text + "#, + status + ) + .fetch_all(exec) + .await?; + + Ok(results + .into_iter() + .map(|r| r.try_into()) + .collect::, serde_json::Error>>()?) + } + pub async fn upsert( &self, transaction: &mut sqlx::Transaction<'_, sqlx::Postgres>, diff --git a/apps/labrinth/src/models/v3/billing.rs b/apps/labrinth/src/models/v3/billing.rs index afe879019..058c97314 100644 --- a/apps/labrinth/src/models/v3/billing.rs +++ b/apps/labrinth/src/models/v3/billing.rs @@ -161,7 +161,7 @@ pub struct Charge { pub id: ChargeId, pub user_id: UserId, pub price_id: ProductPriceId, - pub amount: i64, + pub amount: u64, pub currency_code: String, pub status: ChargeStatus, pub due: DateTime, @@ -170,14 +170,16 @@ pub struct Charge { pub type_: ChargeType, pub subscription_id: Option, pub subscription_interval: Option, + pub platform: PaymentPlatform, } -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] #[serde(tag = "type", rename_all = "kebab-case")] pub enum ChargeType { OneTime, Subscription, Proration, + Refund, } impl ChargeType { @@ -186,6 +188,7 @@ impl ChargeType { ChargeType::OneTime => "one-time", ChargeType::Subscription { .. } => "subscription", ChargeType::Proration { .. } => "proration", + ChargeType::Refund => "refund", } } @@ -194,12 +197,13 @@ impl ChargeType { "one-time" => ChargeType::OneTime, "subscription" => ChargeType::Subscription, "proration" => ChargeType::Proration, + "refund" => ChargeType::Refund, _ => ChargeType::OneTime, } } } -#[derive(Serialize, Deserialize, Eq, PartialEq, Copy, Clone)] +#[derive(Serialize, Deserialize, Eq, PartialEq, Copy, Clone, Debug)] #[serde(rename_all = "kebab-case")] pub enum ChargeStatus { // Open charges are for the next billing interval @@ -232,3 +236,23 @@ impl ChargeStatus { } } } + +#[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq)] +pub enum PaymentPlatform { + Stripe, +} + +impl PaymentPlatform { + pub fn from_string(string: &str) -> PaymentPlatform { + match string { + "stripe" => PaymentPlatform::Stripe, + _ => PaymentPlatform::Stripe, + } + } + + pub fn as_str(&self) -> &'static str { + match self { + PaymentPlatform::Stripe => "stripe", + } + } +} diff --git a/apps/labrinth/src/models/v3/ids.rs b/apps/labrinth/src/models/v3/ids.rs index 5a2997c80..d6530af2f 100644 --- a/apps/labrinth/src/models/v3/ids.rs +++ b/apps/labrinth/src/models/v3/ids.rs @@ -158,7 +158,7 @@ pub mod base62_impl { { struct Base62Visitor; - impl<'de> Visitor<'de> for Base62Visitor { + impl Visitor<'_> for Base62Visitor { type Value = Base62Id; fn expecting( diff --git a/apps/labrinth/src/models/v3/pack.rs b/apps/labrinth/src/models/v3/pack.rs index 045721845..63fc73b22 100644 --- a/apps/labrinth/src/models/v3/pack.rs +++ b/apps/labrinth/src/models/v3/pack.rs @@ -69,11 +69,11 @@ pub enum PackFileHash { impl From for PackFileHash { fn from(s: String) -> Self { - return match s.as_str() { + match s.as_str() { "sha1" => PackFileHash::Sha1, "sha512" => PackFileHash::Sha512, _ => PackFileHash::Unknown(s), - }; + } } } diff --git a/apps/labrinth/src/queue/payouts.rs b/apps/labrinth/src/queue/payouts.rs index 46345045e..adc40b18c 100644 --- a/apps/labrinth/src/queue/payouts.rs +++ b/apps/labrinth/src/queue/payouts.rs @@ -818,11 +818,13 @@ pub async fn process_payout( // Modrinth's share of ad revenue let modrinth_cut = Decimal::from(1) / Decimal::from(4); - // Clean.io fee (ad antimalware). Per 1000 impressions. + // Clean.io fee (ad antimalware). Per 1000 impressions. 0.008 CPM let clean_io_fee = Decimal::from(8) / Decimal::from(1000); + // Google Ad Manager fee. Per 1000 impressions. 0.015400 CPM + let gam_fee = Decimal::from(154) / Decimal::from(10000); let net_revenue = aditude_amount - - (clean_io_fee * Decimal::from(aditude_impressions) + - ((clean_io_fee + gam_fee) * Decimal::from(aditude_impressions) / Decimal::from(1000)); let payout = net_revenue * (Decimal::from(1) - modrinth_cut); diff --git a/apps/labrinth/src/routes/internal/billing.rs b/apps/labrinth/src/routes/internal/billing.rs index 188d30812..03165a617 100644 --- a/apps/labrinth/src/routes/internal/billing.rs +++ b/apps/labrinth/src/routes/internal/billing.rs @@ -6,9 +6,9 @@ use crate::database::models::{ }; use crate::database::redis::RedisPool; use crate::models::billing::{ - Charge, ChargeStatus, ChargeType, Price, PriceDuration, Product, - ProductMetadata, ProductPrice, SubscriptionMetadata, SubscriptionStatus, - UserSubscription, + Charge, ChargeStatus, ChargeType, PaymentPlatform, Price, PriceDuration, + Product, ProductMetadata, ProductPrice, SubscriptionMetadata, + SubscriptionStatus, UserSubscription, }; use crate::models::ids::base62_impl::{parse_base62, to_base62}; use crate::models::pats::Scopes; @@ -26,11 +26,11 @@ use sqlx::{PgPool, Postgres, Transaction}; use std::collections::{HashMap, HashSet}; use std::str::FromStr; use stripe::{ - CreateCustomer, CreatePaymentIntent, CreateSetupIntent, + CreateCustomer, CreatePaymentIntent, CreateRefund, CreateSetupIntent, CreateSetupIntentAutomaticPaymentMethods, CreateSetupIntentAutomaticPaymentMethodsAllowRedirects, Currency, CustomerId, CustomerInvoiceSettings, CustomerPaymentMethodRetrieval, - EventObject, EventType, PaymentIntentOffSession, + EventObject, EventType, PaymentIntentId, PaymentIntentOffSession, PaymentIntentSetupFutureUsage, PaymentMethodId, SetupIntent, UpdateCustomer, Webhook, }; @@ -47,8 +47,10 @@ pub fn config(cfg: &mut web::ServiceConfig) { .service(edit_payment_method) .service(remove_payment_method) .service(charges) + .service(active_servers) .service(initiate_payment) - .service(stripe_webhook), + .service(stripe_webhook) + .service(refund_charge), ); } @@ -111,6 +113,169 @@ pub async fn subscriptions( Ok(HttpResponse::Ok().json(subscriptions)) } +#[derive(Deserialize)] +#[serde(tag = "type", rename_all = "snake_case")] +pub enum ChargeRefundAmount { + Full, + Partial { amount: u64 }, +} + +#[derive(Deserialize)] +pub struct ChargeRefund { + #[serde(flatten)] + pub amount: ChargeRefundAmount, + pub unprovision: Option, +} + +#[post("charge/{id}/refund")] +pub async fn refund_charge( + req: HttpRequest, + pool: web::Data, + redis: web::Data, + session_queue: web::Data, + info: web::Path<(crate::models::ids::ChargeId,)>, + body: web::Json, + stripe_client: web::Data, +) -> Result { + let user = get_user_from_headers( + &req, + &**pool, + &redis, + &session_queue, + Some(&[Scopes::SESSION_ACCESS]), + ) + .await? + .1; + + let (id,) = info.into_inner(); + + if !user.role.is_admin() { + return Err(ApiError::CustomAuthentication( + "You do not have permission to refund a subscription!".to_string(), + )); + } + + if let Some(charge) = ChargeItem::get(id.into(), &**pool).await? { + let refunds = ChargeItem::get_children(id.into(), &**pool).await?; + let refunds = -refunds + .into_iter() + .filter_map(|x| match x.status { + ChargeStatus::Open + | ChargeStatus::Processing + | ChargeStatus::Succeeded => Some(x.amount), + ChargeStatus::Failed | ChargeStatus::Cancelled => None, + }) + .sum::(); + + let refundable = charge.amount - refunds; + + let refund_amount = match body.0.amount { + ChargeRefundAmount::Full => refundable, + ChargeRefundAmount::Partial { amount } => amount as i64, + }; + + if charge.status != ChargeStatus::Succeeded { + return Err(ApiError::InvalidInput( + "This charge cannot be refunded!".to_string(), + )); + } + + if (refundable - refund_amount) < 0 || refund_amount == 0 { + return Err(ApiError::InvalidInput( + "You cannot refund more than the amount of the charge!" + .to_string(), + )); + } + + let (id, net) = match charge.payment_platform { + PaymentPlatform::Stripe => { + if let Some(payment_platform_id) = charge + .payment_platform_id + .and_then(|x| stripe::PaymentIntentId::from_str(&x).ok()) + { + let mut metadata = HashMap::new(); + + metadata.insert( + "modrinth_user_id".to_string(), + to_base62(user.id.0), + ); + metadata.insert( + "modrinth_charge_id".to_string(), + to_base62(charge.id.0 as u64), + ); + + let refund = stripe::Refund::create( + &stripe_client, + CreateRefund { + amount: Some(refund_amount), + metadata: Some(metadata), + payment_intent: Some(payment_platform_id), + + expand: &["balance_transaction"], + + ..Default::default() + }, + ) + .await?; + + ( + refund.id.to_string(), + refund + .balance_transaction + .and_then(|x| x.into_object()) + .map(|x| x.net), + ) + } else { + return Err(ApiError::InvalidInput( + "Charge does not have attached payment id!".to_string(), + )); + } + } + }; + + let mut transaction = pool.begin().await?; + + let charge_id = generate_charge_id(&mut transaction).await?; + ChargeItem { + id: charge_id, + user_id: charge.user_id, + price_id: charge.price_id, + amount: -refund_amount, + currency_code: charge.currency_code, + status: ChargeStatus::Succeeded, + due: Utc::now(), + last_attempt: None, + type_: ChargeType::Refund, + subscription_id: charge.subscription_id, + subscription_interval: charge.subscription_interval, + payment_platform: charge.payment_platform, + payment_platform_id: Some(id), + parent_charge_id: Some(charge.id), + net, + } + .upsert(&mut transaction) + .await?; + + if body.0.unprovision.unwrap_or(false) { + if let Some(subscription_id) = charge.subscription_id { + let open_charge = + ChargeItem::get_open_subscription(subscription_id, &**pool) + .await?; + if let Some(mut open_charge) = open_charge { + open_charge.status = ChargeStatus::Cancelled; + open_charge.due = Utc::now(); + + open_charge.upsert(&mut transaction).await?; + } + } + } + + transaction.commit().await?; + } + + Ok(HttpResponse::NoContent().body("")) +} + #[derive(Deserialize)] pub struct SubscriptionEdit { pub interval: Option, @@ -264,78 +429,94 @@ pub async fn edit_subscription( ) })?; - // TODO: Add downgrading plans - if proration <= 0 { - return Err(ApiError::InvalidInput( - "You may not downgrade plans!".to_string(), - )); - } + // Plan downgrade, update future charge + if current_amount > amount { + open_charge.price_id = product_price.id; + open_charge.amount = amount as i64; - let charge_id = generate_charge_id(&mut transaction).await?; - let charge = ChargeItem { - id: charge_id, - user_id: user.id.into(), - price_id: product_price.id, - amount: proration as i64, - currency_code: current_price.currency_code.clone(), - status: ChargeStatus::Processing, - due: Utc::now(), - last_attempt: None, - type_: ChargeType::Proration, - subscription_id: Some(subscription.id), - subscription_interval: Some(duration), - }; + None + } else { + // For small transactions (under 30 cents), we make a loss on the proration due to fees + if proration < 30 { + return Err(ApiError::InvalidInput( + "Proration is too small!".to_string(), + )); + } - let customer_id = get_or_create_customer( - user.id, - user.stripe_customer_id.as_deref(), - user.email.as_deref(), - &stripe_client, - &pool, - &redis, - ) - .await?; + let charge_id = generate_charge_id(&mut transaction).await?; + let mut charge = ChargeItem { + id: charge_id, + user_id: user.id.into(), + price_id: product_price.id, + amount: proration as i64, + currency_code: current_price.currency_code.clone(), + status: ChargeStatus::Processing, + due: Utc::now(), + last_attempt: None, + type_: ChargeType::Proration, + subscription_id: Some(subscription.id), + subscription_interval: Some(duration), + payment_platform: PaymentPlatform::Stripe, + payment_platform_id: None, + parent_charge_id: None, + net: None, + }; - let currency = - Currency::from_str(¤t_price.currency_code.to_lowercase()) - .map_err(|_| { - ApiError::InvalidInput( - "Invalid currency code".to_string(), - ) - })?; + let customer_id = get_or_create_customer( + user.id, + user.stripe_customer_id.as_deref(), + user.email.as_deref(), + &stripe_client, + &pool, + &redis, + ) + .await?; - let mut intent = - CreatePaymentIntent::new(proration as i64, currency); + let currency = Currency::from_str( + ¤t_price.currency_code.to_lowercase(), + ) + .map_err(|_| { + ApiError::InvalidInput("Invalid currency code".to_string()) + })?; - let mut metadata = HashMap::new(); - metadata - .insert("modrinth_user_id".to_string(), to_base62(user.id.0)); + let mut intent = + CreatePaymentIntent::new(proration as i64, currency); - intent.customer = Some(customer_id); - intent.metadata = Some(metadata); - intent.receipt_email = user.email.as_deref(); - intent.setup_future_usage = - Some(PaymentIntentSetupFutureUsage::OffSession); + let mut metadata = HashMap::new(); + metadata.insert( + "modrinth_user_id".to_string(), + to_base62(user.id.0), + ); - if let Some(payment_method) = &edit_subscription.payment_method { - let payment_method_id = - if let Ok(id) = PaymentMethodId::from_str(payment_method) { + intent.customer = Some(customer_id); + intent.metadata = Some(metadata); + intent.receipt_email = user.email.as_deref(); + intent.setup_future_usage = + Some(PaymentIntentSetupFutureUsage::OffSession); + + if let Some(payment_method) = &edit_subscription.payment_method + { + let payment_method_id = if let Ok(id) = + PaymentMethodId::from_str(payment_method) + { id } else { return Err(ApiError::InvalidInput( "Invalid payment method id".to_string(), )); }; - intent.payment_method = Some(payment_method_id); + intent.payment_method = Some(payment_method_id); + } + + let intent = + stripe::PaymentIntent::create(&stripe_client, intent) + .await?; + + charge.payment_platform_id = Some(intent.id.to_string()); + charge.upsert(&mut transaction).await?; + + Some((proration, 0, intent)) } - - charge.upsert(&mut transaction).await?; - - Some(( - proration, - 0, - stripe::PaymentIntent::create(&stripe_client, intent).await?, - )) } else { None }; @@ -423,7 +604,7 @@ pub async fn charges( id: x.id.into(), user_id: x.user_id.into(), price_id: x.price_id.into(), - amount: x.amount, + amount: x.amount as u64, currency_code: x.currency_code, status: x.status, due: x.due, @@ -431,6 +612,7 @@ pub async fn charges( type_: x.type_, subscription_id: x.subscription_id.map(|x| x.into()), subscription_interval: x.subscription_interval, + platform: x.payment_platform, }) .collect::>(), )) @@ -685,6 +867,49 @@ pub async fn payment_methods( } } +#[derive(Deserialize)] +pub struct ActiveServersQuery { + pub subscription_status: Option, +} + +#[get("active_servers")] +pub async fn active_servers( + req: HttpRequest, + pool: web::Data, + query: web::Query, +) -> Result { + let master_key = dotenvy::var("PYRO_API_KEY")?; + + if !req + .head() + .headers() + .get("X-Master-Key") + .map_or(false, |it| it.as_bytes() == master_key.as_bytes()) + { + return Err(ApiError::CustomAuthentication( + "Invalid master key".to_string(), + )); + } + + let servers = + user_subscription_item::UserSubscriptionItem::get_all_servers( + query.subscription_status, + &**pool, + ) + .await?; + + let server_ids = servers + .into_iter() + .filter_map(|x| { + x.metadata.map(|x| match x { + SubscriptionMetadata::Pyro { id } => id, + }) + }) + .collect::>(); + + Ok(HttpResponse::Ok().json(server_ids)) +} + #[derive(Deserialize)] #[serde(tag = "type", rename_all = "snake_case")] pub enum PaymentRequestType { @@ -1130,6 +1355,7 @@ pub async fn stripe_webhook( } async fn get_payment_intent_metadata( + payment_intent_id: PaymentIntentId, metadata: HashMap, pool: &PgPool, redis: &RedisPool, @@ -1203,6 +1429,8 @@ pub async fn stripe_webhook( charge.status = charge_status; charge.last_attempt = Some(Utc::now()); + charge.payment_platform_id = + Some(payment_intent_id.to_string()); charge.upsert(transaction).await?; if let Some(subscription_id) = charge.subscription_id { @@ -1229,6 +1457,11 @@ pub async fn stripe_webhook( ChargeType::Proration => { subscription.price_id = charge.price_id; } + ChargeType::Refund => { + return Err(ApiError::InvalidInput( + "Invalid charge type: Refund".to_string(), + )); + } } subscription.upsert(transaction).await?; @@ -1332,6 +1565,12 @@ pub async fn stripe_webhook( subscription_interval: subscription .as_ref() .map(|x| x.interval), + payment_platform: PaymentPlatform::Stripe, + payment_platform_id: Some( + payment_intent_id.to_string(), + ), + parent_charge_id: None, + net: None, }; if charge_status != ChargeStatus::Failed { @@ -1364,6 +1603,7 @@ pub async fn stripe_webhook( let mut transaction = pool.begin().await?; let mut metadata = get_payment_intent_metadata( + payment_intent.id, payment_intent.metadata, &pool, &redis, @@ -1372,6 +1612,27 @@ pub async fn stripe_webhook( ) .await?; + if let Some(latest_charge) = payment_intent.latest_charge { + let charge = stripe::Charge::retrieve( + &stripe_client, + &latest_charge.id(), + &["balance_transaction"], + ) + .await?; + + if let Some(balance_transaction) = charge + .balance_transaction + .and_then(|x| x.into_object()) + { + metadata.charge_item.net = + Some(balance_transaction.net); + metadata + .charge_item + .upsert(&mut transaction) + .await?; + } + } + // Provision subscription match metadata.product_item.metadata { ProductMetadata::Midas => { @@ -1415,7 +1676,20 @@ pub async fn stripe_webhook( .await? .error_for_status()?; - // TODO: Send plan upgrade request for proration + client.post(format!( + "https://archon.pyro.host/modrinth/v0/servers/{}/reallocate", + id + )) + .header("X-Master-Key", dotenvy::var("PYRO_API_KEY")?) + .json(&serde_json::json!({ + "memory_mb": ram, + "cpu": cpu, + "swap_mb": swap, + "storage_mb": storage, + })) + .send() + .await? + .error_for_status()?; } else { let (server_name, source) = if let Some( PaymentRequestMetadata::Pyro { @@ -1471,6 +1745,10 @@ pub async fn stripe_webhook( "storage_mb": storage, }, "source": source, + "payment_interval": metadata.charge_item.subscription_interval.map(|x| match x { + PriceDuration::Monthly => 1, + PriceDuration::Yearly => 3, + }) })) .send() .await? @@ -1546,6 +1824,10 @@ pub async fn stripe_webhook( subscription_interval: Some( subscription.interval, ), + payment_platform: PaymentPlatform::Stripe, + payment_platform_id: None, + parent_charge_id: None, + net: None, } .upsert(&mut transaction) .await?; @@ -1569,6 +1851,7 @@ pub async fn stripe_webhook( { let mut transaction = pool.begin().await?; get_payment_intent_metadata( + payment_intent.id, payment_intent.metadata, &pool, &redis, @@ -1586,6 +1869,7 @@ pub async fn stripe_webhook( let mut transaction = pool.begin().await?; let metadata = get_payment_intent_metadata( + payment_intent.id, payment_intent.metadata, &pool, &redis, @@ -1596,7 +1880,7 @@ pub async fn stripe_webhook( if let Some(email) = metadata.user_item.email { let money = rusty_money::Money::from_minor( - metadata.charge_item.amount, + metadata.charge_item.amount as i64, rusty_money::iso::find( &metadata.charge_item.currency_code, ) diff --git a/apps/labrinth/src/routes/internal/statuses.rs b/apps/labrinth/src/routes/internal/statuses.rs index 3945447c2..a69f39a85 100644 --- a/apps/labrinth/src/routes/internal/statuses.rs +++ b/apps/labrinth/src/routes/internal/statuses.rs @@ -150,7 +150,12 @@ pub async fn ws_init( { let (status, _) = pair.value_mut(); - if status.profile_name.as_ref().map(|x| x.len() > 64).unwrap_or(false) { + if status + .profile_name + .as_ref() + .map(|x| x.len() > 64) + .unwrap_or(false) + { continue; } diff --git a/apps/labrinth/src/routes/maven.rs b/apps/labrinth/src/routes/maven.rs index c337127a2..193b5b0f9 100644 --- a/apps/labrinth/src/routes/maven.rs +++ b/apps/labrinth/src/routes/maven.rs @@ -21,10 +21,8 @@ pub fn config(cfg: &mut web::ServiceConfig) { cfg.service(version_file); } -// TODO: These were modified in v3 and should be tested - #[derive(Default, Debug, Clone, YaSerialize)] -#[yaserde(root = "metadata", rename = "metadata")] +#[yaserde(rename = "metadata")] pub struct Metadata { #[yaserde(rename = "groupId")] group_id: String, @@ -51,11 +49,11 @@ pub struct Versions { } #[derive(Default, Debug, Clone, YaSerialize)] -#[yaserde(rename = "project", namespace = "http://maven.apache.org/POM/4.0.0")] +#[yaserde(rename = "project", namespaces = { "" = "http://maven.apache.org/POM/4.0.0" })] pub struct MavenPom { - #[yaserde(rename = "xsi:schemaLocation", attribute)] + #[yaserde(rename = "xsi:schemaLocation", attribute = true)] schema_location: String, - #[yaserde(rename = "xmlns:xsi", attribute)] + #[yaserde(rename = "xmlns:xsi", attribute = true)] xsi: String, #[yaserde(rename = "modelVersion")] model_version: String, diff --git a/apps/labrinth/src/routes/v2/projects.rs b/apps/labrinth/src/routes/v2/projects.rs index 3ee33336b..7bc5eed60 100644 --- a/apps/labrinth/src/routes/v2/projects.rs +++ b/apps/labrinth/src/routes/v2/projects.rs @@ -861,7 +861,6 @@ pub struct GalleryEditQuery { pub async fn edit_gallery_item( req: HttpRequest, web::Query(item): web::Query, - info: web::Path<(String,)>, pool: web::Data, redis: web::Data, session_queue: web::Data, @@ -876,7 +875,6 @@ pub async fn edit_gallery_item( description: item.description, ordering: item.ordering, }), - info, pool, redis, session_queue, @@ -894,7 +892,6 @@ pub struct GalleryDeleteQuery { pub async fn delete_gallery_item( req: HttpRequest, web::Query(item): web::Query, - info: web::Path<(String,)>, pool: web::Data, redis: web::Data, file_host: web::Data>, @@ -904,7 +901,6 @@ pub async fn delete_gallery_item( v3::projects::delete_gallery_item( req, web::Query(v3::projects::GalleryDeleteQuery { url: item.url }), - info, pool, redis, file_host, diff --git a/apps/labrinth/src/routes/v3/projects.rs b/apps/labrinth/src/routes/v3/projects.rs index 5e7277ec3..0a47aea2c 100644 --- a/apps/labrinth/src/routes/v3/projects.rs +++ b/apps/labrinth/src/routes/v3/projects.rs @@ -1788,7 +1788,6 @@ pub struct GalleryEditQuery { pub async fn edit_gallery_item( req: HttpRequest, web::Query(item): web::Query, - info: web::Path<(String,)>, pool: web::Data, redis: web::Data, session_queue: web::Data, @@ -1802,19 +1801,38 @@ pub async fn edit_gallery_item( ) .await? .1; - let string = info.into_inner().0; item.validate().map_err(|err| { ApiError::Validation(validation_errors_to_string(err, None)) })?; - let project_item = db_models::Project::get(&string, &**pool, &redis) - .await? - .ok_or_else(|| { - ApiError::InvalidInput( - "The specified project does not exist!".to_string(), - ) - })?; + let result = sqlx::query!( + " + SELECT id, mod_id FROM mods_gallery + WHERE image_url = $1 + ", + item.url + ) + .fetch_optional(&**pool) + .await? + .ok_or_else(|| { + ApiError::InvalidInput(format!( + "Gallery item at URL {} is not part of the project's gallery.", + item.url + )) + })?; + + let project_item = db_models::Project::get_id( + database::models::ProjectId(result.mod_id), + &**pool, + &redis, + ) + .await? + .ok_or_else(|| { + ApiError::InvalidInput( + "The specified project does not exist!".to_string(), + ) + })?; if !user.role.is_mod() { let (team_member, organization_team_member) = @@ -1845,24 +1863,6 @@ pub async fn edit_gallery_item( )); } } - let mut transaction = pool.begin().await?; - - let id = sqlx::query!( - " - SELECT id FROM mods_gallery - WHERE image_url = $1 - ", - item.url - ) - .fetch_optional(&mut *transaction) - .await? - .ok_or_else(|| { - ApiError::InvalidInput(format!( - "Gallery item at URL {} is not part of the project's gallery.", - item.url - )) - })? - .id; let mut transaction = pool.begin().await?; @@ -1887,7 +1887,7 @@ pub async fn edit_gallery_item( SET featured = $2 WHERE id = $1 ", - id, + result.id, featured ) .execute(&mut *transaction) @@ -1900,7 +1900,7 @@ pub async fn edit_gallery_item( SET name = $2 WHERE id = $1 ", - id, + result.id, name ) .execute(&mut *transaction) @@ -1913,7 +1913,7 @@ pub async fn edit_gallery_item( SET description = $2 WHERE id = $1 ", - id, + result.id, description ) .execute(&mut *transaction) @@ -1926,7 +1926,7 @@ pub async fn edit_gallery_item( SET ordering = $2 WHERE id = $1 ", - id, + result.id, ordering ) .execute(&mut *transaction) @@ -1954,7 +1954,6 @@ pub struct GalleryDeleteQuery { pub async fn delete_gallery_item( req: HttpRequest, web::Query(item): web::Query, - info: web::Path<(String,)>, pool: web::Data, redis: web::Data, file_host: web::Data>, @@ -1969,15 +1968,34 @@ pub async fn delete_gallery_item( ) .await? .1; - let string = info.into_inner().0; - let project_item = db_models::Project::get(&string, &**pool, &redis) - .await? - .ok_or_else(|| { - ApiError::InvalidInput( - "The specified project does not exist!".to_string(), - ) - })?; + let item = sqlx::query!( + " + SELECT id, image_url, raw_image_url, mod_id FROM mods_gallery + WHERE image_url = $1 + ", + item.url + ) + .fetch_optional(&**pool) + .await? + .ok_or_else(|| { + ApiError::InvalidInput(format!( + "Gallery item at URL {} is not part of the project's gallery.", + item.url + )) + })?; + + let project_item = db_models::Project::get_id( + database::models::ProjectId(item.mod_id), + &**pool, + &redis, + ) + .await? + .ok_or_else(|| { + ApiError::InvalidInput( + "The specified project does not exist!".to_string(), + ) + })?; if !user.role.is_mod() { let (team_member, organization_team_member) = @@ -2009,23 +2027,6 @@ pub async fn delete_gallery_item( )); } } - let mut transaction = pool.begin().await?; - - let item = sqlx::query!( - " - SELECT id, image_url, raw_image_url FROM mods_gallery - WHERE image_url = $1 - ", - item.url - ) - .fetch_optional(&mut *transaction) - .await? - .ok_or_else(|| { - ApiError::InvalidInput(format!( - "Gallery item at URL {} is not part of the project's gallery.", - item.url - )) - })?; delete_old_images( Some(item.image_url), diff --git a/apps/labrinth/tests/common/database.rs b/apps/labrinth/tests/common/database.rs index 95e263c94..f4d96fd5b 100644 --- a/apps/labrinth/tests/common/database.rs +++ b/apps/labrinth/tests/common/database.rs @@ -158,8 +158,8 @@ impl TemporaryDatabase { .fetch_optional(&pool) .await .unwrap(); - let needs_update = !dummy_data_update - .is_some_and(|d| d == DUMMY_DATA_UPDATE); + let needs_update = dummy_data_update + .is_none_or(|d| d != DUMMY_DATA_UPDATE); if needs_update { println!("Dummy data updated, so template DB tables will be dropped and re-created"); // Drop all tables in the database so they can be re-created and later filled with updated dummy data diff --git a/packages/app-lib/src/api/pack/install_from.rs b/packages/app-lib/src/api/pack/install_from.rs index 1764c9f36..6b78919c2 100644 --- a/packages/app-lib/src/api/pack/install_from.rs +++ b/packages/app-lib/src/api/pack/install_from.rs @@ -44,11 +44,11 @@ pub enum PackFileHash { impl From for PackFileHash { fn from(s: String) -> Self { - return match s.as_str() { + match s.as_str() { "sha1" => PackFileHash::Sha1, "sha512" => PackFileHash::Sha512, _ => PackFileHash::Unknown(s), - }; + } } } @@ -324,7 +324,6 @@ pub async fn generate_pack_from_file( /// Sets generated profile attributes to the pack ones (using profile::edit) /// This includes the pack name, icon, game version, loader version, and loader - pub async fn set_profile_information( profile_path: String, description: &CreatePackDescription, diff --git a/packages/app-lib/src/api/pack/install_mrpack.rs b/packages/app-lib/src/api/pack/install_mrpack.rs index 5c1430a7e..4f5939b2a 100644 --- a/packages/app-lib/src/api/pack/install_mrpack.rs +++ b/packages/app-lib/src/api/pack/install_mrpack.rs @@ -25,7 +25,6 @@ use super::install_from::{ /// Wrapper around install_pack_files that generates a pack creation description, and /// attempts to install the pack files. If it fails, it will remove the profile (fail safely) /// Install a modpack from a mrpack file (a modrinth .zip format) - pub async fn install_zipped_mrpack( location: CreatePackLocation, profile_path: String, @@ -68,7 +67,6 @@ pub async fn install_zipped_mrpack( /// Install all pack files from a description /// Does not remove the profile if it fails - pub async fn install_zipped_mrpack_files( create_pack: CreatePack, ignore_lock: bool, diff --git a/packages/app-lib/src/event/emit.rs b/packages/app-lib/src/event/emit.rs index 86017cf10..b237d6fad 100644 --- a/packages/app-lib/src/event/emit.rs +++ b/packages/app-lib/src/event/emit.rs @@ -44,7 +44,6 @@ const CLI_PROGRESS_BAR_TOTAL: u64 = 1000; /// total is the total amount of work to be done- all emissions will be considered a fraction of this value (should be 1 or 100 for simplicity) /// title is the title of the loading bar /// The app will wait for this loading bar to finish before exiting, as it is considered safe. - pub async fn init_loading( bar_type: LoadingBarType, total: f64, @@ -56,7 +55,6 @@ pub async fn init_loading( /// An unsafe loading bar can be created without adding it to the SafeProcesses list, /// meaning that the app won't ask to wait for it to finish before exiting. - pub async fn init_loading_unsafe( bar_type: LoadingBarType, total: f64, diff --git a/turbo.json b/turbo.json index 71cd9ce3b..b07e6375d 100644 --- a/turbo.json +++ b/turbo.json @@ -38,5 +38,6 @@ "fix": { "cache": false } - } + }, + "ui": "tui" }