From a6c8e4336bb1affff76d404d73dd91bc173e70c0 Mon Sep 17 00:00:00 2001 From: Vincent Date: Tue, 1 Sep 2026 11:37:35 +0200 Subject: [PATCH] Work App: a dedicated browser for work tools A Tauri 2 shell with one child webview per configured tool. Nav on the left with groups and a collapsible icon rail; links between configured apps switch tabs, everything else leaves for the real browser. Design spec in docs/superpowers/specs/2026-09-01-work-app-design.md. --- .gitignore | 4 + README.md | 88 + .../specs/2026-09-01-work-app-design.md | 188 + index.html | 12 + package-lock.json | 2687 +++++++++ package.json | 29 + scripts/ship.sh | 32 + src-tauri/Cargo.lock | 5030 +++++++++++++++++ src-tauri/Cargo.toml | 23 + src-tauri/build.rs | 3 + src-tauri/capabilities/default.json | 11 + src-tauri/gen/schemas/acl-manifests.json | 1 + src-tauri/gen/schemas/capabilities.json | 1 + src-tauri/gen/schemas/desktop-schema.json | 2525 +++++++++ src-tauri/gen/schemas/macOS-schema.json | 2525 +++++++++ src-tauri/icons/128x128.png | Bin 0 -> 11803 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 27775 bytes src-tauri/icons/32x32.png | Bin 0 -> 1832 bytes src-tauri/icons/64x64.png | Bin 0 -> 4859 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 9457 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 13459 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 14571 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 31337 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 1677 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 34465 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 2900 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 5643 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 7534 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 3485 bytes src-tauri/icons/icon.icns | Bin 0 -> 338547 bytes src-tauri/icons/icon.ico | Bin 0 -> 41600 bytes src-tauri/icons/icon.png | Bin 0 -> 61613 bytes src-tauri/icons/tray.png | Bin 0 -> 304 bytes src-tauri/src/commands.rs | 363 ++ src-tauri/src/config.rs | 278 + src-tauri/src/lib.rs | 81 + src-tauri/src/main.rs | 6 + src-tauri/src/routing.rs | 210 + src-tauri/src/webviews.rs | 279 + src-tauri/tauri.conf.json | 39 + src/App.tsx | 179 + src/api.ts | 37 + src/components/Nav.tsx | 185 + src/components/Settings.tsx | 265 + src/components/TopBar.tsx | 75 + src/components/ui.tsx | 233 + src/hooks/useAppearance.ts | 29 + src/index.css | 56 + src/main.tsx | 11 + src/types.ts | 41 + tsconfig.json | 21 + tsconfig.node.json | 15 + vite.config.ts | 18 + 53 files changed, 15580 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 docs/superpowers/specs/2026-09-01-work-app-design.md create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100755 scripts/ship.sh create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/capabilities/default.json create mode 100644 src-tauri/gen/schemas/acl-manifests.json create mode 100644 src-tauri/gen/schemas/capabilities.json create mode 100644 src-tauri/gen/schemas/desktop-schema.json create mode 100644 src-tauri/gen/schemas/macOS-schema.json create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/64x64.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/icons/tray.png create mode 100644 src-tauri/src/commands.rs create mode 100644 src-tauri/src/config.rs create mode 100644 src-tauri/src/lib.rs create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/src/routing.rs create mode 100644 src-tauri/src/webviews.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src/App.tsx create mode 100644 src/api.ts create mode 100644 src/components/Nav.tsx create mode 100644 src/components/Settings.tsx create mode 100644 src/components/TopBar.tsx create mode 100644 src/components/ui.tsx create mode 100644 src/hooks/useAppearance.ts create mode 100644 src/index.css create mode 100644 src/main.tsx create mode 100644 src/types.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e2e2acf --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +node_modules +dist +src-tauri/target +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..1349d76 --- /dev/null +++ b/README.md @@ -0,0 +1,88 @@ +# Work + +A desktop browser for one thing only: the web tools you work in. A left nav lists them, +clicking one shows it, and links between them navigate inside the app. Everything else +opens in your real browser. + +Tauri 2 · Rust · React 19 · Tailwind CSS 4 · macOS + +There is no address bar, no tab strip, and no way to reach a site that is not on the list. +That is the point. + +## How it works + +**Every app is its own webview.** Not an iframe — Google, Microsoft and most SaaS send +`X-Frame-Options: DENY`, so an iframe-based version of this app cannot exist. Each tool +gets a real child webview (`Window::add_child`), and they all stay loaded, so switching +keeps your scroll position, your half-typed draft, and anything counting down. + +**The shell measures, Rust positions.** A child webview is a native view that takes no part +in CSS layout. The React shell leaves an empty `
`, measures it with a +`ResizeObserver`, and reports the rect; Rust sizes the active webview to it and hides the +rest. It also means a native view paints over anything the shell draws, which is why +opening Settings hides the stage first. + +**Links are routed by intent, not by URL alone.** An injected script catches genuine user +clicks and `target=_blank`, and only those. A URL outside the app's own hosts is handed to +Rust over a made-up `workapp-route:` scheme — deliberately not Tauri IPC, which would mean +granting google.com the ability to call into this app. Rust then decides: + +| Target | What happens | +|---|---| +| The current app's hosts | Nothing — ordinary navigation | +| A known identity provider | Stays inside, so SSO can complete | +| Another app on your list | Switches to that app and navigates it | +| Anything else | Opens in your default browser | + +Redirects are never blocked. `on_navigation` returns `true` for everything that is not the +sentinel, because a strict navigation filter breaks every OAuth chain the moment it bounces +through `accounts.google.com`. + +**Sessions persist.** Each webview keeps its cookies across restarts, so you log into a +tool once. Every app also claims a real Chrome user agent by default, because Google +refuses logins from anything it identifies as an embedded webview. + +## Apps and groups + +An app owns the **exact host** of its URL — `mail.google.com`, not `google.com` — or Gmail +and Drive would each swallow the other's links. Where two scopes match, the longest wins. +Extra hosts can be added per app. + +Groups are for the nav only. Deleting one keeps its apps, ungrouped: deleting a folder +should never be a way to lose the things inside it. + +The nav collapses to a 52px icon rail that is still clickable, so switching apps never +requires expanding it first. + +## Running it + +```bash +npm install && npm run tauri dev +``` + +## Shipping it + +Build, replace the copy in `/Applications`, and relaunch — one command: + +```bash +npm run ship +``` + +No disk image; nothing here is being distributed. + +## Configuration + +`apps.json`, under `~/Library/Application Support/com.vincent.workapp/`. Hand-editing it is +supported — missing fields fall back to their defaults, and an app with no `scope` gets its +URL's host. + +## Tests + +```bash +cd src-tauri && cargo test +``` + +Routing and config are pure and carry real tests: scope matching and its precedence, +identity-provider passthrough, the routing decisions, sentinel round-trips, and config +round-trips. Webview orchestration and bounds sync have no seam a unit test can reach and +are verified by running the app. diff --git a/docs/superpowers/specs/2026-09-01-work-app-design.md b/docs/superpowers/specs/2026-09-01-work-app-design.md new file mode 100644 index 0000000..858ef82 --- /dev/null +++ b/docs/superpowers/specs/2026-09-01-work-app-design.md @@ -0,0 +1,188 @@ +# Work App — Design Spec + +**Date:** 2026-09-01 +**Status:** Approved for implementation +**Type:** Prototype, iterated in place + +## Purpose + +A desktop app that is a browser for one thing only: the web tools used for work. A left +nav lists those tools; clicking one shows it. Links between configured tools navigate +inside the app; every other link leaves for the real browser. + +It is not a general browser. There is no address bar, no tab strip, and no way to reach a +site that is not on the list. + +## Constraints and decisions + +Settled during brainstorming. Not open questions. + +| Decision | Choice | Rationale | +|---|---|---| +| Shell | Tauri 2.11 · React 19 · Vite 7 · Tailwind 4 · TypeScript | Matches FlightTube, the reference app on this machine | +| App rendering | One child webview per app (`add_child`) | Iframes are impossible: Google, Microsoft and most SaaS send `X-Frame-Options: DENY` | +| Sessions | Persistent per-app cookie jar, plus opt-in import from a paired browser | The jar is mandatory either way; the import only saves first logins | +| Link routing | Injected JS click interceptor; permissive `on_navigation` | A strict navigation filter breaks every OAuth redirect chain | +| Tab memory | Every app is a live webview, hidden when inactive | Keeps scroll position, drafts and timers across switches | +| Collapsed nav | ~52px icon rail | Still clickable when collapsed | +| Storage | One `apps.json` in the app config dir | A list of a dozen apps does not need SQLite | +| Platform | macOS only | Single webview engine, single cookie store, no cross-platform branches | + +### Known limitations, accepted + +- **Multi-webview is `unstable` in Tauri.** The API can change between minor versions, so + `tauri` is pinned to `=2.11.5`. +- **Device-bound sessions defeat cookie import.** Google and Microsoft increasingly bind a + session to the browser that created it. Imported cookies will sometimes be rejected and + the tool asks for a real login once. The persistent jar keeps it from then on. +- **Bounds sync trails layout by a frame.** A native webview is positioned from measurements + the shell reports, so during a window resize it can lag. Every app in this class does. +- **The Chrome user agent is a lie.** Sites that sniff deeply may behave oddly. It is on by + default because Google refuses logins from anything it identifies as an embedded webview, + and it is overridable per app. +- **Reading Chrome's cookies raises a Keychain prompt.** Once, on pairing. That is macOS + asking permission, and it is the correct behaviour. + +## Verified environment + +Confirmed present before writing this spec: + +- `rustc` / `cargo` 1.98.0 (aarch64-apple-darwin) +- Node v22.22.2, npm 10.9.7 +- Xcode Command Line Tools (sufficient; full Xcode not required) + +Every API the design leans on was confirmed to exist in the vendored `tauri` 2.11.5 source: +`Window::add_child`, `Webview::{hide, show, set_bounds, bounds}`, +`WebviewBuilder::{on_navigation, on_new_window, user_agent, initialization_script, +data_store_identifier, on_page_load, on_download}`, and `NewWindowResponse::Deny`. + +## Architecture + +The window's own webview is the **shell**: React, drawing the nav, the top bar, settings +and dialogs. Each configured app is a **child webview** stacked in a "stage" rect to the +right of the nav. + +``` +┌ window ─────────────────────────────────────────────┐ +│ ┌ nav ──────┐ ┌ stage ───────────────────────────┐ │ +│ │ shell │ │ child webview (active app) │ │ +│ │ webview │ │ ...others hidden behind it │ │ +│ └───────────┘ └──────────────────────────────────┘ │ +└─────────────────────────────────────────────────────┘ +``` + +Child webviews are native views layered above the shell's content. They do not participate +in CSS layout and they paint over anything the shell draws beneath them. Two consequences: + +- **The shell reports the stage rect.** A `ResizeObserver` on an empty `
` + sends its bounding rect to Rust in logical pixels; Rust calls `set_bounds` on the active + webview and `hide()` on the others. +- **Modals hide the stage.** Opening Settings hides the active app webview, or it would + paint straight over the dialog. + +All webviews are created at startup, but their loads are **staggered**: the active app +first, the rest over the following seconds, so launching does not fire a dozen simultaneous +page loads. + +### Rust modules + +| Module | Responsibility | +|---|---| +| `config.rs` | `apps.json` load, save, seed, migrate | +| `routing.rs` | Pure URL → decision. No I/O, fully unit-tested | +| `webviews.rs` | Child webview registry: create, show, hide, bounds, navigate | +| `cookies/mod.rs` | Installed-browser detection | +| `cookies/chrome.rs` | Chromium cookie DB read and `v10` decryption | +| `cookies/inject.rs` | `WKHTTPCookieStore` injection (macOS) | +| `commands.rs` | The Tauri command surface | +| `lib.rs` | Builder, menu bar, setup | + +### Data model + +`apps.json`, in the app config dir. Apps are flat with a `groupId` rather than nested, so +dragging one between groups is a field change and not a tree rewrite. + +``` +apps[]: { id, name, url, scope[], groupId, favicon, userAgent?, order } +groups[]: { id, name, collapsed, order } +settings: { navCollapsed, theme, pairedBrowser, lastPairedAt } +``` + +`scope` defaults to the URL's **exact host** — `mail.google.com`, not `google.com` — or +Gmail and Drive would each swallow the other's links. Extra hosts are addable per app. A +URL matches an app if its host equals, or is a subdomain of, a scope entry. On ambiguity +the longest match wins. + +### Link routing + +An `initialization_script` in every app webview intercepts real user clicks and +`target=_blank`, and decides: + +| Target | Action | +|---|---| +| In the current app's scope | Allow | +| A known identity provider | Allow — this is what keeps SSO working | +| In another app's scope | `preventDefault()`, switch to that app and navigate it | +| Anything else | `preventDefault()`, hand to the default browser | + +The identity-provider list (`accounts.google.com`, `login.microsoftonline.com`, +`login.live.com`, Okta, Auth0, Duo, `appleid.apple.com`, `github.com/login`, …) exists +because a "Sign in with Google" button is a user click to a foreign host, and the naive +rule would send it to the external browser and strand the login there. + +`on_navigation` returns `true` unconditionally and only reports the URL back to the shell +for the top bar. Redirects, meta-refreshes and OAuth bounces are never blocked. + +`on_new_window` returns `NewWindowResponse::Deny` and re-runs the same decision in Rust, so +`window.open` cannot escape into a stray window. A `_blank` link within the same app +navigates that app's webview in place. + +### Browser pairing + +Settings lists the browsers actually installed. Pairing with a Chromium browser: + +1. Copy the profile's `Cookies` SQLite file — Chrome holds a lock on the original — and + read it with `rusqlite`. +2. Read the `Chrome Safe Storage` key from the login Keychain, derive AES-128 with + PBKDF2-HMAC-SHA1 (salt `saltysalt`, 1003 iterations), and decrypt the `v10` values. +3. Keep only cookies whose domain matches a configured app's scope or the identity-provider + list. Nothing else is read out of the browser. +4. Inject them into `WKHTTPCookieStore`. + +Pairing is a button, not a background job. Cookies rotate; a silent task that periodically +reaches into the Keychain is worse than one the user presses when something logs them out. + +## UI + +The design system is ported from FlightTube's `ui.tsx`: 30px control height, slate and sky, +outline-first controls, borders for separation and shadows only for elevation, a 9–15px type +ladder, and light and dark both designed rather than one derived from the other. + +- **Nav, expanded (~240px)** — traffic-light drag inset, title with cog and collapse + chevron, then groups as collapsible sections with uppercase tracked labels, apps as + favicon-and-name rows. The active row inverts to `bg-slate-900 text-white`. +- **Nav, collapsed (~52px)** — favicons only, active marked with a left accent bar, name on + hover, hairline dividers between groups. Still clickable, so switching does not require + expanding. +- **Top bar (~38px)** — back, forward, reload, the current URL muted and truncated, and + open-in-browser. WKWebView's swipe-back gesture is enabled alongside it. +- **Settings** — Apps, Groups, Browser pairing, Appearance. +- **First boot** — an empty state offering "Add your first app" and "Pair with a browser", + seeded with test apps across three groups so cross-app routing is demonstrable at once. + +## Testing + +`routing.rs` and `config.rs` are pure and carry real unit tests: scope matching and its +precedence, identity-provider passthrough, the four routing decisions, serde round-trips, +and seeding. Cookie decryption is tested against a fixture database with a known key. + +Webview orchestration and bounds sync have no seam that a unit test can reach. They are +verified by running the app and driving it. + +## Out of scope + +- Windows and Linux. +- Tabs, history, bookmarks, an address bar — it is not a general browser. +- Per-app session isolation for multiple accounts on one service. One shared jar for now. +- Automatic background cookie re-sync. +- Notifications, badges and unread counts. diff --git a/index.html b/index.html new file mode 100644 index 0000000..7b6431d --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ + + + + + + Work + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..016e9e8 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2687 @@ +{ + "name": "work-app", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "work-app", + "version": "0.1.0", + "dependencies": { + "@tauri-apps/api": "^2", + "@tauri-apps/plugin-opener": "^2", + "react": "^19.1.0", + "react-dom": "^19.1.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.3.3", + "@tauri-apps/cli": "^2", + "@types/react": "^19.1.8", + "@types/react-dom": "^19.1.6", + "@vitejs/plugin-react": "^4.6.0", + "tailwindcss": "^4.3.3", + "typescript": "~5.8.3", + "vite": "^7.0.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz", + "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.8", + "@babel/types": "^7.29.8", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz", + "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz", + "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.8", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.8", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.8", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz", + "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz", + "integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.2.tgz", + "integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz", + "integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.2.tgz", + "integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz", + "integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz", + "integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz", + "integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz", + "integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz", + "integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz", + "integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz", + "integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz", + "integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz", + "integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz", + "integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz", + "integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz", + "integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz", + "integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz", + "integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz", + "integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz", + "integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz", + "integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz", + "integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz", + "integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz", + "integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz", + "integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz", + "integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz", + "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.63.1.tgz", + "integrity": "sha512-UZ8sUxPTiHWYX9QNdJedb1kDZSpS1t/VPWBWGSgqHNi9w3Cu6IXvu2mzbhiTiPvtrqgTQJ+zqiAq2iPIPilpaQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.63.1.tgz", + "integrity": "sha512-cQ4nFQABN5cDvDpbvJ7bMStCpnaVxynZrRMfUJYgxcIk9Sh54FIO1vtfkg0B69REjER77ioZ/ov+eAApx/KmLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.63.1.tgz", + "integrity": "sha512-FQNqd1lRy/0QhDk3xeRIkSBiCpXCiDnZO3YLVdcDKN1UBiKToNftCzcXYNLshmPDUMlu2TdeS8tGcsU6f3YF1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.63.1.tgz", + "integrity": "sha512-pvD16V939D3CloK0+qikpGaxiPrDUXTe7Y5cWOMkMSy7m1cawa8EGy/kXYi/G/cKAC4HDAbSnzCIk1WmsoOKXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.63.1.tgz", + "integrity": "sha512-pcFGeL2345VwdTnJhA6zLbew+YgWB0qBG2+dMtXjCicf6+rm6kO6cOoh5VnTe0ZMrMRgRyuHmCJxZWrIdzYuOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.63.1.tgz", + "integrity": "sha512-mRJlqSRulVzcKq/LKA6ICSIc3K/l4fzlVn/gePn2nXIHy8seRi5z/eeRE0d/XMBxcMldiXtQTSpRj0tkkC3g8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.63.1.tgz", + "integrity": "sha512-YDUNvVM85TI3g/1OpnqKP1h4NeW/j64DfWMf+G3M809xNk1bJSnpFp4sh83NpmVE5DXnkh8ULor4LTVZKoYLHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.63.1.tgz", + "integrity": "sha512-7Mcn71p9ZuQFAj+h+dhQXy/yeLePRS2yKRnmW1DijA9thKO5qap0GNOIQK4yQ6iP3SU0Mrb/yWo8h8vgRba8lw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.63.1.tgz", + "integrity": "sha512-4YiLQTX6U4CSl0L9cluep9A9W6UmTfqBDc2/CH6wlu54pl4E7Jn3cOD8oxzvBDEGk/JMKgJ47C8g+radF7mwvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.63.1.tgz", + "integrity": "sha512-2ra8F7w8OquwZN9z2/fKFnli69wa8PLwaVzRMIPGb13ByMJwC28Fbp8YcVGoUhlYMTt7j5j9bNgpysrN2UM+vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.63.1.tgz", + "integrity": "sha512-Sy20ncyhjmBP0Ml+UvQbimjlk6VFgjW5uNP+qqwHB00mTE8Bl2C1TuHTlRwK2YoXeZbee5lP2XevBWVkAQAtSQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.63.1.tgz", + "integrity": "sha512-noITLp8oNjYliPnGWmLyelIHwULGqbHloQHGw1rtxbWhTuWooRpnZarZQJ1y9EUC4szuCusCc+HEpUtxpIwYvA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.63.1.tgz", + "integrity": "sha512-hlxxXd+F1mWiAcaFR7Sv9ZQT6m6UfI8+Vy/kFJzztq2pDMU/0wZ9sish0iszNZvsQDo8Gc0i5yuFEOz5dDf6fA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.63.1.tgz", + "integrity": "sha512-EF7OpqQTQ/BvGqLzUi4rEHuagCV9MugAUXSHemwPW5vxZ75RR+jxO/2j95Ph2dalMpFHSVECjRoioHZgA9zOYA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.63.1.tgz", + "integrity": "sha512-wQO3JesW9PRkwlabQ27y7sPfVOOTLRG73I4F2UYHG5PXun3J9U3y+b7ezVKSYbsvSKGQ1k1cq8Qlun4C9kLt3w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.63.1.tgz", + "integrity": "sha512-ouAGwhO6wHRXdnOVCOsB0tRFkA7nhNB2Nwax6oECXN0YiN8EYUTBAOudADOB1PI+yDL61TeNx/u7MVCzksNbkQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.63.1.tgz", + "integrity": "sha512-q2R38Sn+1J8RxhfJ+T54wSWmyKXWec+9jgDfqO2AtArEqHO5R2aeayp5H5OYLr5UYDVGsVaZPEFUooMhYCdz5A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.63.1.tgz", + "integrity": "sha512-gfI5T24WLLuFfSKw7Go/zDXjAAV0fny0swTaDv+WjK7vqcw4cRhFfdsyKL1n+ukI+ooBxn3bVQnyrn06WpI50w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.63.1.tgz", + "integrity": "sha512-4h6XqthmB4Hspji84wvgk+ElodTsGj+dbZqHJHHtKxj4mYq0ANSEEPX9ys3moJueqsRjwpaJYH7874Itwnj2ow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.63.1.tgz", + "integrity": "sha512-dlfCOa87o1VAYegLQ9EKilx2JCeRofiyPGhTCmqnuXZ6bMPiycO1rq1+sKoulAp7pGLIsTIw+1x5R+zgh5LhhA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.63.1.tgz", + "integrity": "sha512-cjkLbOlfcm3QGhMM1J5zaZjsw1GggbN6rw9UTSSRrPrR1KkcXnN7Uq9rPw34xImQ9VOY9GN+6u2Zj80B9ptkcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.63.1.tgz", + "integrity": "sha512-Li1KdUnWGE4N3e1F/B4RTB1ms+nG4WBgjByO46pkeBVX/2UBsY53xf5vK9WygVmnH3RwncIST7lkSdLSY6P9lg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.63.1.tgz", + "integrity": "sha512-t4ZYOSoLTgwhuFMrmTMLx/+i1DQVK7HYqMc6kY46EApwi8X0nIVphzdNoThU3xt6n+N5urG1/gxBdCaKDLavfg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.63.1.tgz", + "integrity": "sha512-RgroPfMmKlD1RzSDxvwgcPiy2HNQKoYV7OmwIXDsk73uKW5t6B/V8KIy27SMv/FNXFo/oSBtWc9J0X7t91ezZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.63.1.tgz", + "integrity": "sha512-at8QVep6S3h5Y6gSbdGU06bRY5WJkf6WUduM9YtvYMbYhB1MOFfUgc6kehitQXzOtMSaT70q7f9ydPhpqu821w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.3.tgz", + "integrity": "sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.24.1", + "jiti": "^2.7.0", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.3" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.3.tgz", + "integrity": "sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.3", + "@tailwindcss/oxide-darwin-arm64": "4.3.3", + "@tailwindcss/oxide-darwin-x64": "4.3.3", + "@tailwindcss/oxide-freebsd-x64": "4.3.3", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.3", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.3", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.3", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.3", + "@tailwindcss/oxide-linux-x64-musl": "4.3.3", + "@tailwindcss/oxide-wasm32-wasi": "4.3.3", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.3", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.3" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.3.tgz", + "integrity": "sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.3.tgz", + "integrity": "sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.3.tgz", + "integrity": "sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.3.tgz", + "integrity": "sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.3.tgz", + "integrity": "sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.3.tgz", + "integrity": "sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.3.tgz", + "integrity": "sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.3.tgz", + "integrity": "sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.3.tgz", + "integrity": "sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.3.tgz", + "integrity": "sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.11.1", + "@emnapi/runtime": "^1.11.1", + "@emnapi/wasi-threads": "^1.2.2", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.3.tgz", + "integrity": "sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.3.tgz", + "integrity": "sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.3.tgz", + "integrity": "sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.3.3", + "@tailwindcss/oxide": "4.3.3", + "tailwindcss": "4.3.3" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tauri-apps/api": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.11.1.tgz", + "integrity": "sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA==", + "license": "Apache-2.0 OR MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, + "node_modules/@tauri-apps/cli": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.11.4.tgz", + "integrity": "sha512-R8xGtMpwyetawSqm9kYOuMmEqkhUbvcUy8n0aNXIxollKBLESUu5f4Fx+64hgASYm1H+jSWq6jCW6zqTnH6hqQ==", + "dev": true, + "license": "Apache-2.0 OR MIT", + "bin": { + "tauri": "tauri.js" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + }, + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "2.11.4", + "@tauri-apps/cli-darwin-x64": "2.11.4", + "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.4", + "@tauri-apps/cli-linux-arm64-gnu": "2.11.4", + "@tauri-apps/cli-linux-arm64-musl": "2.11.4", + "@tauri-apps/cli-linux-riscv64-gnu": "2.11.4", + "@tauri-apps/cli-linux-x64-gnu": "2.11.4", + "@tauri-apps/cli-linux-x64-musl": "2.11.4", + "@tauri-apps/cli-win32-arm64-msvc": "2.11.4", + "@tauri-apps/cli-win32-ia32-msvc": "2.11.4", + "@tauri-apps/cli-win32-x64-msvc": "2.11.4" + } + }, + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.11.4.tgz", + "integrity": "sha512-1ryOF3ZhpZ/nemHV5zVwBQBz9jDGKmKPvWPADOhc83ig0P4bMc2iER4NbC6r9sjeIZ6RVQ4g3RZIYvezhcl4TQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.11.4.tgz", + "integrity": "sha512-uFsGQAAfuyz1k/yGLmkWfkBlgKAqZfxqlHmLWx81QU27RJWfmbNHCIq8T8w1e+VClleIuZUjpHWfoE4E3DLo3A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.11.4.tgz", + "integrity": "sha512-IaHZn5CdBL21oUmjiVOS1ctw6Ip1O0pjp70FwOWmYz1myWe0SY96ZIj2FYf7pT0m8bI2h/hrs5ZbEXXh44/MkQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.11.4.tgz", + "integrity": "sha512-N41/ukTRVe6XSuUTESuFdGeOW2i7k62tK+6gHK5Kd5/q5RPvvi19GaWAVPPb9u95HSGmTChSolBfzynUsssFaA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.11.4.tgz", + "integrity": "sha512-v277UnT/fB64xAfSroL5N3Km3tLmvATWqJJw/wRI+g6o+HkeD0slyE7gOhNs1MbjE41R7bQOTxMVoL3aomUJmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-riscv64-gnu": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.11.4.tgz", + "integrity": "sha512-qqgNkQ2u1yZHxjhxsZaxUtRDW8dIqIYm33rx/mzwQv0SfY9x1B+iraj8vWeFiXjjSVVhEMepXSOts1TqPzvXNQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.11.4.tgz", + "integrity": "sha512-2VRNWl84FOH0m2giiDkO2h0QXlcMJeX+zJDpI5kDIQAx6s+geF3v48F4DXfJez4GS/FdoDGnPnw1C2iYGbQ7bQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.11.4.tgz", + "integrity": "sha512-o9GyhYor/nc7xarmwDE3ka2szuW3uuZzXjHWh64Q8YX5AtSgxdQkFWzrY4O8KiGtVNvFBI14H3Q49Qj5TOIP/A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-arm64-msvc": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.11.4.tgz", + "integrity": "sha512-ld5Ehb598m0VkYyylRPNeCFsBe/km0jxis6KgMpl3IGY6I/i1RwQXO05I1AsXUXO2WC6AvB/Lw4qTf/asiuEiQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.11.4.tgz", + "integrity": "sha512-12Hxi0XX/H5VFxO/bGgHkFWhml9VMgEOu9CidjeCeTNQ1l6fpUlbiGgSP7CLI3PFtW9/FfbeHieZ+kyWK5H7CA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-x64-msvc": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.11.4.tgz", + "integrity": "sha512-+vDiqBIU5dMISg/wNvX3sF+ZHfgJGJ5T0AcO+EHNXV9GGAG+P5fzodlDXD3QdKCRgZxMoCm5PPvj3BqLNjBthw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/plugin-opener": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-opener/-/plugin-opener-2.5.5.tgz", + "integrity": "sha512-xvzGai5aQds8j8R8RsUK/lW6pGG50YgOYIPLzvkqmkwAj7dfySOD7sGtejRzvVdMmv1EQfKVEFh1MvmDp8QR0g==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.11.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.18.tgz", + "integrity": "sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.11.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.20.tgz", + "integrity": "sha512-H0ulySigv6icDJ1F7SjtdCD6PrhTpdYCmP0CactWy1+ekh0AFd0o1Wn5T8b+hnTmdBx19u9yhL6wvCylXMY7zw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz", + "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.11.12", + "caniuse-lite": "^1.0.30001809", + "electron-to-chromium": "^1.5.402", + "node-releases": "^2.0.53", + "update-browserslist-db": "^1.3.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001810", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz", + "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.418", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.418.tgz", + "integrity": "sha512-UzS26r3AEbG5wSoGVpJKqwHIU9zwQN7LHdVIThDrJpS0I5KdlXFMEb8543fhc9dVnIIAST6ar8rhwa00AL5MlA==", + "dev": true, + "license": "ISC" + }, + "node_modules/enhanced-resolve": { + "version": "5.24.5", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz", + "integrity": "sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/esbuild": { + "version": "0.28.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.2.tgz", + "integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.2", + "@esbuild/android-arm": "0.28.2", + "@esbuild/android-arm64": "0.28.2", + "@esbuild/android-x64": "0.28.2", + "@esbuild/darwin-arm64": "0.28.2", + "@esbuild/darwin-x64": "0.28.2", + "@esbuild/freebsd-arm64": "0.28.2", + "@esbuild/freebsd-x64": "0.28.2", + "@esbuild/linux-arm": "0.28.2", + "@esbuild/linux-arm64": "0.28.2", + "@esbuild/linux-ia32": "0.28.2", + "@esbuild/linux-loong64": "0.28.2", + "@esbuild/linux-mips64el": "0.28.2", + "@esbuild/linux-ppc64": "0.28.2", + "@esbuild/linux-riscv64": "0.28.2", + "@esbuild/linux-s390x": "0.28.2", + "@esbuild/linux-x64": "0.28.2", + "@esbuild/netbsd-arm64": "0.28.2", + "@esbuild/netbsd-x64": "0.28.2", + "@esbuild/openbsd-arm64": "0.28.2", + "@esbuild/openbsd-x64": "0.28.2", + "@esbuild/openharmony-arm64": "0.28.2", + "@esbuild/sunos-x64": "0.28.2", + "@esbuild/win32-arm64": "0.28.2", + "@esbuild/win32-ia32": "0.28.2", + "@esbuild/win32-x64": "0.28.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.18", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz", + "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.54", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.54.tgz", + "integrity": "sha512-YHs7BmmcsdAI5Ozuf8JZo6PT0mv2GIWC9vMfvUC3dp65M8hn7Ux8CPL+2oBI7juNuj9d0ndhTcznq2ODBps9cQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.26", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz", + "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.17", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", + "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", + "integrity": "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.8" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.63.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.63.1.tgz", + "integrity": "sha512-3Df9jsstwhccuEfmAMi9l8XUh/GOkVObmFTU7CCVBysEbcOZLl84jCtaAZMcPiMz2EGKsATzQcU+Xr3n/wU6cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.63.1", + "@rollup/rollup-android-arm64": "4.63.1", + "@rollup/rollup-darwin-arm64": "4.63.1", + "@rollup/rollup-darwin-x64": "4.63.1", + "@rollup/rollup-freebsd-arm64": "4.63.1", + "@rollup/rollup-freebsd-x64": "4.63.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.63.1", + "@rollup/rollup-linux-arm-musleabihf": "4.63.1", + "@rollup/rollup-linux-arm64-gnu": "4.63.1", + "@rollup/rollup-linux-arm64-musl": "4.63.1", + "@rollup/rollup-linux-loong64-gnu": "4.63.1", + "@rollup/rollup-linux-loong64-musl": "4.63.1", + "@rollup/rollup-linux-ppc64-gnu": "4.63.1", + "@rollup/rollup-linux-ppc64-musl": "4.63.1", + "@rollup/rollup-linux-riscv64-gnu": "4.63.1", + "@rollup/rollup-linux-riscv64-musl": "4.63.1", + "@rollup/rollup-linux-s390x-gnu": "4.63.1", + "@rollup/rollup-linux-x64-gnu": "4.63.1", + "@rollup/rollup-linux-x64-musl": "4.63.1", + "@rollup/rollup-openbsd-x64": "4.63.1", + "@rollup/rollup-openharmony-arm64": "4.63.1", + "@rollup/rollup-win32-arm64-msvc": "4.63.1", + "@rollup/rollup-win32-ia32-msvc": "4.63.1", + "@rollup/rollup-win32-x64-gnu": "4.63.1", + "@rollup/rollup-win32-x64-msvc": "4.63.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tailwindcss": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.3.tgz", + "integrity": "sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.2.tgz", + "integrity": "sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.6.tgz", + "integrity": "sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0 || ^0.28.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..288db41 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "work-app", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "tauri": "tauri", + "ship": "./scripts/ship.sh" + }, + "dependencies": { + "@tauri-apps/api": "^2", + "@tauri-apps/plugin-opener": "^2", + "react": "^19.1.0", + "react-dom": "^19.1.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.3.3", + "@tauri-apps/cli": "^2", + "@types/react": "^19.1.8", + "@types/react-dom": "^19.1.6", + "@vitejs/plugin-react": "^4.6.0", + "tailwindcss": "^4.3.3", + "typescript": "~5.8.3", + "vite": "^7.0.4" + } +} diff --git a/scripts/ship.sh b/scripts/ship.sh new file mode 100755 index 0000000..8a43f15 --- /dev/null +++ b/scripts/ship.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# +# Build, install to /Applications, relaunch. +# +# The standing workflow for seeing a change: this replaces the installed app +# rather than producing a disk image, because nothing here is being distributed. +set -euo pipefail + +cd "$(dirname "$0")/.." +APP="Work.app" +BUILT="src-tauri/target/release/bundle/macos/$APP" +DEST="/Applications/$APP" + +echo "==> building" +npm run tauri build -- --bundles app + +echo "==> quitting the running copy" +osascript -e 'quit app "Work"' >/dev/null 2>&1 || true +# A hung window would otherwise keep the bundle busy while it is replaced. +pkill -x Work >/dev/null 2>&1 || true +for _ in 1 2 3 4 5 6 7 8 9 10; do + pgrep -x Work >/dev/null || break + sleep 0.3 +done + +echo "==> installing to $DEST" +rm -rf "$DEST" +cp -R "$BUILT" "$DEST" + +echo "==> launching" +open "$DEST" +echo "==> done" diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock new file mode 100644 index 0000000..5041c63 --- /dev/null +++ b/src-tauri/Cargo.lock @@ -0,0 +1,5030 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aho-corasick" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android_system_properties" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" +dependencies = [ + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-lock" +version = "3.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "async-signal" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix", + "signal-hook-registry", + "slab", + "windows-sys 0.61.2", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "atk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" +dependencies = [ + "atk-sys", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" +dependencies = [ + "serde_core", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "blocking" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a70e4329df6cb94385eed412ec92375c3cdd8a6e502493d1229b6414e4036dfa" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "brotli" +version = "8.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" + +[[package]] +name = "bytemuck" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" +dependencies = [ + "serde", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.13.1", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror 1.0.69", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb1307f12aa967b5a58416e87b3653360e0fd614a016b6e970db08fecbb1b80d" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.20", +] + +[[package]] +name = "cargo_toml" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" +dependencies = [ + "serde", + "toml 0.9.12+spec-1.1.0", +] + +[[package]] +name = "cc" +version = "1.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "chrono" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" +dependencies = [ + "iana-time-zone", + "num-traits", + "serde", + "windows-link 0.2.1", +] + +[[package]] +name = "combine" +version = "4.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfc320937d09e6de266b31b9afb480f197d7a861be86be7cb2ea7e5d1bfffc5e" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "cookie" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a373e3602691c3cdea496d2f0ee5935151e6168fe87739483c463db1b2f2f87" +dependencies = [ + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064badf302c3194842cf2c5d61f56cc88e54a759313879cdf03abdd27d0c3b97" +dependencies = [ + "bitflags 2.13.1", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.13.1", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "phf", + "smallvec", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "ctor" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" +dependencies = [ + "ctor-proc-macro", + "dtor", +] + +[[package]] +name = "ctor-proc-macro" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" + +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.119", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "dbus" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab69f03cc8c4340c9c8e315114e1658e6775a9b16a04357973aa21cec22b32e" +dependencies = [ + "libc", + "libdbus-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "defmt" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" +dependencies = [ + "bitflags 1.3.2", + "defmt-macros", +] + +[[package]] +name = "defmt-macros" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" +dependencies = [ + "defmt-parser", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "defmt-parser" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" +dependencies = [ + "thiserror 2.0.20", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "serde_core", +] + +[[package]] +name = "derive_more" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.119", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.61.2", +] + +[[package]] +name = "dispatch2" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" +dependencies = [ + "bitflags 2.13.1", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "dlopen2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "dom_query" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" +dependencies = [ + "bit-set", + "cssparser", + "foldhash", + "html5ever", + "precomputed-hash", + "selectors", + "tendril", +] + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dtor" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" +dependencies = [ + "dtor-proc-macro", +] + +[[package]] +name = "dtor-proc-macro" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "embed-resource" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbfdaacccebec3b28e4866b8973543c7647797db5ada1bdab552e48fe665fbbd" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 1.1.4+spec-1.1.0", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "endi" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" + +[[package]] +name = "enumflags2" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2add8a07dd6a8d93ff627029c51de145e12686fbc36ecb298ac22e74cf02dec" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "event-listener" +version = "5.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2" +dependencies = [ + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "field-offset" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" +dependencies = [ + "memoffset", + "rustc_version", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d45db016d36b838f563236e9193d0ee6ce38f3f68b6c94e914b4929c96bbb890" + +[[package]] +name = "flate2" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e634e2e0ebac1ee034020da1ca582e17ffe4e0f5e985823721e168928136dcb" +dependencies = [ + "crc32fast", + "miniz_oxide 0.9.1", + "zlib-rs", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" + +[[package]] +name = "futures-executor" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed" + +[[package]] +name = "futures-lite" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "futures-sink" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d" + +[[package]] +name = "futures-task" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" + +[[package]] +name = "futures-util" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "gdk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" +dependencies = [ + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkx11" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" +dependencies = [ + "gdk", + "gdkx11-sys", + "gio", + "glib", + "libc", + "x11", +] + +[[package]] +name = "gdkx11-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps", + "x11", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", +] + +[[package]] +name = "gio" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "libc", + "once_cell", + "pin-project-lite", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gio-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" +dependencies = [ + "bitflags 2.13.1", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "memchr", + "once_cell", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "glib-macros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "glib-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glob" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" + +[[package]] +name = "gobject-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" +dependencies = [ + "atk", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk3-macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "html5ever" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" +dependencies = [ + "log", + "markup5ever", +] + +[[package]] +name = "http" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b501faa50e7a26c3d3560ca625132f4078a17771f4810baf70475ae48cbe43" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ico" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e795dff5605e0f04bff85ca41b51a96b83e80b281e96231bcaaf1ac35103371" +dependencies = [ + "byteorder", + "png 0.17.16", +] + +[[package]] +name = "icu_collections" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513" +dependencies = [ + "displaydoc", + "potential_utf", + "utf8_iter", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56e28588da92eee5c3201a6eff33fabdd49b62269c8938d4ff050ce4d900deb" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f9cf5f235641ed274641dd81c3f28d870e276763d0797aeeab72317b1c646f" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1563da1ed3e0b3bf3d74c9b85917ac9c56464d2f57242270c09c9e752f8021a0" + +[[package]] +name = "icu_properties" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e7ca276ad3145661a65914e6daf131ca5120cd3dcee8f8f3214b8875184a148" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" + +[[package]] +name = "icu_provider" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07aa2048142242915a31d35844fb311e0e53fcca590c3a0a40dcf1b841fa09eb" +dependencies = [ + "equivalent", + "hashbrown 0.17.1", + "serde", + "serde_core", +] + +[[package]] +name = "infer" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" +dependencies = [ + "cfb", +] + +[[package]] +name = "ipnet" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a756c3fac73139e83f14c2d742155dd2b78d3ee56597b419a0579b7bdd6dd78" + +[[package]] +name = "is-docker" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +dependencies = [ + "once_cell", +] + +[[package]] +name = "is-wsl" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +dependencies = [ + "is-docker", + "once_cell", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "javascriptcore-rs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "jiff" +version = "0.2.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668b7183bd07af9a4885f5c35b0cc5c83c4607a913c16b7e17291832910d2dcc" +dependencies = [ + "defmt", + "jiff-core", + "jiff-static", + "jiff-tzdb-platform", + "log", + "portable-atomic", + "portable-atomic-util", + "serde_core", + "windows-link 0.2.1", +] + +[[package]] +name = "jiff-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7feca88439efe53da3754500c1851dedf3cb36c524dd5cf8225cc0794de95d09" +dependencies = [ + "defmt", +] + +[[package]] +name = "jiff-static" +version = "0.2.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a69dcb3a21cfb32ce1cd056169337ca284af0766dd766e7878819b251a49204" +dependencies = [ + "jiff-core", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "142bd39932ad231f10513df9ab62661fead8719872150b7ad02a2df79f4e141e" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +dependencies = [ + "jiff-tzdb", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys 0.3.1", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" +dependencies = [ + "jni-sys 0.4.1", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.119", +] + +[[package]] +name = "js-sys" +version = "0.3.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0c1080212aad755ea003d18543e8768dd432c48819efd73a7bf1e39b7a5a3a" +dependencies = [ + "cfg-if", + "futures-util", + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.13.1", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "libdbus-sys" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "328c4789d42200f1eeec05bd86c9c13c7f091d2ba9a6ea35acdf51f31bc0f043" +dependencies = [ + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libredox" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7955dfc218a8afb29dfeffd540e3a6e96baeb94fe7138228dd7cc6937fbbf96" +dependencies = [ + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" + +[[package]] +name = "litemap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" + +[[package]] +name = "markup5ever" +version = "0.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862" +dependencies = [ + "log", + "tendril", + "web_atoms", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "miniz_oxide" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63fbc4a50860e98e7b2aa7804ded1db5cbc3aff9193adaff57a6931bf7c4b4c" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "muda" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd04e60bc0b07438a6771710ee1698f98f6ebbc7f89b61264af1563b8aeb878" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "once_cell", + "png 0.18.1", + "serde", + "thiserror 2.0.20", + "windows-sys 0.61.2", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.13.1", + "jni-sys 0.3.1", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys 0.3.1", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "num-conv" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "objc2" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" +dependencies = [ + "objc2-encode", + "objc2-exception-helper", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.13.1", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags 2.13.1", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-location" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" +dependencies = [ + "cc", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.13.1", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-location", + "objc2-core-text", + "objc2-foundation", + "objc2-quartz-core", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" +dependencies = [ + "bitflags 2.13.1", + "block2", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "open" +version = "5.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade3be4664bc1ef537ce133015f04c176b737815c2ba9fd60edf212d6e90dd55" +dependencies = [ + "dunce", + "is-wsl", + "libc", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "pango" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" +dependencies = [ + "gio", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-link 0.2.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" +dependencies = [ + "phf_macros", + "phf_shared", + "serde", +] + +[[package]] +name = "phf_codegen" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "piper" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b464fbc74e149a392436b17d523f769e057cb6877f6a5c4618bc6f11800548" + +[[package]] +name = "plist" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da1d65da6dd5d1e44199ac0f58712d241c0f439f80adea8924d832384087f85" +dependencies = [ + "base64 0.22.1", + "indexmap 2.14.1", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.8.9", +] + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags 2.13.1", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.8.9", +] + +[[package]] +name = "polling" +version = "3.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "portable-atomic" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85" + +[[package]] +name = "portable-atomic-util" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-crate" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" +dependencies = [ + "toml_edit 0.25.13+spec-1.1.0", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.41.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e660451e55124f798a69a5af3f49ccfbefbd41910eefd25caf2393e1f3473ec1" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.13.1", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror 2.0.20", +] + +[[package]] +name = "ref-cast" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e440fb4e4b4147295338efb76001ab9e4efc0e5839df2c47fc5ac2381d365c3" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "regex" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" + +[[package]] +name = "reqwest" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "sync_wrapper", + "tokio", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "rustc-hash" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" +dependencies = [ + "bitflags 2.13.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustversion" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.119", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "selectors" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c" +dependencies = [ + "bitflags 2.13.1", + "cssparser", + "derive_more", + "log", + "new_debug_unreachable", + "phf", + "phf_codegen", + "precomputed-hash", + "rustc-hash", + "servo_arc", + "smallvec", +] + +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" +dependencies = [ + "serde", + "serde_core", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" +dependencies = [ + "erased-serde", + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_repr" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_with" +version = "3.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee78f1fbe43ac4a0e47aadb3dbd357b69eb0d3793e948624cd03dd2750ab1c0a" +dependencies = [ + "base64 0.22.1", + "bs58", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.14.1", + "jiff", + "schemars 0.9.0", + "schemars 1.2.2", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8705578779c2b6bd90d84d66eb2e206b708b1a4d7b9f17641b293545bf1c7e46" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "servo_arc" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170fb83ab34de17dc69aa7c67482b22218ddb85da56546f9bd6b929e32a05930" +dependencies = [ + "stable_deref_trait", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" + +[[package]] +name = "signal-hook-registry" +version = "1.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" +dependencies = [ + "errno", + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + +[[package]] +name = "siphasher" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" + +[[package]] +name = "socket2" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "softbuffer" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" +dependencies = [ + "bytemuck", + "js-sys", + "ndk", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall", + "tracing", + "wasm-bindgen", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", + "gio", + "glib", + "libc", + "soup3-sys", +] + +[[package]] +name = "soup3-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "string_cache" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + +[[package]] +name = "string_cache_codegen" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585635e46db231059f76c5849798146164652513eb9e8ab2685939dd90f29b69" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "swift-rs" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e45c444e496845d3f2a351146bff59aae4975b2280238df1dfaa0c7d1846f38e" +dependencies = [ + "base64 0.21.7", + "serde", + "serde_json", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.119" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml 0.8.2", + "version-compare", +] + +[[package]] +name = "tao" +version = "0.35.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1c93047acf68669466a34690ac58cca7010bd1b201e1ec86f1fd0a75d3dd4a9" +dependencies = [ + "bitflags 2.13.1", + "block2", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dbus", + "dispatch2", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "jni", + "libc", + "log", + "ndk", + "ndk-sys", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "once_cell", + "parking_lot", + "percent-encoding", + "raw-window-handle", + "tao-macros", + "unicode-segmentation", + "url", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7eeb6d99155545da6150a1795945f16ac9c178deb2a5f2e74d776107bd5849" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tauri" +version = "2.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "667b20e2726d572dea2de7370da16e188eb06008faf9a92fab7cdc46791190b5" +dependencies = [ + "anyhow", + "bytes", + "cookie", + "dirs", + "dunce", + "embed_plist", + "getrandom 0.3.4", + "glob", + "gtk", + "heck 0.5.0", + "http", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "percent-encoding", + "plist", + "raw-window-handle", + "reqwest", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "swift-rs", + "tauri-build", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "thiserror 2.0.20", + "tokio", + "tray-icon", + "url", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows", +] + +[[package]] +name = "tauri-build" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc9ce40b16101cb6ea63d3e221567affd1c3a9205f95d7bc574941a10636b632" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars 0.8.22", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08279169ff42f8fc45a1dbc9dcae888893ba95288142e5880c59b93a26d2cfc5" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png 0.17.16", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.119", + "tauri-utils", + "thiserror 2.0.20", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8b394794f399a421811d06966343e7933fcae92d59f5180b9388d1174497a45" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.119", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74be5dd4bed9afbd145e5716b5fa2ec28cbc29c34ffa61c258c9273d896c8020" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri-utils", + "walkdir", +] + +[[package]] +name = "tauri-plugin-opener" +version = "2.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60d60366174b745b4ef5824b8bbc1c457fd08f0ce101ff643c0a49181a9f4e91" +dependencies = [ + "dunce", + "glob", + "objc2-app-kit", + "objc2-foundation", + "open", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.20", + "url", + "windows", + "zbus", +] + +[[package]] +name = "tauri-runtime" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0b4bc95aed361b0019067d189a1174a603d460d0f6c72606512d59fc9c12ec8" +dependencies = [ + "cookie", + "dpi", + "gtk", + "http", + "jni", + "objc2", + "objc2-ui-kit", + "objc2-web-kit", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.20", + "url", + "webkit2gtk", + "webview2-com", + "windows", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e6fac707727b7a2f48e4ded90976324267371073edbb415ffb73bb0458d203f" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e176a18e67764923c4f1ce66f25ae4abe5f688384d5eb1a0fa6c77f3d90f887" +dependencies = [ + "anyhow", + "brotli", + "cargo_metadata", + "ctor", + "dom_query", + "dunce", + "glob", + "http", + "infer", + "json-patch", + "log", + "memchr", + "phf", + "plist", + "proc-macro2", + "quote", + "regex", + "schemars 0.8.22", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.20", + "toml 1.1.4+spec-1.1.0", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc65d45c68858bfe420dd29e834b5d15dbecf8a07a8a16cf4d532c7b1f69d4b6" +dependencies = [ + "dunce", + "embed-resource", + "toml 1.1.4+spec-1.1.0", +] + +[[package]] +name = "tempfile" +version = "3.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" +dependencies = [ + "fastrand", + "getrandom 0.4.3", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "tendril" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fed54709c5b3a53d09bb1c113ea4f5ceafd1e772ddcb0030a82e1d56c087b08" +dependencies = [ + "new_debug_unreachable", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" +dependencies = [ + "thiserror-impl 2.0.20", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "time" +version = "0.3.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134" +dependencies = [ + "deranged", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" + +[[package]] +name = "time-macros" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e27c91459209c2986af3dcf603a5a74a4368754ce37414f59acc971167f643" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb4ebadaa0af04fab11ae01eb5f9fdb5f9c5b875506e210e71c07873528baa7f" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-util" +version = "0.7.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "494815d09bf52b5548659851081238f0ca39ff638363907596da739561c62c52" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "toml" +version = "0.9.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +dependencies = [ + "indexmap 2.14.1", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.15", +] + +[[package]] +name = "toml" +version = "1.1.4+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5" +dependencies = [ + "indexmap 2.14.1", + "serde_core", + "serde_spanned 1.1.1", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 1.0.4", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_datetime" +version = "1.1.1+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.14.1", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.14.1", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.25.13+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b" +dependencies = [ + "indexmap 2.14.1", + "toml_datetime 1.1.1+spec-1.1.0", + "toml_parser", + "winnow 1.0.4", +] + +[[package]] +name = "toml_parser" +version = "1.1.3+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56" +dependencies = [ + "winnow 1.0.4", +] + +[[package]] +name = "toml_writer" +version = "1.1.2+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d56353a2a665ad0f41a421187180aab746c8c325620617ad883a99a1cbe66d2" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" +dependencies = [ + "bitflags 2.13.1", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "url", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "045979e3f037cd18ad1cb2a419dfda133c5c29c9f3453370079f2255d46c257e" +dependencies = [ + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "once_cell", + "png 0.18.1", + "serde", + "thiserror 2.0.20", + "windows-sys 0.61.2", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typenum" +version = "1.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" + +[[package]] +name = "uds_windows" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" +dependencies = [ + "memoffset", + "tempfile", + "windows-sys 0.61.2", +] + +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-ucd-ident" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-segmentation" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", + "serde_derive", +] + +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5772d71c9be8a8a6ac2117d949c5b224c1b72241bb611d9a3012edcf8af7812" +dependencies = [ + "getrandom 0.4.3", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "version-compare" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.4+wasi-0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b70935747edd64d89de3efa29d73789b806c15798f8e7dca4d8ac356b50ce70" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b7777d5cc23d0e91404e53ce2d5e8ec7acae3026b16233dba62cd3246457950" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77775f8f3f7217702089053b94958f8f54061a3f663417df76e19cbdcca29bc1" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e11d33f857dc2fb11b8bc75aee111aa9cbeb12cd9f25efd3d4c2a3dd4e235284" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.119", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.127" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef64dbcc55df09c7e5a46182d181c2cfa3e925f3da937ea764728b4bbb9dcbf" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-streams" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c435338968042f4f59a557f690a253676d47ce13ceb55d70100e7facf6620a30" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web_atoms" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba8b815c1b593dc0baf78dd0f4fc8fdb2de53198fb1163738093e9a311c33fb3" +dependencies = [ + "phf", + "phf_codegen", + "string_cache", + "string_cache_codegen", +] + +[[package]] +name = "webkit2gtk" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1027150013530fb2eaf806408df88461ae4815a45c541c8975e61d6f2fc4793" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "soup3", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "916a5f65c2ef0dfe12fff695960a2ec3d4565359fdbb2e9943c974e06c734ea5" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pkg-config", + "soup3-sys", + "system-deps", +] + +[[package]] +name = "webview2-com" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows", + "windows-core 0.61.2", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "webview2-com-sys" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" +dependencies = [ + "thiserror 2.0.20", + "windows", + "windows-core 0.61.2", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window-vibrancy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" + +[[package]] +name = "winnow" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" +dependencies = [ + "cfg-if", + "windows-sys 0.59.0", +] + +[[package]] +name = "wit-bindgen" +version = "0.57.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" + +[[package]] +name = "work-app" +version = "0.1.0" +dependencies = [ + "serde", + "serde_json", + "tauri", + "tauri-build", + "tauri-plugin-opener", + "tokio", + "url", + "uuid", +] + +[[package]] +name = "writeable" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" + +[[package]] +name = "wry" +version = "0.55.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186f9871daa55fd9c016578b810d149de58367113db7fb72b462d2323ce19514" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dirs", + "dom_query", + "dpi", + "dunce", + "gdkx11", + "gtk", + "http", + "javascriptcore-rs", + "jni", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 2.0.20", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "yoke" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", + "synstructure", +] + +[[package]] +name = "zbus" +version = "5.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907" +dependencies = [ + "async-broadcast", + "async-executor", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "enumflags2", + "event-listener", + "futures-core", + "futures-lite", + "hex", + "libc", + "ordered-stream", + "rustix", + "serde", + "serde_repr", + "tracing", + "uds_windows", + "uuid", + "windows-sys 0.61.2", + "winnow 1.0.4", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "5.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 3.0.4", + "zbus_names", + "zvariant", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "4.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8bf88b4a3ff53e883001e0e0115b297a9d53c31b9c1edd2bfdd853e3428624e" +dependencies = [ + "serde", + "winnow 1.0.4", + "zvariant", +] + +[[package]] +name = "zcheapstr" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1afec51604565183aeb5c54c20aeab286120d4e4460f7f76e3e8bb8c0d99473" +dependencies = [ + "serde", +] + +[[package]] +name = "zerofrom" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.4", +] + +[[package]] +name = "zlib-rs" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12" + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" + +[[package]] +name = "zvariant" +version = "5.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1d34c27cc6cdd1f458427519dd6b8612f7b7e3f7b9a0b2355d041dda9869147" +dependencies = [ + "endi", + "enumflags2", + "serde", + "winnow 1.0.4", + "zcheapstr", + "zvariant_derive", + "zvariant_utils", +] + +[[package]] +name = "zvariant_derive" +version = "5.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "864155e69b4352db0c7f374917bf45d1e0c8d17659c8b3dbf9795f3673f8c497" +dependencies = [ + "proc-macro-crate 3.5.0", + "proc-macro2", + "quote", + "syn 3.0.4", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bad0294361a320b694a328460dc73add56c306150f5cb6bfafc44446120008a3" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 3.0.4", + "winnow 1.0.4", +] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml new file mode 100644 index 0000000..87d2af4 --- /dev/null +++ b/src-tauri/Cargo.toml @@ -0,0 +1,23 @@ +[package] +name = "work-app" +version = "0.1.0" +description = "A browser for the tools you work in" +authors = ["Vincent"] +edition = "2021" + +[lib] +name = "work_app_lib" +crate-type = ["staticlib", "cdylib", "rlib"] + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +# Pinned: multi-webview lives behind `unstable`, whose API can move between minors. +tauri = { version = "=2.11.5", features = ["unstable"] } +tauri-plugin-opener = "2" +serde = { version = "1", features = ["derive"] } +serde_json = "1" +tokio = { version = "1", features = ["time"] } +url = "2" +uuid = { version = "1", features = ["v4"] } diff --git a/src-tauri/build.rs b/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json new file mode 100644 index 0000000..a61ea80 --- /dev/null +++ b/src-tauri/capabilities/default.json @@ -0,0 +1,11 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "The shell webview. App webviews are deliberately absent: remote content gets no IPC.", + "windows": ["main"], + "permissions": [ + "core:default", + "core:window:allow-start-dragging", + "opener:default" + ] +} diff --git a/src-tauri/gen/schemas/acl-manifests.json b/src-tauri/gen/schemas/acl-manifests.json new file mode 100644 index 0000000..e090e7b --- /dev/null +++ b/src-tauri/gen/schemas/acl-manifests.json @@ -0,0 +1 @@ +{"core":{"default_permission":{"identifier":"default","description":"Default core plugins set.","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","allow-identifier","allow-bundle-type","allow-register-listener","allow-remove-listener","allow-supports-multiple-windows"]},"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-bundle-type":{"identifier":"allow-bundle-type","description":"Enables the bundle_type command without any pre-configured scope.","commands":{"allow":["bundle_type"],"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-fetch-data-store-identifiers":{"identifier":"allow-fetch-data-store-identifiers","description":"Enables the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":["fetch_data_store_identifiers"],"deny":[]}},"allow-identifier":{"identifier":"allow-identifier","description":"Enables the identifier command without any pre-configured scope.","commands":{"allow":["identifier"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-register-listener":{"identifier":"allow-register-listener","description":"Enables the register_listener command without any pre-configured scope.","commands":{"allow":["register_listener"],"deny":[]}},"allow-remove-data-store":{"identifier":"allow-remove-data-store","description":"Enables the remove_data_store command without any pre-configured scope.","commands":{"allow":["remove_data_store"],"deny":[]}},"allow-remove-listener":{"identifier":"allow-remove-listener","description":"Enables the remove_listener command without any pre-configured scope.","commands":{"allow":["remove_listener"],"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-set-dock-visibility":{"identifier":"allow-set-dock-visibility","description":"Enables the set_dock_visibility command without any pre-configured scope.","commands":{"allow":["set_dock_visibility"],"deny":[]}},"allow-supports-multiple-windows":{"identifier":"allow-supports-multiple-windows","description":"Enables the supports_multiple_windows command without any pre-configured scope.","commands":{"allow":["supports_multiple_windows"],"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-bundle-type":{"identifier":"deny-bundle-type","description":"Denies the bundle_type command without any pre-configured scope.","commands":{"allow":[],"deny":["bundle_type"]}},"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-fetch-data-store-identifiers":{"identifier":"deny-fetch-data-store-identifiers","description":"Denies the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_data_store_identifiers"]}},"deny-identifier":{"identifier":"deny-identifier","description":"Denies the identifier command without any pre-configured scope.","commands":{"allow":[],"deny":["identifier"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-register-listener":{"identifier":"deny-register-listener","description":"Denies the register_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["register_listener"]}},"deny-remove-data-store":{"identifier":"deny-remove-data-store","description":"Denies the remove_data_store command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_data_store"]}},"deny-remove-listener":{"identifier":"deny-remove-listener","description":"Denies the remove_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_listener"]}},"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-set-dock-visibility":{"identifier":"deny-set-dock-visibility","description":"Denies the set_dock_visibility command without any pre-configured scope.","commands":{"allow":[],"deny":["set_dock_visibility"]}},"deny-supports-multiple-windows":{"identifier":"deny-supports-multiple-windows","description":"Denies the supports_multiple_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["supports_multiple_windows"]}},"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, which enables all commands.","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, which enables all commands.","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, which enables all commands.","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, which enables all commands.","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, which enables all commands.","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, which enables all commands.","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-icon-with-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-icon-with-as-template":{"identifier":"allow-set-icon-with-as-template","description":"Enables the set_icon_with_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_with_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-icon-with-as-template":{"identifier":"deny-set-icon-with-as-template","description":"Denies the set_icon_with_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_with_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-auto-resize":{"identifier":"allow-set-webview-auto-resize","description":"Enables the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":["set_webview_auto_resize"],"deny":[]}},"allow-set-webview-background-color":{"identifier":"allow-set-webview-background-color","description":"Enables the set_webview_background_color command without any pre-configured scope.","commands":{"allow":["set_webview_background_color"],"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-auto-resize":{"identifier":"deny-set-webview-auto-resize","description":"Denies the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_auto_resize"]}},"deny-set-webview-background-color":{"identifier":"deny-set-webview-background-color","description":"Denies the set_webview_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_background_color"]}},"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-is-always-on-top","allow-activity-name","allow-scene-identifier","allow-internal-toggle-maximize"]},"permissions":{"allow-activity-name":{"identifier":"allow-activity-name","description":"Enables the activity_name command without any pre-configured scope.","commands":{"allow":["activity_name"],"deny":[]}},"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-always-on-top":{"identifier":"allow-is-always-on-top","description":"Enables the is_always_on_top command without any pre-configured scope.","commands":{"allow":["is_always_on_top"],"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-scene-identifier":{"identifier":"allow-scene-identifier","description":"Enables the scene_identifier command without any pre-configured scope.","commands":{"allow":["scene_identifier"],"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-background-color":{"identifier":"allow-set-background-color","description":"Enables the set_background_color command without any pre-configured scope.","commands":{"allow":["set_background_color"],"deny":[]}},"allow-set-badge-count":{"identifier":"allow-set-badge-count","description":"Enables the set_badge_count command without any pre-configured scope.","commands":{"allow":["set_badge_count"],"deny":[]}},"allow-set-badge-label":{"identifier":"allow-set-badge-label","description":"Enables the set_badge_label command without any pre-configured scope.","commands":{"allow":["set_badge_label"],"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-focusable":{"identifier":"allow-set-focusable","description":"Enables the set_focusable command without any pre-configured scope.","commands":{"allow":["set_focusable"],"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-overlay-icon":{"identifier":"allow-set-overlay-icon","description":"Enables the set_overlay_icon command without any pre-configured scope.","commands":{"allow":["set_overlay_icon"],"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-simple-fullscreen":{"identifier":"allow-set-simple-fullscreen","description":"Enables the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":["set_simple_fullscreen"],"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-activity-name":{"identifier":"deny-activity-name","description":"Denies the activity_name command without any pre-configured scope.","commands":{"allow":[],"deny":["activity_name"]}},"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-always-on-top":{"identifier":"deny-is-always-on-top","description":"Denies the is_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["is_always_on_top"]}},"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-scene-identifier":{"identifier":"deny-scene-identifier","description":"Denies the scene_identifier command without any pre-configured scope.","commands":{"allow":[],"deny":["scene_identifier"]}},"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-background-color":{"identifier":"deny-set-background-color","description":"Denies the set_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_background_color"]}},"deny-set-badge-count":{"identifier":"deny-set-badge-count","description":"Denies the set_badge_count command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_count"]}},"deny-set-badge-label":{"identifier":"deny-set-badge-label","description":"Denies the set_badge_label command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_label"]}},"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-focusable":{"identifier":"deny-set-focusable","description":"Denies the set_focusable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focusable"]}},"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-overlay-icon":{"identifier":"deny-set-overlay-icon","description":"Denies the set_overlay_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_overlay_icon"]}},"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-simple-fullscreen":{"identifier":"deny-set-simple-fullscreen","description":"Denies the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_simple_fullscreen"]}},"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},"opener":{"default_permission":{"identifier":"default","description":"This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer","permissions":["allow-open-url","allow-reveal-item-in-dir","allow-default-urls"]},"permissions":{"allow-default-urls":{"identifier":"allow-default-urls","description":"This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"url":"mailto:*"},{"url":"tel:*"},{"url":"http://*"},{"url":"https://*"}]}},"allow-open-path":{"identifier":"allow-open-path","description":"Enables the open_path command without any pre-configured scope.","commands":{"allow":["open_path"],"deny":[]}},"allow-open-url":{"identifier":"allow-open-url","description":"Enables the open_url command without any pre-configured scope.","commands":{"allow":["open_url"],"deny":[]}},"allow-reveal-item-in-dir":{"identifier":"allow-reveal-item-in-dir","description":"Enables the reveal_item_in_dir command without any pre-configured scope.","commands":{"allow":["reveal_item_in_dir"],"deny":[]}},"deny-open-path":{"identifier":"deny-open-path","description":"Denies the open_path command without any pre-configured scope.","commands":{"allow":[],"deny":["open_path"]}},"deny-open-url":{"identifier":"deny-open-url","description":"Denies the open_url command without any pre-configured scope.","commands":{"allow":[],"deny":["open_url"]}},"deny-reveal-item-in-dir":{"identifier":"deny-reveal-item-in-dir","description":"Denies the reveal_item_in_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["reveal_item_in_dir"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"properties":{"app":{"allOf":[{"$ref":"#/definitions/Application"}],"description":"An application to open this url with, for example: firefox."},"url":{"description":"A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"}},"required":["url"],"type":"object"},{"properties":{"app":{"allOf":[{"$ref":"#/definitions/Application"}],"description":"An application to open this path with, for example: xdg-open."},"path":{"description":"A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern 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"}},"required":["path"],"type":"object"}],"definitions":{"Application":{"anyOf":[{"description":"Open in default application.","type":"null"},{"description":"If true, allow open with any application.","type":"boolean"},{"description":"Allow specific application to open with.","type":"string"}],"description":"Opener scope application."}},"description":"Opener scope entry.","title":"OpenerScopeEntry"}}} \ No newline at end of file diff --git a/src-tauri/gen/schemas/capabilities.json b/src-tauri/gen/schemas/capabilities.json new file mode 100644 index 0000000..f7963fe --- /dev/null +++ b/src-tauri/gen/schemas/capabilities.json @@ -0,0 +1 @@ +{"default":{"identifier":"default","description":"The shell webview. App webviews are deliberately absent: remote content gets no IPC.","local":true,"windows":["main"],"permissions":["core:default","core:window:allow-start-dragging","opener:default"]}} \ No newline at end of file diff --git a/src-tauri/gen/schemas/desktop-schema.json b/src-tauri/gen/schemas/desktop-schema.json new file mode 100644 index 0000000..ff1f5f2 --- /dev/null +++ b/src-tauri/gen/schemas/desktop-schema.json @@ -0,0 +1,2525 @@ +{ + "$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' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its 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 programmatic 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 programmatic 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\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] 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\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\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 allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", + "type": "string", + "const": "opener:default", + "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" + }, + { + "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", + "type": "string", + "const": "opener:allow-default-urls", + "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." + }, + { + "description": "Enables the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-path", + "markdownDescription": "Enables the open_path command without any pre-configured scope." + }, + { + "description": "Enables the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-url", + "markdownDescription": "Enables the open_url command without any pre-configured scope." + }, + { + "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-reveal-item-in-dir", + "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "Denies the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-path", + "markdownDescription": "Denies the open_path command without any pre-configured scope." + }, + { + "description": "Denies the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-url", + "markdownDescription": "Denies the open_url command without any pre-configured scope." + }, + { + "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-reveal-item-in-dir", + "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "OpenerScopeEntry", + "description": "Opener scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "app": { + "description": "An application to open this url with, for example: firefox.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "url": { + "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "app": { + "description": "An application to open this path with, for example: xdg-open.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "path": { + "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern 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" + } + } + } + ] + } + }, + "deny": { + "items": { + "title": "OpenerScopeEntry", + "description": "Opener scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "app": { + "description": "An application to open this url with, for example: firefox.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "url": { + "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "app": { + "description": "An application to open this path with, for example: xdg-open.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "path": { + "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern 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" + } + } + } + ] + } + } + } + }, + "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 core plugins set.\n#### This default permission set includes:\n\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`", + "type": "string", + "const": "core:default", + "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\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`" + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`\n- `allow-supports-multiple-windows`", + "type": "string", + "const": "core:app:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`\n- `allow-supports-multiple-windows`" + }, + { + "description": "Enables the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-hide", + "markdownDescription": "Enables the app_hide command without any pre-configured scope." + }, + { + "description": "Enables the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-show", + "markdownDescription": "Enables the app_show command without any pre-configured scope." + }, + { + "description": "Enables the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-bundle-type", + "markdownDescription": "Enables the bundle_type command without any pre-configured scope." + }, + { + "description": "Enables the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-default-window-icon", + "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." + }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers", + "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier", + "markdownDescription": "Enables the identifier command without any pre-configured scope." + }, + { + "description": "Enables the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-name", + "markdownDescription": "Enables the name command without any pre-configured scope." + }, + { + "description": "Enables the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-register-listener", + "markdownDescription": "Enables the register_listener command without any pre-configured scope." + }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store", + "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." + }, + { + "description": "Enables the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-listener", + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." + }, + { + "description": "Enables the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-app-theme", + "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-dock-visibility", + "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Enables the supports_multiple_windows command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-supports-multiple-windows", + "markdownDescription": "Enables the supports_multiple_windows command without any pre-configured scope." + }, + { + "description": "Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-tauri-version", + "markdownDescription": "Enables the tauri_version command without any pre-configured scope." + }, + { + "description": "Enables the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-version", + "markdownDescription": "Enables the version command without any pre-configured scope." + }, + { + "description": "Denies the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-hide", + "markdownDescription": "Denies the app_hide command without any pre-configured scope." + }, + { + "description": "Denies the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-show", + "markdownDescription": "Denies the app_show command without any pre-configured scope." + }, + { + "description": "Denies the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-bundle-type", + "markdownDescription": "Denies the bundle_type command without any pre-configured scope." + }, + { + "description": "Denies the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-default-window-icon", + "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." + }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers", + "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier", + "markdownDescription": "Denies the identifier command without any pre-configured scope." + }, + { + "description": "Denies the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-name", + "markdownDescription": "Denies the name command without any pre-configured scope." + }, + { + "description": "Denies the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-register-listener", + "markdownDescription": "Denies the register_listener command without any pre-configured scope." + }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store", + "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." + }, + { + "description": "Denies the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-listener", + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." + }, + { + "description": "Denies the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-app-theme", + "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-dock-visibility", + "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Denies the supports_multiple_windows command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-supports-multiple-windows", + "markdownDescription": "Denies the supports_multiple_windows command without any pre-configured scope." + }, + { + "description": "Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-tauri-version", + "markdownDescription": "Denies the tauri_version command without any pre-configured scope." + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-version", + "markdownDescription": "Denies the version command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", + "type": "string", + "const": "core:event:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" + }, + { + "description": "Enables the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit", + "markdownDescription": "Enables the emit command without any pre-configured scope." + }, + { + "description": "Enables the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit-to", + "markdownDescription": "Enables the emit_to command without any pre-configured scope." + }, + { + "description": "Enables the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-listen", + "markdownDescription": "Enables the listen command without any pre-configured scope." + }, + { + "description": "Enables the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-unlisten", + "markdownDescription": "Enables the unlisten command without any pre-configured scope." + }, + { + "description": "Denies the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit", + "markdownDescription": "Denies the emit command without any pre-configured scope." + }, + { + "description": "Denies the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit-to", + "markdownDescription": "Denies the emit_to command without any pre-configured scope." + }, + { + "description": "Denies the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-listen", + "markdownDescription": "Denies the listen command without any pre-configured scope." + }, + { + "description": "Denies the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-unlisten", + "markdownDescription": "Denies the unlisten command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", + "type": "string", + "const": "core:image:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" + }, + { + "description": "Enables the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-bytes", + "markdownDescription": "Enables the from_bytes command without any pre-configured scope." + }, + { + "description": "Enables the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-path", + "markdownDescription": "Enables the from_path command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-rgba", + "markdownDescription": "Enables the rgba command without any pre-configured scope." + }, + { + "description": "Enables the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-size", + "markdownDescription": "Enables the size command without any pre-configured scope." + }, + { + "description": "Denies the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-bytes", + "markdownDescription": "Denies the from_bytes command without any pre-configured scope." + }, + { + "description": "Denies the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-path", + "markdownDescription": "Denies the from_path command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-rgba", + "markdownDescription": "Denies the rgba command without any pre-configured scope." + }, + { + "description": "Denies the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-size", + "markdownDescription": "Denies the size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", + "type": "string", + "const": "core:menu:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" + }, + { + "description": "Enables the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-append", + "markdownDescription": "Enables the append command without any pre-configured scope." + }, + { + "description": "Enables the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-create-default", + "markdownDescription": "Enables the create_default command without any pre-configured scope." + }, + { + "description": "Enables the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-get", + "markdownDescription": "Enables the get command without any pre-configured scope." + }, + { + "description": "Enables the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-insert", + "markdownDescription": "Enables the insert command without any pre-configured scope." + }, + { + "description": "Enables the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-checked", + "markdownDescription": "Enables the is_checked command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-items", + "markdownDescription": "Enables the items command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-popup", + "markdownDescription": "Enables the popup command without any pre-configured scope." + }, + { + "description": "Enables the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-prepend", + "markdownDescription": "Enables the prepend command without any pre-configured scope." + }, + { + "description": "Enables the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove", + "markdownDescription": "Enables the remove command without any pre-configured scope." + }, + { + "description": "Enables the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove-at", + "markdownDescription": "Enables the remove_at command without any pre-configured scope." + }, + { + "description": "Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-accelerator", + "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." + }, + { + "description": "Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-app-menu", + "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-window-menu", + "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-checked", + "markdownDescription": "Enables the set_checked command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-text", + "markdownDescription": "Enables the set_text command without any pre-configured scope." + }, + { + "description": "Enables the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-text", + "markdownDescription": "Enables the text command without any pre-configured scope." + }, + { + "description": "Denies the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-append", + "markdownDescription": "Denies the append command without any pre-configured scope." + }, + { + "description": "Denies the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-create-default", + "markdownDescription": "Denies the create_default command without any pre-configured scope." + }, + { + "description": "Denies the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-get", + "markdownDescription": "Denies the get command without any pre-configured scope." + }, + { + "description": "Denies the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-insert", + "markdownDescription": "Denies the insert command without any pre-configured scope." + }, + { + "description": "Denies the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-checked", + "markdownDescription": "Denies the is_checked command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-items", + "markdownDescription": "Denies the items command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-popup", + "markdownDescription": "Denies the popup command without any pre-configured scope." + }, + { + "description": "Denies the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-prepend", + "markdownDescription": "Denies the prepend command without any pre-configured scope." + }, + { + "description": "Denies the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove", + "markdownDescription": "Denies the remove command without any pre-configured scope." + }, + { + "description": "Denies the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove-at", + "markdownDescription": "Denies the remove_at command without any pre-configured scope." + }, + { + "description": "Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-accelerator", + "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." + }, + { + "description": "Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-app-menu", + "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-window-menu", + "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-checked", + "markdownDescription": "Denies the set_checked command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-text", + "markdownDescription": "Denies the set_text command without any pre-configured scope." + }, + { + "description": "Denies the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-text", + "markdownDescription": "Denies the text command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", + "type": "string", + "const": "core:path:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" + }, + { + "description": "Enables the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-basename", + "markdownDescription": "Enables the basename command without any pre-configured scope." + }, + { + "description": "Enables the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-dirname", + "markdownDescription": "Enables the dirname command without any pre-configured scope." + }, + { + "description": "Enables the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-extname", + "markdownDescription": "Enables the extname command without any pre-configured scope." + }, + { + "description": "Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-is-absolute", + "markdownDescription": "Enables the is_absolute command without any pre-configured scope." + }, + { + "description": "Enables the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-join", + "markdownDescription": "Enables the join command without any pre-configured scope." + }, + { + "description": "Enables the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-normalize", + "markdownDescription": "Enables the normalize command without any pre-configured scope." + }, + { + "description": "Enables the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve", + "markdownDescription": "Enables the resolve command without any pre-configured scope." + }, + { + "description": "Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve-directory", + "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." + }, + { + "description": "Denies the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-basename", + "markdownDescription": "Denies the basename command without any pre-configured scope." + }, + { + "description": "Denies the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-dirname", + "markdownDescription": "Denies the dirname command without any pre-configured scope." + }, + { + "description": "Denies the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-extname", + "markdownDescription": "Denies the extname command without any pre-configured scope." + }, + { + "description": "Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-is-absolute", + "markdownDescription": "Denies the is_absolute command without any pre-configured scope." + }, + { + "description": "Denies the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-join", + "markdownDescription": "Denies the join command without any pre-configured scope." + }, + { + "description": "Denies the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-normalize", + "markdownDescription": "Denies the normalize command without any pre-configured scope." + }, + { + "description": "Denies the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve", + "markdownDescription": "Denies the resolve command without any pre-configured scope." + }, + { + "description": "Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve-directory", + "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", + "type": "string", + "const": "core:resources:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-icon-with-as-template`\n- `allow-set-show-menu-on-left-click`", + "type": "string", + "const": "core:tray:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-icon-with-as-template`\n- `allow-set-show-menu-on-left-click`" + }, + { + "description": "Enables the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-get-by-id", + "markdownDescription": "Enables the get_by_id command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-remove-by-id", + "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-as-template", + "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_with_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-with-as-template", + "markdownDescription": "Enables the set_icon_with_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-menu", + "markdownDescription": "Enables the set_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-temp-dir-path", + "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-tooltip", + "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." + }, + { + "description": "Enables the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-visible", + "markdownDescription": "Enables the set_visible command without any pre-configured scope." + }, + { + "description": "Denies the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-get-by-id", + "markdownDescription": "Denies the get_by_id command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-remove-by-id", + "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-as-template", + "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_with_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-with-as-template", + "markdownDescription": "Denies the set_icon_with_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-menu", + "markdownDescription": "Denies the set_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-temp-dir-path", + "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-tooltip", + "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." + }, + { + "description": "Denies the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-visible", + "markdownDescription": "Denies the set_visible command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", + "type": "string", + "const": "core:webview:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" + }, + { + "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-clear-all-browsing-data", + "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Enables the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview", + "markdownDescription": "Enables the create_webview command without any pre-configured scope." + }, + { + "description": "Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview-window", + "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." + }, + { + "description": "Enables the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-get-all-webviews", + "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-internal-toggle-devtools", + "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Enables the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-print", + "markdownDescription": "Enables the print command without any pre-configured scope." + }, + { + "description": "Enables the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-reparent", + "markdownDescription": "Enables the reparent command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-auto-resize", + "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-background-color", + "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-focus", + "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-position", + "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-size", + "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-zoom", + "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Enables the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-close", + "markdownDescription": "Enables the webview_close command without any pre-configured scope." + }, + { + "description": "Enables the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-hide", + "markdownDescription": "Enables the webview_hide command without any pre-configured scope." + }, + { + "description": "Enables the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-position", + "markdownDescription": "Enables the webview_position command without any pre-configured scope." + }, + { + "description": "Enables the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-show", + "markdownDescription": "Enables the webview_show command without any pre-configured scope." + }, + { + "description": "Enables the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-size", + "markdownDescription": "Enables the webview_size command without any pre-configured scope." + }, + { + "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-clear-all-browsing-data", + "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Denies the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview", + "markdownDescription": "Denies the create_webview command without any pre-configured scope." + }, + { + "description": "Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview-window", + "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." + }, + { + "description": "Denies the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-get-all-webviews", + "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-internal-toggle-devtools", + "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Denies the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-print", + "markdownDescription": "Denies the print command without any pre-configured scope." + }, + { + "description": "Denies the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-reparent", + "markdownDescription": "Denies the reparent command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-auto-resize", + "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-background-color", + "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-focus", + "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-position", + "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-size", + "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-zoom", + "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Denies the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-close", + "markdownDescription": "Denies the webview_close command without any pre-configured scope." + }, + { + "description": "Denies the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-hide", + "markdownDescription": "Denies the webview_hide command without any pre-configured scope." + }, + { + "description": "Denies the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-position", + "markdownDescription": "Denies the webview_position command without any pre-configured scope." + }, + { + "description": "Denies the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-show", + "markdownDescription": "Denies the webview_show command without any pre-configured scope." + }, + { + "description": "Denies the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-size", + "markdownDescription": "Denies the webview_size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-activity-name`\n- `allow-scene-identifier`\n- `allow-internal-toggle-maximize`", + "type": "string", + "const": "core:window:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-activity-name`\n- `allow-scene-identifier`\n- `allow-internal-toggle-maximize`" + }, + { + "description": "Enables the activity_name command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-activity-name", + "markdownDescription": "Enables the activity_name command without any pre-configured scope." + }, + { + "description": "Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-available-monitors", + "markdownDescription": "Enables the available_monitors command without any pre-configured scope." + }, + { + "description": "Enables the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-center", + "markdownDescription": "Enables the center command without any pre-configured scope." + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Enables the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-create", + "markdownDescription": "Enables the create command without any pre-configured scope." + }, + { + "description": "Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-current-monitor", + "markdownDescription": "Enables the current_monitor command without any pre-configured scope." + }, + { + "description": "Enables the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-cursor-position", + "markdownDescription": "Enables the cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-destroy", + "markdownDescription": "Enables the destroy command without any pre-configured scope." + }, + { + "description": "Enables the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-get-all-windows", + "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." + }, + { + "description": "Enables the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-hide", + "markdownDescription": "Enables the hide command without any pre-configured scope." + }, + { + "description": "Enables the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-position", + "markdownDescription": "Enables the inner_position command without any pre-configured scope." + }, + { + "description": "Enables the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-size", + "markdownDescription": "Enables the inner_size command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-internal-toggle-maximize", + "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top", + "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-closable", + "markdownDescription": "Enables the is_closable command without any pre-configured scope." + }, + { + "description": "Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-decorated", + "markdownDescription": "Enables the is_decorated command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-focused", + "markdownDescription": "Enables the is_focused command without any pre-configured scope." + }, + { + "description": "Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-fullscreen", + "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximizable", + "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximized", + "markdownDescription": "Enables the is_maximized command without any pre-configured scope." + }, + { + "description": "Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimizable", + "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimized", + "markdownDescription": "Enables the is_minimized command without any pre-configured scope." + }, + { + "description": "Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-resizable", + "markdownDescription": "Enables the is_resizable command without any pre-configured scope." + }, + { + "description": "Enables the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-visible", + "markdownDescription": "Enables the is_visible command without any pre-configured scope." + }, + { + "description": "Enables the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-maximize", + "markdownDescription": "Enables the maximize command without any pre-configured scope." + }, + { + "description": "Enables the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-minimize", + "markdownDescription": "Enables the minimize command without any pre-configured scope." + }, + { + "description": "Enables the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-monitor-from-point", + "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Enables the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-position", + "markdownDescription": "Enables the outer_position command without any pre-configured scope." + }, + { + "description": "Enables the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-size", + "markdownDescription": "Enables the outer_size command without any pre-configured scope." + }, + { + "description": "Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-primary-monitor", + "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." + }, + { + "description": "Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-request-user-attention", + "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." + }, + { + "description": "Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scale-factor", + "markdownDescription": "Enables the scale_factor command without any pre-configured scope." + }, + { + "description": "Enables the scene_identifier command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scene-identifier", + "markdownDescription": "Enables the scene_identifier command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-bottom", + "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-top", + "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-background-color", + "markdownDescription": "Enables the set_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-count", + "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-label", + "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." + }, + { + "description": "Enables the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-closable", + "markdownDescription": "Enables the set_closable command without any pre-configured scope." + }, + { + "description": "Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-content-protected", + "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-grab", + "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-icon", + "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-position", + "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-visible", + "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-decorations", + "markdownDescription": "Enables the set_decorations command without any pre-configured scope." + }, + { + "description": "Enables the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-effects", + "markdownDescription": "Enables the set_effects command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focus", + "markdownDescription": "Enables the set_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focusable", + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." + }, + { + "description": "Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-fullscreen", + "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-ignore-cursor-events", + "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-max-size", + "markdownDescription": "Enables the set_max_size command without any pre-configured scope." + }, + { + "description": "Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-maximizable", + "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-min-size", + "markdownDescription": "Enables the set_min_size command without any pre-configured scope." + }, + { + "description": "Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-minimizable", + "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-overlay-icon", + "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-position", + "markdownDescription": "Enables the set_position command without any pre-configured scope." + }, + { + "description": "Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-progress-bar", + "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-resizable", + "markdownDescription": "Enables the set_resizable command without any pre-configured scope." + }, + { + "description": "Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-shadow", + "markdownDescription": "Enables the set_shadow command without any pre-configured scope." + }, + { + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-simple-fullscreen", + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size", + "markdownDescription": "Enables the set_size command without any pre-configured scope." + }, + { + "description": "Enables the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size-constraints", + "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-skip-taskbar", + "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Enables the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-theme", + "markdownDescription": "Enables the set_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title-bar-style", + "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Enables the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-show", + "markdownDescription": "Enables the show command without any pre-configured scope." + }, + { + "description": "Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-dragging", + "markdownDescription": "Enables the start_dragging command without any pre-configured scope." + }, + { + "description": "Enables the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-resize-dragging", + "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Enables the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-theme", + "markdownDescription": "Enables the theme command without any pre-configured scope." + }, + { + "description": "Enables the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-title", + "markdownDescription": "Enables the title command without any pre-configured scope." + }, + { + "description": "Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-toggle-maximize", + "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unmaximize", + "markdownDescription": "Enables the unmaximize command without any pre-configured scope." + }, + { + "description": "Enables the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unminimize", + "markdownDescription": "Enables the unminimize command without any pre-configured scope." + }, + { + "description": "Denies the activity_name command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-activity-name", + "markdownDescription": "Denies the activity_name command without any pre-configured scope." + }, + { + "description": "Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-available-monitors", + "markdownDescription": "Denies the available_monitors command without any pre-configured scope." + }, + { + "description": "Denies the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-center", + "markdownDescription": "Denies the center command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Denies the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-create", + "markdownDescription": "Denies the create command without any pre-configured scope." + }, + { + "description": "Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-current-monitor", + "markdownDescription": "Denies the current_monitor command without any pre-configured scope." + }, + { + "description": "Denies the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-cursor-position", + "markdownDescription": "Denies the cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-destroy", + "markdownDescription": "Denies the destroy command without any pre-configured scope." + }, + { + "description": "Denies the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-get-all-windows", + "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." + }, + { + "description": "Denies the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-hide", + "markdownDescription": "Denies the hide command without any pre-configured scope." + }, + { + "description": "Denies the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-position", + "markdownDescription": "Denies the inner_position command without any pre-configured scope." + }, + { + "description": "Denies the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-size", + "markdownDescription": "Denies the inner_size command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-internal-toggle-maximize", + "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top", + "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-closable", + "markdownDescription": "Denies the is_closable command without any pre-configured scope." + }, + { + "description": "Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-decorated", + "markdownDescription": "Denies the is_decorated command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-focused", + "markdownDescription": "Denies the is_focused command without any pre-configured scope." + }, + { + "description": "Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-fullscreen", + "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximizable", + "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximized", + "markdownDescription": "Denies the is_maximized command without any pre-configured scope." + }, + { + "description": "Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimizable", + "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimized", + "markdownDescription": "Denies the is_minimized command without any pre-configured scope." + }, + { + "description": "Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-resizable", + "markdownDescription": "Denies the is_resizable command without any pre-configured scope." + }, + { + "description": "Denies the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-visible", + "markdownDescription": "Denies the is_visible command without any pre-configured scope." + }, + { + "description": "Denies the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-maximize", + "markdownDescription": "Denies the maximize command without any pre-configured scope." + }, + { + "description": "Denies the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-minimize", + "markdownDescription": "Denies the minimize command without any pre-configured scope." + }, + { + "description": "Denies the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-monitor-from-point", + "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Denies the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-position", + "markdownDescription": "Denies the outer_position command without any pre-configured scope." + }, + { + "description": "Denies the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-size", + "markdownDescription": "Denies the outer_size command without any pre-configured scope." + }, + { + "description": "Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-primary-monitor", + "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." + }, + { + "description": "Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-request-user-attention", + "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." + }, + { + "description": "Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scale-factor", + "markdownDescription": "Denies the scale_factor command without any pre-configured scope." + }, + { + "description": "Denies the scene_identifier command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scene-identifier", + "markdownDescription": "Denies the scene_identifier command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-bottom", + "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-top", + "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-background-color", + "markdownDescription": "Denies the set_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-count", + "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-label", + "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." + }, + { + "description": "Denies the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-closable", + "markdownDescription": "Denies the set_closable command without any pre-configured scope." + }, + { + "description": "Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-content-protected", + "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-grab", + "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-icon", + "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-position", + "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-visible", + "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-decorations", + "markdownDescription": "Denies the set_decorations command without any pre-configured scope." + }, + { + "description": "Denies the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-effects", + "markdownDescription": "Denies the set_effects command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focus", + "markdownDescription": "Denies the set_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focusable", + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." + }, + { + "description": "Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-fullscreen", + "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-ignore-cursor-events", + "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-max-size", + "markdownDescription": "Denies the set_max_size command without any pre-configured scope." + }, + { + "description": "Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-maximizable", + "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-min-size", + "markdownDescription": "Denies the set_min_size command without any pre-configured scope." + }, + { + "description": "Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-minimizable", + "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-overlay-icon", + "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-position", + "markdownDescription": "Denies the set_position command without any pre-configured scope." + }, + { + "description": "Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-progress-bar", + "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-resizable", + "markdownDescription": "Denies the set_resizable command without any pre-configured scope." + }, + { + "description": "Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-shadow", + "markdownDescription": "Denies the set_shadow command without any pre-configured scope." + }, + { + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-simple-fullscreen", + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size", + "markdownDescription": "Denies the set_size command without any pre-configured scope." + }, + { + "description": "Denies the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size-constraints", + "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-skip-taskbar", + "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Denies the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-theme", + "markdownDescription": "Denies the set_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title-bar-style", + "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Denies the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-show", + "markdownDescription": "Denies the show command without any pre-configured scope." + }, + { + "description": "Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-dragging", + "markdownDescription": "Denies the start_dragging command without any pre-configured scope." + }, + { + "description": "Denies the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-resize-dragging", + "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Denies the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-theme", + "markdownDescription": "Denies the theme command without any pre-configured scope." + }, + { + "description": "Denies the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-title", + "markdownDescription": "Denies the title command without any pre-configured scope." + }, + { + "description": "Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-toggle-maximize", + "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unmaximize", + "markdownDescription": "Denies the unmaximize command without any pre-configured scope." + }, + { + "description": "Denies the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unminimize", + "markdownDescription": "Denies the unminimize command without any pre-configured scope." + }, + { + "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", + "type": "string", + "const": "opener:default", + "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" + }, + { + "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", + "type": "string", + "const": "opener:allow-default-urls", + "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." + }, + { + "description": "Enables the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-path", + "markdownDescription": "Enables the open_path command without any pre-configured scope." + }, + { + "description": "Enables the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-url", + "markdownDescription": "Enables the open_url command without any pre-configured scope." + }, + { + "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-reveal-item-in-dir", + "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "Denies the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-path", + "markdownDescription": "Denies the open_path command without any pre-configured scope." + }, + { + "description": "Denies the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-url", + "markdownDescription": "Denies the open_url command without any pre-configured scope." + }, + { + "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-reveal-item-in-dir", + "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." + } + ] + }, + "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" + ] + } + ] + }, + "Application": { + "description": "Opener scope application.", + "anyOf": [ + { + "description": "Open in default application.", + "type": "null" + }, + { + "description": "If true, allow open with any application.", + "type": "boolean" + }, + { + "description": "Allow specific application to open with.", + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/src-tauri/gen/schemas/macOS-schema.json b/src-tauri/gen/schemas/macOS-schema.json new file mode 100644 index 0000000..ff1f5f2 --- /dev/null +++ b/src-tauri/gen/schemas/macOS-schema.json @@ -0,0 +1,2525 @@ +{ + "$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' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its 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 programmatic 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 programmatic 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\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] 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\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\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 allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", + "type": "string", + "const": "opener:default", + "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" + }, + { + "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", + "type": "string", + "const": "opener:allow-default-urls", + "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." + }, + { + "description": "Enables the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-path", + "markdownDescription": "Enables the open_path command without any pre-configured scope." + }, + { + "description": "Enables the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-url", + "markdownDescription": "Enables the open_url command without any pre-configured scope." + }, + { + "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-reveal-item-in-dir", + "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "Denies the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-path", + "markdownDescription": "Denies the open_path command without any pre-configured scope." + }, + { + "description": "Denies the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-url", + "markdownDescription": "Denies the open_url command without any pre-configured scope." + }, + { + "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-reveal-item-in-dir", + "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." + } + ] + } + } + }, + "then": { + "properties": { + "allow": { + "items": { + "title": "OpenerScopeEntry", + "description": "Opener scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "app": { + "description": "An application to open this url with, for example: firefox.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "url": { + "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "app": { + "description": "An application to open this path with, for example: xdg-open.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "path": { + "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern 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" + } + } + } + ] + } + }, + "deny": { + "items": { + "title": "OpenerScopeEntry", + "description": "Opener scope entry.", + "anyOf": [ + { + "type": "object", + "required": [ + "url" + ], + "properties": { + "app": { + "description": "An application to open this url with, for example: firefox.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "url": { + "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "path" + ], + "properties": { + "app": { + "description": "An application to open this path with, for example: xdg-open.", + "allOf": [ + { + "$ref": "#/definitions/Application" + } + ] + }, + "path": { + "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern 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" + } + } + } + ] + } + } + } + }, + "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 core plugins set.\n#### This default permission set includes:\n\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`", + "type": "string", + "const": "core:default", + "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\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`" + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`\n- `allow-supports-multiple-windows`", + "type": "string", + "const": "core:app:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`\n- `allow-supports-multiple-windows`" + }, + { + "description": "Enables the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-hide", + "markdownDescription": "Enables the app_hide command without any pre-configured scope." + }, + { + "description": "Enables the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-app-show", + "markdownDescription": "Enables the app_show command without any pre-configured scope." + }, + { + "description": "Enables the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-bundle-type", + "markdownDescription": "Enables the bundle_type command without any pre-configured scope." + }, + { + "description": "Enables the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-default-window-icon", + "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." + }, + { + "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-fetch-data-store-identifiers", + "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Enables the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-identifier", + "markdownDescription": "Enables the identifier command without any pre-configured scope." + }, + { + "description": "Enables the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-name", + "markdownDescription": "Enables the name command without any pre-configured scope." + }, + { + "description": "Enables the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-register-listener", + "markdownDescription": "Enables the register_listener command without any pre-configured scope." + }, + { + "description": "Enables the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-data-store", + "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." + }, + { + "description": "Enables the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-remove-listener", + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." + }, + { + "description": "Enables the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-app-theme", + "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-set-dock-visibility", + "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Enables the supports_multiple_windows command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-supports-multiple-windows", + "markdownDescription": "Enables the supports_multiple_windows command without any pre-configured scope." + }, + { + "description": "Enables the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-tauri-version", + "markdownDescription": "Enables the tauri_version command without any pre-configured scope." + }, + { + "description": "Enables the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:allow-version", + "markdownDescription": "Enables the version command without any pre-configured scope." + }, + { + "description": "Denies the app_hide command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-hide", + "markdownDescription": "Denies the app_hide command without any pre-configured scope." + }, + { + "description": "Denies the app_show command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-app-show", + "markdownDescription": "Denies the app_show command without any pre-configured scope." + }, + { + "description": "Denies the bundle_type command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-bundle-type", + "markdownDescription": "Denies the bundle_type command without any pre-configured scope." + }, + { + "description": "Denies the default_window_icon command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-default-window-icon", + "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." + }, + { + "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-fetch-data-store-identifiers", + "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." + }, + { + "description": "Denies the identifier command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-identifier", + "markdownDescription": "Denies the identifier command without any pre-configured scope." + }, + { + "description": "Denies the name command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-name", + "markdownDescription": "Denies the name command without any pre-configured scope." + }, + { + "description": "Denies the register_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-register-listener", + "markdownDescription": "Denies the register_listener command without any pre-configured scope." + }, + { + "description": "Denies the remove_data_store command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-data-store", + "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." + }, + { + "description": "Denies the remove_listener command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-remove-listener", + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." + }, + { + "description": "Denies the set_app_theme command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-app-theme", + "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_dock_visibility command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-set-dock-visibility", + "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." + }, + { + "description": "Denies the supports_multiple_windows command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-supports-multiple-windows", + "markdownDescription": "Denies the supports_multiple_windows command without any pre-configured scope." + }, + { + "description": "Denies the tauri_version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-tauri-version", + "markdownDescription": "Denies the tauri_version command without any pre-configured scope." + }, + { + "description": "Denies the version command without any pre-configured scope.", + "type": "string", + "const": "core:app:deny-version", + "markdownDescription": "Denies the version command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", + "type": "string", + "const": "core:event:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" + }, + { + "description": "Enables the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit", + "markdownDescription": "Enables the emit command without any pre-configured scope." + }, + { + "description": "Enables the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-emit-to", + "markdownDescription": "Enables the emit_to command without any pre-configured scope." + }, + { + "description": "Enables the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-listen", + "markdownDescription": "Enables the listen command without any pre-configured scope." + }, + { + "description": "Enables the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:allow-unlisten", + "markdownDescription": "Enables the unlisten command without any pre-configured scope." + }, + { + "description": "Denies the emit command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit", + "markdownDescription": "Denies the emit command without any pre-configured scope." + }, + { + "description": "Denies the emit_to command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-emit-to", + "markdownDescription": "Denies the emit_to command without any pre-configured scope." + }, + { + "description": "Denies the listen command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-listen", + "markdownDescription": "Denies the listen command without any pre-configured scope." + }, + { + "description": "Denies the unlisten command without any pre-configured scope.", + "type": "string", + "const": "core:event:deny-unlisten", + "markdownDescription": "Denies the unlisten command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", + "type": "string", + "const": "core:image:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" + }, + { + "description": "Enables the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-bytes", + "markdownDescription": "Enables the from_bytes command without any pre-configured scope." + }, + { + "description": "Enables the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-from-path", + "markdownDescription": "Enables the from_path command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-rgba", + "markdownDescription": "Enables the rgba command without any pre-configured scope." + }, + { + "description": "Enables the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:allow-size", + "markdownDescription": "Enables the size command without any pre-configured scope." + }, + { + "description": "Denies the from_bytes command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-bytes", + "markdownDescription": "Denies the from_bytes command without any pre-configured scope." + }, + { + "description": "Denies the from_path command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-from-path", + "markdownDescription": "Denies the from_path command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the rgba command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-rgba", + "markdownDescription": "Denies the rgba command without any pre-configured scope." + }, + { + "description": "Denies the size command without any pre-configured scope.", + "type": "string", + "const": "core:image:deny-size", + "markdownDescription": "Denies the size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", + "type": "string", + "const": "core:menu:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" + }, + { + "description": "Enables the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-append", + "markdownDescription": "Enables the append command without any pre-configured scope." + }, + { + "description": "Enables the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-create-default", + "markdownDescription": "Enables the create_default command without any pre-configured scope." + }, + { + "description": "Enables the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-get", + "markdownDescription": "Enables the get command without any pre-configured scope." + }, + { + "description": "Enables the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-insert", + "markdownDescription": "Enables the insert command without any pre-configured scope." + }, + { + "description": "Enables the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-checked", + "markdownDescription": "Enables the is_checked command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-items", + "markdownDescription": "Enables the items command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-popup", + "markdownDescription": "Enables the popup command without any pre-configured scope." + }, + { + "description": "Enables the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-prepend", + "markdownDescription": "Enables the prepend command without any pre-configured scope." + }, + { + "description": "Enables the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove", + "markdownDescription": "Enables the remove command without any pre-configured scope." + }, + { + "description": "Enables the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-remove-at", + "markdownDescription": "Enables the remove_at command without any pre-configured scope." + }, + { + "description": "Enables the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-accelerator", + "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." + }, + { + "description": "Enables the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-app-menu", + "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-as-window-menu", + "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Enables the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-checked", + "markdownDescription": "Enables the set_checked command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-set-text", + "markdownDescription": "Enables the set_text command without any pre-configured scope." + }, + { + "description": "Enables the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:allow-text", + "markdownDescription": "Enables the text command without any pre-configured scope." + }, + { + "description": "Denies the append command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-append", + "markdownDescription": "Denies the append command without any pre-configured scope." + }, + { + "description": "Denies the create_default command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-create-default", + "markdownDescription": "Denies the create_default command without any pre-configured scope." + }, + { + "description": "Denies the get command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-get", + "markdownDescription": "Denies the get command without any pre-configured scope." + }, + { + "description": "Denies the insert command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-insert", + "markdownDescription": "Denies the insert command without any pre-configured scope." + }, + { + "description": "Denies the is_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-checked", + "markdownDescription": "Denies the is_checked command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the items command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-items", + "markdownDescription": "Denies the items command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the popup command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-popup", + "markdownDescription": "Denies the popup command without any pre-configured scope." + }, + { + "description": "Denies the prepend command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-prepend", + "markdownDescription": "Denies the prepend command without any pre-configured scope." + }, + { + "description": "Denies the remove command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove", + "markdownDescription": "Denies the remove command without any pre-configured scope." + }, + { + "description": "Denies the remove_at command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-remove-at", + "markdownDescription": "Denies the remove_at command without any pre-configured scope." + }, + { + "description": "Denies the set_accelerator command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-accelerator", + "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." + }, + { + "description": "Denies the set_as_app_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-app-menu", + "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_as_window_menu command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-as-window-menu", + "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." + }, + { + "description": "Denies the set_checked command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-checked", + "markdownDescription": "Denies the set_checked command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-set-text", + "markdownDescription": "Denies the set_text command without any pre-configured scope." + }, + { + "description": "Denies the text command without any pre-configured scope.", + "type": "string", + "const": "core:menu:deny-text", + "markdownDescription": "Denies the text command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", + "type": "string", + "const": "core:path:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" + }, + { + "description": "Enables the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-basename", + "markdownDescription": "Enables the basename command without any pre-configured scope." + }, + { + "description": "Enables the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-dirname", + "markdownDescription": "Enables the dirname command without any pre-configured scope." + }, + { + "description": "Enables the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-extname", + "markdownDescription": "Enables the extname command without any pre-configured scope." + }, + { + "description": "Enables the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-is-absolute", + "markdownDescription": "Enables the is_absolute command without any pre-configured scope." + }, + { + "description": "Enables the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-join", + "markdownDescription": "Enables the join command without any pre-configured scope." + }, + { + "description": "Enables the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-normalize", + "markdownDescription": "Enables the normalize command without any pre-configured scope." + }, + { + "description": "Enables the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve", + "markdownDescription": "Enables the resolve command without any pre-configured scope." + }, + { + "description": "Enables the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:allow-resolve-directory", + "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." + }, + { + "description": "Denies the basename command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-basename", + "markdownDescription": "Denies the basename command without any pre-configured scope." + }, + { + "description": "Denies the dirname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-dirname", + "markdownDescription": "Denies the dirname command without any pre-configured scope." + }, + { + "description": "Denies the extname command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-extname", + "markdownDescription": "Denies the extname command without any pre-configured scope." + }, + { + "description": "Denies the is_absolute command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-is-absolute", + "markdownDescription": "Denies the is_absolute command without any pre-configured scope." + }, + { + "description": "Denies the join command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-join", + "markdownDescription": "Denies the join command without any pre-configured scope." + }, + { + "description": "Denies the normalize command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-normalize", + "markdownDescription": "Denies the normalize command without any pre-configured scope." + }, + { + "description": "Denies the resolve command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve", + "markdownDescription": "Denies the resolve command without any pre-configured scope." + }, + { + "description": "Denies the resolve_directory command without any pre-configured scope.", + "type": "string", + "const": "core:path:deny-resolve-directory", + "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", + "type": "string", + "const": "core:resources:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:resources:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-icon-with-as-template`\n- `allow-set-show-menu-on-left-click`", + "type": "string", + "const": "core:tray:default", + "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-icon-with-as-template`\n- `allow-set-show-menu-on-left-click`" + }, + { + "description": "Enables the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-get-by-id", + "markdownDescription": "Enables the get_by_id command without any pre-configured scope." + }, + { + "description": "Enables the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-new", + "markdownDescription": "Enables the new command without any pre-configured scope." + }, + { + "description": "Enables the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-remove-by-id", + "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-as-template", + "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_icon_with_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-icon-with-as-template", + "markdownDescription": "Enables the set_icon_with_as_template command without any pre-configured scope." + }, + { + "description": "Enables the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-menu", + "markdownDescription": "Enables the set_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Enables the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-temp-dir-path", + "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-tooltip", + "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." + }, + { + "description": "Enables the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:allow-set-visible", + "markdownDescription": "Enables the set_visible command without any pre-configured scope." + }, + { + "description": "Denies the get_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-get-by-id", + "markdownDescription": "Denies the get_by_id command without any pre-configured scope." + }, + { + "description": "Denies the new command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-new", + "markdownDescription": "Denies the new command without any pre-configured scope." + }, + { + "description": "Denies the remove_by_id command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-remove-by-id", + "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-as-template", + "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_icon_with_as_template command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-icon-with-as-template", + "markdownDescription": "Denies the set_icon_with_as_template command without any pre-configured scope." + }, + { + "description": "Denies the set_menu command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-menu", + "markdownDescription": "Denies the set_menu command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." + }, + { + "description": "Denies the set_temp_dir_path command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-temp-dir-path", + "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_tooltip command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-tooltip", + "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." + }, + { + "description": "Denies the set_visible command without any pre-configured scope.", + "type": "string", + "const": "core:tray:deny-set-visible", + "markdownDescription": "Denies the set_visible command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", + "type": "string", + "const": "core:webview:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" + }, + { + "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-clear-all-browsing-data", + "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Enables the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview", + "markdownDescription": "Enables the create_webview command without any pre-configured scope." + }, + { + "description": "Enables the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-create-webview-window", + "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." + }, + { + "description": "Enables the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-get-all-webviews", + "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-internal-toggle-devtools", + "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Enables the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-print", + "markdownDescription": "Enables the print command without any pre-configured scope." + }, + { + "description": "Enables the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-reparent", + "markdownDescription": "Enables the reparent command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-auto-resize", + "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-background-color", + "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-focus", + "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-position", + "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-size", + "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." + }, + { + "description": "Enables the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-set-webview-zoom", + "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Enables the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-close", + "markdownDescription": "Enables the webview_close command without any pre-configured scope." + }, + { + "description": "Enables the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-hide", + "markdownDescription": "Enables the webview_hide command without any pre-configured scope." + }, + { + "description": "Enables the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-position", + "markdownDescription": "Enables the webview_position command without any pre-configured scope." + }, + { + "description": "Enables the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-show", + "markdownDescription": "Enables the webview_show command without any pre-configured scope." + }, + { + "description": "Enables the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:allow-webview-size", + "markdownDescription": "Enables the webview_size command without any pre-configured scope." + }, + { + "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-clear-all-browsing-data", + "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." + }, + { + "description": "Denies the create_webview command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview", + "markdownDescription": "Denies the create_webview command without any pre-configured scope." + }, + { + "description": "Denies the create_webview_window command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-create-webview-window", + "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." + }, + { + "description": "Denies the get_all_webviews command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-get-all-webviews", + "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-internal-toggle-devtools", + "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." + }, + { + "description": "Denies the print command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-print", + "markdownDescription": "Denies the print command without any pre-configured scope." + }, + { + "description": "Denies the reparent command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-reparent", + "markdownDescription": "Denies the reparent command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-auto-resize", + "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-background-color", + "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_focus command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-focus", + "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-position", + "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-size", + "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." + }, + { + "description": "Denies the set_webview_zoom command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-set-webview-zoom", + "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." + }, + { + "description": "Denies the webview_close command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-close", + "markdownDescription": "Denies the webview_close command without any pre-configured scope." + }, + { + "description": "Denies the webview_hide command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-hide", + "markdownDescription": "Denies the webview_hide command without any pre-configured scope." + }, + { + "description": "Denies the webview_position command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-position", + "markdownDescription": "Denies the webview_position command without any pre-configured scope." + }, + { + "description": "Denies the webview_show command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-show", + "markdownDescription": "Denies the webview_show command without any pre-configured scope." + }, + { + "description": "Denies the webview_size command without any pre-configured scope.", + "type": "string", + "const": "core:webview:deny-webview-size", + "markdownDescription": "Denies the webview_size command without any pre-configured scope." + }, + { + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-activity-name`\n- `allow-scene-identifier`\n- `allow-internal-toggle-maximize`", + "type": "string", + "const": "core:window:default", + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-activity-name`\n- `allow-scene-identifier`\n- `allow-internal-toggle-maximize`" + }, + { + "description": "Enables the activity_name command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-activity-name", + "markdownDescription": "Enables the activity_name command without any pre-configured scope." + }, + { + "description": "Enables the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-available-monitors", + "markdownDescription": "Enables the available_monitors command without any pre-configured scope." + }, + { + "description": "Enables the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-center", + "markdownDescription": "Enables the center command without any pre-configured scope." + }, + { + "description": "Enables the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-close", + "markdownDescription": "Enables the close command without any pre-configured scope." + }, + { + "description": "Enables the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-create", + "markdownDescription": "Enables the create command without any pre-configured scope." + }, + { + "description": "Enables the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-current-monitor", + "markdownDescription": "Enables the current_monitor command without any pre-configured scope." + }, + { + "description": "Enables the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-cursor-position", + "markdownDescription": "Enables the cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-destroy", + "markdownDescription": "Enables the destroy command without any pre-configured scope." + }, + { + "description": "Enables the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-get-all-windows", + "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." + }, + { + "description": "Enables the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-hide", + "markdownDescription": "Enables the hide command without any pre-configured scope." + }, + { + "description": "Enables the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-position", + "markdownDescription": "Enables the inner_position command without any pre-configured scope." + }, + { + "description": "Enables the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-inner-size", + "markdownDescription": "Enables the inner_size command without any pre-configured scope." + }, + { + "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-internal-toggle-maximize", + "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-always-on-top", + "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-closable", + "markdownDescription": "Enables the is_closable command without any pre-configured scope." + }, + { + "description": "Enables the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-decorated", + "markdownDescription": "Enables the is_decorated command without any pre-configured scope." + }, + { + "description": "Enables the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-enabled", + "markdownDescription": "Enables the is_enabled command without any pre-configured scope." + }, + { + "description": "Enables the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-focused", + "markdownDescription": "Enables the is_focused command without any pre-configured scope." + }, + { + "description": "Enables the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-fullscreen", + "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximizable", + "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-maximized", + "markdownDescription": "Enables the is_maximized command without any pre-configured scope." + }, + { + "description": "Enables the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimizable", + "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-minimized", + "markdownDescription": "Enables the is_minimized command without any pre-configured scope." + }, + { + "description": "Enables the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-resizable", + "markdownDescription": "Enables the is_resizable command without any pre-configured scope." + }, + { + "description": "Enables the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-is-visible", + "markdownDescription": "Enables the is_visible command without any pre-configured scope." + }, + { + "description": "Enables the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-maximize", + "markdownDescription": "Enables the maximize command without any pre-configured scope." + }, + { + "description": "Enables the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-minimize", + "markdownDescription": "Enables the minimize command without any pre-configured scope." + }, + { + "description": "Enables the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-monitor-from-point", + "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Enables the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-position", + "markdownDescription": "Enables the outer_position command without any pre-configured scope." + }, + { + "description": "Enables the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-outer-size", + "markdownDescription": "Enables the outer_size command without any pre-configured scope." + }, + { + "description": "Enables the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-primary-monitor", + "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." + }, + { + "description": "Enables the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-request-user-attention", + "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." + }, + { + "description": "Enables the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scale-factor", + "markdownDescription": "Enables the scale_factor command without any pre-configured scope." + }, + { + "description": "Enables the scene_identifier command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-scene-identifier", + "markdownDescription": "Enables the scene_identifier command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-bottom", + "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Enables the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-always-on-top", + "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Enables the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-background-color", + "markdownDescription": "Enables the set_background_color command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-count", + "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." + }, + { + "description": "Enables the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-badge-label", + "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." + }, + { + "description": "Enables the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-closable", + "markdownDescription": "Enables the set_closable command without any pre-configured scope." + }, + { + "description": "Enables the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-content-protected", + "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-grab", + "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-icon", + "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-position", + "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Enables the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-cursor-visible", + "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Enables the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-decorations", + "markdownDescription": "Enables the set_decorations command without any pre-configured scope." + }, + { + "description": "Enables the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-effects", + "markdownDescription": "Enables the set_effects command without any pre-configured scope." + }, + { + "description": "Enables the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-enabled", + "markdownDescription": "Enables the set_enabled command without any pre-configured scope." + }, + { + "description": "Enables the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focus", + "markdownDescription": "Enables the set_focus command without any pre-configured scope." + }, + { + "description": "Enables the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-focusable", + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." + }, + { + "description": "Enables the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-fullscreen", + "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-icon", + "markdownDescription": "Enables the set_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-ignore-cursor-events", + "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Enables the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-max-size", + "markdownDescription": "Enables the set_max_size command without any pre-configured scope." + }, + { + "description": "Enables the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-maximizable", + "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." + }, + { + "description": "Enables the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-min-size", + "markdownDescription": "Enables the set_min_size command without any pre-configured scope." + }, + { + "description": "Enables the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-minimizable", + "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." + }, + { + "description": "Enables the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-overlay-icon", + "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Enables the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-position", + "markdownDescription": "Enables the set_position command without any pre-configured scope." + }, + { + "description": "Enables the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-progress-bar", + "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Enables the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-resizable", + "markdownDescription": "Enables the set_resizable command without any pre-configured scope." + }, + { + "description": "Enables the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-shadow", + "markdownDescription": "Enables the set_shadow command without any pre-configured scope." + }, + { + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-simple-fullscreen", + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Enables the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size", + "markdownDescription": "Enables the set_size command without any pre-configured scope." + }, + { + "description": "Enables the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-size-constraints", + "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Enables the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-skip-taskbar", + "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Enables the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-theme", + "markdownDescription": "Enables the set_theme command without any pre-configured scope." + }, + { + "description": "Enables the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title", + "markdownDescription": "Enables the set_title command without any pre-configured scope." + }, + { + "description": "Enables the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-set-title-bar-style", + "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Enables the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-show", + "markdownDescription": "Enables the show command without any pre-configured scope." + }, + { + "description": "Enables the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-dragging", + "markdownDescription": "Enables the start_dragging command without any pre-configured scope." + }, + { + "description": "Enables the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-start-resize-dragging", + "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Enables the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-theme", + "markdownDescription": "Enables the theme command without any pre-configured scope." + }, + { + "description": "Enables the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-title", + "markdownDescription": "Enables the title command without any pre-configured scope." + }, + { + "description": "Enables the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-toggle-maximize", + "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Enables the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unmaximize", + "markdownDescription": "Enables the unmaximize command without any pre-configured scope." + }, + { + "description": "Enables the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:allow-unminimize", + "markdownDescription": "Enables the unminimize command without any pre-configured scope." + }, + { + "description": "Denies the activity_name command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-activity-name", + "markdownDescription": "Denies the activity_name command without any pre-configured scope." + }, + { + "description": "Denies the available_monitors command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-available-monitors", + "markdownDescription": "Denies the available_monitors command without any pre-configured scope." + }, + { + "description": "Denies the center command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-center", + "markdownDescription": "Denies the center command without any pre-configured scope." + }, + { + "description": "Denies the close command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-close", + "markdownDescription": "Denies the close command without any pre-configured scope." + }, + { + "description": "Denies the create command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-create", + "markdownDescription": "Denies the create command without any pre-configured scope." + }, + { + "description": "Denies the current_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-current-monitor", + "markdownDescription": "Denies the current_monitor command without any pre-configured scope." + }, + { + "description": "Denies the cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-cursor-position", + "markdownDescription": "Denies the cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the destroy command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-destroy", + "markdownDescription": "Denies the destroy command without any pre-configured scope." + }, + { + "description": "Denies the get_all_windows command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-get-all-windows", + "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." + }, + { + "description": "Denies the hide command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-hide", + "markdownDescription": "Denies the hide command without any pre-configured scope." + }, + { + "description": "Denies the inner_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-position", + "markdownDescription": "Denies the inner_position command without any pre-configured scope." + }, + { + "description": "Denies the inner_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-inner-size", + "markdownDescription": "Denies the inner_size command without any pre-configured scope." + }, + { + "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-internal-toggle-maximize", + "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the is_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-always-on-top", + "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the is_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-closable", + "markdownDescription": "Denies the is_closable command without any pre-configured scope." + }, + { + "description": "Denies the is_decorated command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-decorated", + "markdownDescription": "Denies the is_decorated command without any pre-configured scope." + }, + { + "description": "Denies the is_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-enabled", + "markdownDescription": "Denies the is_enabled command without any pre-configured scope." + }, + { + "description": "Denies the is_focused command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-focused", + "markdownDescription": "Denies the is_focused command without any pre-configured scope." + }, + { + "description": "Denies the is_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-fullscreen", + "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the is_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximizable", + "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the is_maximized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-maximized", + "markdownDescription": "Denies the is_maximized command without any pre-configured scope." + }, + { + "description": "Denies the is_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimizable", + "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the is_minimized command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-minimized", + "markdownDescription": "Denies the is_minimized command without any pre-configured scope." + }, + { + "description": "Denies the is_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-resizable", + "markdownDescription": "Denies the is_resizable command without any pre-configured scope." + }, + { + "description": "Denies the is_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-is-visible", + "markdownDescription": "Denies the is_visible command without any pre-configured scope." + }, + { + "description": "Denies the maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-maximize", + "markdownDescription": "Denies the maximize command without any pre-configured scope." + }, + { + "description": "Denies the minimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-minimize", + "markdownDescription": "Denies the minimize command without any pre-configured scope." + }, + { + "description": "Denies the monitor_from_point command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-monitor-from-point", + "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." + }, + { + "description": "Denies the outer_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-position", + "markdownDescription": "Denies the outer_position command without any pre-configured scope." + }, + { + "description": "Denies the outer_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-outer-size", + "markdownDescription": "Denies the outer_size command without any pre-configured scope." + }, + { + "description": "Denies the primary_monitor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-primary-monitor", + "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." + }, + { + "description": "Denies the request_user_attention command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-request-user-attention", + "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." + }, + { + "description": "Denies the scale_factor command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scale-factor", + "markdownDescription": "Denies the scale_factor command without any pre-configured scope." + }, + { + "description": "Denies the scene_identifier command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-scene-identifier", + "markdownDescription": "Denies the scene_identifier command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_bottom command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-bottom", + "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." + }, + { + "description": "Denies the set_always_on_top command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-always-on-top", + "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." + }, + { + "description": "Denies the set_background_color command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-background-color", + "markdownDescription": "Denies the set_background_color command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_count command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-count", + "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." + }, + { + "description": "Denies the set_badge_label command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-badge-label", + "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." + }, + { + "description": "Denies the set_closable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-closable", + "markdownDescription": "Denies the set_closable command without any pre-configured scope." + }, + { + "description": "Denies the set_content_protected command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-content-protected", + "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_grab command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-grab", + "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-icon", + "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-position", + "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." + }, + { + "description": "Denies the set_cursor_visible command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-cursor-visible", + "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." + }, + { + "description": "Denies the set_decorations command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-decorations", + "markdownDescription": "Denies the set_decorations command without any pre-configured scope." + }, + { + "description": "Denies the set_effects command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-effects", + "markdownDescription": "Denies the set_effects command without any pre-configured scope." + }, + { + "description": "Denies the set_enabled command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-enabled", + "markdownDescription": "Denies the set_enabled command without any pre-configured scope." + }, + { + "description": "Denies the set_focus command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focus", + "markdownDescription": "Denies the set_focus command without any pre-configured scope." + }, + { + "description": "Denies the set_focusable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-focusable", + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." + }, + { + "description": "Denies the set_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-fullscreen", + "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-icon", + "markdownDescription": "Denies the set_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-ignore-cursor-events", + "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." + }, + { + "description": "Denies the set_max_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-max-size", + "markdownDescription": "Denies the set_max_size command without any pre-configured scope." + }, + { + "description": "Denies the set_maximizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-maximizable", + "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." + }, + { + "description": "Denies the set_min_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-min-size", + "markdownDescription": "Denies the set_min_size command without any pre-configured scope." + }, + { + "description": "Denies the set_minimizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-minimizable", + "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." + }, + { + "description": "Denies the set_overlay_icon command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-overlay-icon", + "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." + }, + { + "description": "Denies the set_position command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-position", + "markdownDescription": "Denies the set_position command without any pre-configured scope." + }, + { + "description": "Denies the set_progress_bar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-progress-bar", + "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." + }, + { + "description": "Denies the set_resizable command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-resizable", + "markdownDescription": "Denies the set_resizable command without any pre-configured scope." + }, + { + "description": "Denies the set_shadow command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-shadow", + "markdownDescription": "Denies the set_shadow command without any pre-configured scope." + }, + { + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-simple-fullscreen", + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." + }, + { + "description": "Denies the set_size command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size", + "markdownDescription": "Denies the set_size command without any pre-configured scope." + }, + { + "description": "Denies the set_size_constraints command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-size-constraints", + "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." + }, + { + "description": "Denies the set_skip_taskbar command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-skip-taskbar", + "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." + }, + { + "description": "Denies the set_theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-theme", + "markdownDescription": "Denies the set_theme command without any pre-configured scope." + }, + { + "description": "Denies the set_title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title", + "markdownDescription": "Denies the set_title command without any pre-configured scope." + }, + { + "description": "Denies the set_title_bar_style command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-set-title-bar-style", + "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." + }, + { + "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", + "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." + }, + { + "description": "Denies the show command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-show", + "markdownDescription": "Denies the show command without any pre-configured scope." + }, + { + "description": "Denies the start_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-dragging", + "markdownDescription": "Denies the start_dragging command without any pre-configured scope." + }, + { + "description": "Denies the start_resize_dragging command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-start-resize-dragging", + "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." + }, + { + "description": "Denies the theme command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-theme", + "markdownDescription": "Denies the theme command without any pre-configured scope." + }, + { + "description": "Denies the title command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-title", + "markdownDescription": "Denies the title command without any pre-configured scope." + }, + { + "description": "Denies the toggle_maximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-toggle-maximize", + "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." + }, + { + "description": "Denies the unmaximize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unmaximize", + "markdownDescription": "Denies the unmaximize command without any pre-configured scope." + }, + { + "description": "Denies the unminimize command without any pre-configured scope.", + "type": "string", + "const": "core:window:deny-unminimize", + "markdownDescription": "Denies the unminimize command without any pre-configured scope." + }, + { + "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", + "type": "string", + "const": "opener:default", + "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" + }, + { + "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", + "type": "string", + "const": "opener:allow-default-urls", + "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." + }, + { + "description": "Enables the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-path", + "markdownDescription": "Enables the open_path command without any pre-configured scope." + }, + { + "description": "Enables the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-open-url", + "markdownDescription": "Enables the open_url command without any pre-configured scope." + }, + { + "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:allow-reveal-item-in-dir", + "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." + }, + { + "description": "Denies the open_path command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-path", + "markdownDescription": "Denies the open_path command without any pre-configured scope." + }, + { + "description": "Denies the open_url command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-open-url", + "markdownDescription": "Denies the open_url command without any pre-configured scope." + }, + { + "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", + "type": "string", + "const": "opener:deny-reveal-item-in-dir", + "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." + } + ] + }, + "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" + ] + } + ] + }, + "Application": { + "description": "Opener scope application.", + "anyOf": [ + { + "description": "Open in default application.", + "type": "null" + }, + { + "description": "If true, allow open with any application.", + "type": "boolean" + }, + { + "description": "Allow specific application to open with.", + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..83b0e807f82302b6d5087d1326bcc85c8f2a4ed8 GIT binary patch literal 11803 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 JPDHLkV1gK@F*^VN literal 0 HcmV?d00001 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a009361f7b9662b7bb6fc655cae87637ef7dd2e7 GIT binary patch literal 27775 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 >DCgkHh>=9vh8_XG8EOn|>sS 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 D-&x_~ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d3895b32db168c74a22ecf71fc5a0fba31221562 GIT binary patch literal 13459 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

wXs?|5o4jxD<2|dOe3b7WH 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 B@eKd~ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3a655b645af9bbe7d5ab27e5902dab32cc1ed032 GIT binary patch literal 14571 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

HTawW=%5^+YD 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..672f89a3d6e446840e954c38bc4d6f74816c3fbb GIT binary patch literal 1677 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 JPDHLkV1f|%-rWEI literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c7e676da4d66966a53bbb564b5afada3b06029d4 GIT binary patch literal 2900 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 LNkvXXu0mjf7Z<5i literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..3b53587e6753288ceab490e4c642d1cd62275088 GIT binary patch literal 338547 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%0Dgp`gvDF`ck&Jg1H`8av z3H4Hmzhrj{^5y{mXFgoa$&ZDB@*X-obi3oa+bsCw@uRGJ=l2!8{&kMj2WI6&P+be) zz)c_=+iOUbk90JyB(xODk3~k{F-%}G7(T0yh^>UjPOuy=M3)eZdLy=eY%hU+!()3y zdch7od@TXe_Sj1M>CO7&0xJhPd<)$Xy>v2JEUEx0rdnw;EC zq2X*l5-T2&WZ^+XqM?`uW-Kkmk6bhTXy8w9Dmt`sykrIfv|sYPx$T8ck|ofOKek8e ze5rd2REhwp=GQ=EuuB7i@!uZa&$5>f*@Hhe2mXcd&*qQrRP1JbBz^>znLaZZ%R!4u z{4Aa-pO=iWiQOK2yCcoIORV(eGq#5f5f5#j+=(N{>qR@Q2lUam6g593{&{xWYc1$g z%pF>1P}QjiFlL~j`8*(y0b$k#$hW~g*Vh34EC~FE+5dexXW__;bUX268b$AM3XR zM*0AtF5?}F!%m>zF3_iv5)AZ^a32YDIYUsH5MWcy{Azjpa*9`tc#loqL z@mTl=s(}q4r_QJHPXJ!p1lv{KCkKC2t8Mvq&B*%OQ9RwlEp`cJ^${^*i8CDZSt$UB zCU9XD);gADYXW_WVnzb}_JDpvV6O*#zZC+c8ultOpgxfujRdZbTmo}{fbNqIv=aQY z=O1UCsqhb!+7}FWySGiOB$p$N?KxZC6LYCtM%paRY{HL?;GVSPAjIzJV-&|RTF|eK z0g^6^p=q)mnXh$lid-ctV~N4f8W`JCDG@cWxr08))i<5blB}8l0vT{!lFl)`W=sVUTRa(LgZ*-Zy0~t_T1>k`Wt7O69Ke>^> z`}Z>3c%>QeS3DVWzk=>v*UtocM1@0{A~ulC+t^-3r&ur$XweoI^exDM+Gp_d z-7q7^4b5_Z3lS!QI(fFe_ivj4e}(Pu_U+#r|Fb(LE%qd)Nt)~*#TKVL`&WZL)Vu6Z zue&PWd9O)W%3~u6s1Uw4`3V#tUB9Pvge`-F#asvhwsS$*=+^*PlbP^pMAYF)gbrqK}|(K_!a=` z>+3s%zrR=&mBlWS9ve}g95KAFPX+!BF!(7J=~e5Jylk$RK`r7n1Nyeo?}!P{eCnOh%X&x-KX}mQ{Hnq zG59kl@E-~PT+bl)D;Q<}d&=ZLDX@c;>L6MlAk=mHD5Q7;t~5llV@0GS?IBHUfCQWZ z0+S$jK15S1hJ1$|=kXEWGIcZte_UOGHe2i_IC(c5L-63hYj4|3G@@_6DygyET-DG0>QIurj1_$MVJ`|!Ehw-ah4r= z%raYx1pYs|BNzU8lF5_{m1TV_R|KoV!03?ZL;SDO-YeUFY>#lP8v~Bb2>!ma`iRY} zACkADYKznj`us0DB(jSd0z|W8dp13w1p2La+nXEEkNCwy^`-)}sUo11D8;4%I_pyH z{K3I}7P|Ryz`xkG?*73H_+htH(GW@{e^&-SG&_fj86%l%B6kNIuWKGM!Pdd5@2oym zKteF9A6kWI67-oh3DDJ-dd%9U$@U|nr&ozAfqt!Sd#wfiIACp+zbSor4YpI-*d#D zpkYi0`a$5Yfm{MseEHxBR27DC&$7H}w#_|!o&4>5dfxorHFKT0j?S0=XW&dU7cUL$` zCi!1OK;>!%;NLK&1N|VGV5A>$RjvuF6#_jzCP7k62&!f@SK{{%0AextV<_I$#^5Ic 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 z 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, + pub active: Mutex>, + pub stage: Mutex, + /// Webviews exist. Guards against bootstrapping twice on a hot reload. + pub booted: Mutex, +} + +impl AppState { + pub fn cfg(&self) -> Config { + self.config.lock().unwrap().clone() + } + + fn persist(&self) -> Result<(), String> { + config::save(&self.dir, &self.config.lock().unwrap()) + } +} + +pub fn build_state(handle: &AppHandle) -> Result { + let dir = handle + .path() + .app_config_dir() + .map_err(|e| format!("no config directory: {e}"))?; + let config = config::load(&dir)?; + Ok(AppState { + dir, + config: Mutex::new(config), + active: Mutex::new(None), + stage: Mutex::new((240.0, 38.0, 800.0, 600.0)), + booted: Mutex::new(false), + }) +} + +#[tauri::command] +pub fn get_config(state: State<'_, AppState>) -> Config { + state.cfg() +} + +/// Records the rect the shell has left for an app, and resizes the one showing. +#[tauri::command] +pub fn set_stage( + x: f64, + y: f64, + width: f64, + height: f64, + app: AppHandle, + state: State<'_, AppState>, +) { + let stage = (x, y, width.max(0.0), height.max(0.0)); + *state.stage.lock().unwrap() = stage; + let active = state.active.lock().unwrap().clone(); + webviews::set_stage(&app, active.as_deref(), stage); +} + +/// Creates every app's webview: the active one first, the rest staggered. +/// +/// Called by the shell once it has measured the stage, so the views are born +/// at the right size instead of being built against a guess and corrected. +#[tauri::command] +pub fn bootstrap(app: AppHandle, state: State<'_, AppState>) -> Result<(), String> { + { + let mut booted = state.booted.lock().unwrap(); + if *booted { + return Ok(()); + } + *booted = true; + } + + let cfg = state.cfg(); + let stage = *state.stage.lock().unwrap(); + let active = state.active.lock().unwrap().clone(); + + let first = active + .clone() + .or_else(|| cfg.ordered().first().map(|a| a.id.clone())); + + if let Some(id) = &first { + if let Some(a) = cfg.app(id) { + webviews::create(&app, a, &cfg, stage)?; + *state.active.lock().unwrap() = Some(id.clone()); + webviews::show_only(&app, Some(id), &cfg, stage); + } + } + + // The rest follow with a gap, so launching does not fire a dozen + // simultaneous page loads at the network and the CPU. + let rest: Vec = cfg + .ordered() + .into_iter() + .filter(|a| Some(&a.id) != first.as_ref()) + .cloned() + .collect(); + + tauri::async_runtime::spawn(async move { + for a in rest { + tokio::time::sleep(std::time::Duration::from_millis(350)).await; + let state = app.state::(); + let cfg = state.cfg(); + let stage = *state.stage.lock().unwrap(); + if let Err(e) = webviews::create(&app, &a, &cfg, stage) { + eprintln!("could not create webview for {}: {e}", a.name); + } + } + }); + + Ok(()) +} + +#[tauri::command] +pub fn set_active(app_id: String, app: AppHandle, state: State<'_, AppState>) { + let cfg = state.cfg(); + let stage = *state.stage.lock().unwrap(); + *state.active.lock().unwrap() = Some(app_id.clone()); + webviews::show_only(&app, Some(&app_id), &cfg, stage); +} + +/// Hides every app, so a dialog is not painted over by a native view. +#[tauri::command] +pub fn hide_stage(app: AppHandle, state: State<'_, AppState>) { + webviews::hide_all(&app, &state.cfg()); +} + +/// Puts the active app back after a dialog closes. +#[tauri::command] +pub fn show_stage(app: AppHandle, state: State<'_, AppState>) { + let cfg = state.cfg(); + let stage = *state.stage.lock().unwrap(); + let active = state.active.lock().unwrap().clone(); + webviews::show_only(&app, active.as_deref(), &cfg, stage); +} + +#[tauri::command] +pub fn navigate_app(app_id: String, url: String, app: AppHandle) -> Result<(), String> { + let wv = app + .get_webview(&webviews::label_for(&app_id)) + .ok_or_else(|| format!("{app_id} has no webview"))?; + let url = Url::parse(&url).map_err(|e| e.to_string())?; + wv.navigate(url).map_err(|e| e.to_string()) +} + +/// Back, forward and reload, run inside the app's own page. +#[tauri::command] +pub fn history_go(app_id: String, delta: i32, app: AppHandle) -> Result<(), String> { + let wv = app + .get_webview(&webviews::label_for(&app_id)) + .ok_or_else(|| format!("{app_id} has no webview"))?; + let script = if delta == 0 { + "location.reload()".to_string() + } else { + format!("history.go({delta})") + }; + wv.eval(&script).map_err(|e| e.to_string()) +} + +#[tauri::command] +pub fn current_url(app_id: String, app: AppHandle) -> Option { + app.get_webview(&webviews::label_for(&app_id)) + .and_then(|wv| wv.url().ok()) + .map(|u| u.to_string()) +} + +#[tauri::command] +pub fn open_external(url: String) -> Result<(), String> { + tauri_plugin_opener::open_url(url, None::<&str>).map_err(|e| e.to_string()) +} + +// ---------------------------------------------------------------- apps + +#[tauri::command] +pub fn add_app( + name: String, + url: String, + group_id: Option, + app: AppHandle, + state: State<'_, AppState>, +) -> Result { + let url = config::normalize_url(&url); + let scope = config::default_scope(&url) + .ok_or_else(|| format!("{url} is not a URL this can open"))?; + + let new = { + let mut cfg = state.config.lock().unwrap(); + let order = cfg + .apps + .iter() + .filter(|a| a.group_id == group_id) + .map(|a| a.order) + .max() + .map_or(0, |m| m + 1); + let new = App { + id: config::new_id(), + name: name.trim().to_string(), + url, + scope: vec![scope], + group_id, + user_agent: None, + order, + }; + cfg.apps.push(new.clone()); + new + }; + state.persist()?; + + let cfg = state.cfg(); + let stage = *state.stage.lock().unwrap(); + if *state.booted.lock().unwrap() { + webviews::create(&app, &new, &cfg, stage)?; + } + Ok(cfg) +} + +/// Applies an edit. A change to url, scope or user agent rebuilds the webview, +/// since none of the three can be altered on a live one. +#[tauri::command] +pub fn update_app( + updated: App, + app: AppHandle, + state: State<'_, AppState>, +) -> Result { + let rebuild = { + let mut cfg = state.config.lock().unwrap(); + let existing = cfg + .apps + .iter_mut() + .find(|a| a.id == updated.id) + .ok_or_else(|| format!("no app {}", updated.id))?; + let rebuild = existing.url != updated.url + || existing.scope != updated.scope + || existing.user_agent != updated.user_agent; + *existing = updated.clone(); + rebuild + }; + state.persist()?; + + let cfg = state.cfg(); + let stage = *state.stage.lock().unwrap(); + if rebuild && *state.booted.lock().unwrap() { + webviews::destroy(&app, &updated.id); + webviews::create(&app, &updated, &cfg, stage)?; + let active = state.active.lock().unwrap().clone(); + webviews::show_only(&app, active.as_deref(), &cfg, stage); + } + Ok(cfg) +} + +#[tauri::command] +pub fn delete_app( + app_id: String, + app: AppHandle, + state: State<'_, AppState>, +) -> Result { + { + let mut cfg = state.config.lock().unwrap(); + cfg.apps.retain(|a| a.id != app_id); + } + state.persist()?; + webviews::destroy(&app, &app_id); + + let mut active = state.active.lock().unwrap(); + if active.as_deref() == Some(app_id.as_str()) { + *active = None; + } + Ok(state.cfg()) +} + +/// Rewrites group membership and position in one go, for a drag. +#[tauri::command] +pub fn reorder_apps( + ordering: Vec<(String, Option, i32)>, + state: State<'_, AppState>, +) -> Result { + { + let mut cfg = state.config.lock().unwrap(); + for (id, group_id, order) in ordering { + if let Some(a) = cfg.apps.iter_mut().find(|a| a.id == id) { + a.group_id = group_id; + a.order = order; + } + } + } + state.persist()?; + Ok(state.cfg()) +} + +// -------------------------------------------------------------- groups + +#[tauri::command] +pub fn add_group(name: String, state: State<'_, AppState>) -> Result { + { + let mut cfg = state.config.lock().unwrap(); + let order = cfg.groups.iter().map(|g| g.order).max().map_or(0, |m| m + 1); + cfg.groups.push(Group { + id: config::new_id(), + name: name.trim().to_string(), + collapsed: false, + order, + }); + } + state.persist()?; + Ok(state.cfg()) +} + +#[tauri::command] +pub fn update_group(updated: Group, state: State<'_, AppState>) -> Result { + { + let mut cfg = state.config.lock().unwrap(); + let g = cfg + .groups + .iter_mut() + .find(|g| g.id == updated.id) + .ok_or_else(|| format!("no group {}", updated.id))?; + *g = updated; + } + state.persist()?; + Ok(state.cfg()) +} + +/// Removes a group. Its apps survive, ungrouped — deleting a folder should +/// never be a way to lose the things inside it by accident. +#[tauri::command] +pub fn delete_group(group_id: String, state: State<'_, AppState>) -> Result { + { + let mut cfg = state.config.lock().unwrap(); + cfg.groups.retain(|g| g.id != group_id); + for a in cfg.apps.iter_mut() { + if a.group_id.as_deref() == Some(group_id.as_str()) { + a.group_id = None; + } + } + } + state.persist()?; + Ok(state.cfg()) +} + +// ------------------------------------------------------------ settings + +#[tauri::command] +pub fn set_nav_collapsed(collapsed: bool, state: State<'_, AppState>) -> Result<(), String> { + state.config.lock().unwrap().settings.nav_collapsed = collapsed; + state.persist() +} + +#[tauri::command] +pub fn set_theme(theme: String, state: State<'_, AppState>) -> Result<(), String> { + state.config.lock().unwrap().settings.theme = theme; + state.persist() +} diff --git a/src-tauri/src/config.rs b/src-tauri/src/config.rs new file mode 100644 index 0000000..3064863 --- /dev/null +++ b/src-tauri/src/config.rs @@ -0,0 +1,278 @@ +//! `apps.json`: the list of tools, their groups, and the window's preferences. +//! +//! Apps are flat and carry a `group_id` rather than being nested inside their +//! group, so dragging one between groups is a field change instead of a tree +//! rewrite. + +use serde::{Deserialize, Serialize}; +use std::path::PathBuf; +use url::Url; + +use crate::routing::AppScope; + +/// What the app claims to be. WebKit's own user agent gets a Google login +/// refused as "not a secure browser", which would make half the list unusable. +pub const CHROME_UA: &str = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) \ + AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"; + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct App { + pub id: String, + pub name: String, + pub url: String, + /// Hosts this app owns. Defaults to the URL's exact host — `mail.google.com` + /// rather than `google.com`, or Gmail and Drive each swallow the other. + #[serde(default)] + pub scope: Vec, + #[serde(default)] + pub group_id: Option, + #[serde(default)] + pub user_agent: Option, + #[serde(default)] + pub order: i32, +} + +impl App { + pub fn scopes(&self) -> Vec { + if self.scope.is_empty() { + default_scope(&self.url).into_iter().collect() + } else { + self.scope.clone() + } + } + + pub fn ua(&self) -> String { + self.user_agent.clone().unwrap_or_else(|| CHROME_UA.to_string()) + } +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct Group { + pub id: String, + pub name: String, + #[serde(default)] + pub collapsed: bool, + #[serde(default)] + pub order: i32, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct Settings { + #[serde(default)] + pub nav_collapsed: bool, + #[serde(default = "default_theme")] + pub theme: String, + #[serde(default)] + pub paired_browser: Option, + #[serde(default)] + pub last_paired_at: Option, +} + +fn default_theme() -> String { + "system".into() +} + +impl Default for Settings { + fn default() -> Self { + Self { + nav_collapsed: false, + theme: default_theme(), + paired_browser: None, + last_paired_at: None, + } + } +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct Config { + #[serde(default = "default_version")] + pub version: u32, + #[serde(default)] + pub groups: Vec, + #[serde(default)] + pub apps: Vec, + #[serde(default)] + pub settings: Settings, +} + +fn default_version() -> u32 { + 1 +} + +impl Default for Config { + fn default() -> Self { + Self { + version: 1, + groups: Vec::new(), + apps: Vec::new(), + settings: Settings::default(), + } + } +} + +impl Config { + /// Scopes in the shape routing wants. + pub fn scopes(&self) -> Vec { + self.apps + .iter() + .map(|a| AppScope { id: a.id.clone(), scope: a.scopes() }) + .collect() + } + + pub fn app(&self, id: &str) -> Option<&App> { + self.apps.iter().find(|a| a.id == id) + } + + /// Apps in the order the nav shows them: by group, then by position. + pub fn ordered(&self) -> Vec<&App> { + let group_rank = |id: &Option| -> i32 { + match id { + None => -1, + Some(g) => self + .groups + .iter() + .find(|x| &x.id == g) + .map(|x| x.order) + .unwrap_or(i32::MAX), + } + }; + let mut apps: Vec<&App> = self.apps.iter().collect(); + apps.sort_by_key(|a| (group_rank(&a.group_id), a.order)); + apps + } +} + +/// The host of a URL, which is the app's scope until the user widens it. +pub fn default_scope(url: &str) -> Option { + Url::parse(url) + .ok() + .and_then(|u| u.host_str().map(|h| h.trim_start_matches("www.").to_string())) +} + +/// Normalises what someone types into an app's URL field. +pub fn normalize_url(input: &str) -> String { + let t = input.trim(); + if t.starts_with("http://") || t.starts_with("https://") { + t.to_string() + } else { + format!("https://{t}") + } +} + +pub fn new_id() -> String { + uuid::Uuid::new_v4().to_string() +} + +/// First-run contents: enough apps, across enough groups, that grouping and +/// cross-app link routing can both be seen working without typing anything. +pub fn seed() -> Config { + let mk = |name: &str, url: &str, group: &str, order: i32| App { + id: new_id(), + name: name.into(), + url: url.into(), + scope: default_scope(url).into_iter().collect(), + group_id: Some(group.into()), + user_agent: None, + order, + }; + Config { + version: 1, + groups: vec![ + Group { id: "g-google".into(), name: "Google".into(), collapsed: false, order: 0 }, + Group { id: "g-dev".into(), name: "Dev".into(), collapsed: false, order: 1 }, + Group { id: "g-ref".into(), name: "Reference".into(), collapsed: false, order: 2 }, + ], + apps: vec![ + mk("Google", "https://www.google.com", "g-google", 0), + mk("YouTube", "https://www.youtube.com", "g-google", 1), + mk("GitHub", "https://github.com", "g-dev", 0), + mk("Hacker News", "https://news.ycombinator.com", "g-dev", 1), + mk("Wikipedia", "https://en.wikipedia.org", "g-ref", 0), + mk("MDN", "https://developer.mozilla.org", "g-ref", 1), + ], + settings: Settings::default(), + } +} + +pub fn config_path(dir: &PathBuf) -> PathBuf { + dir.join("apps.json") +} + +/// Reads `apps.json`, seeding it on first run. +/// +/// A file that fails to parse is kept, not replaced: losing someone's app list +/// to a bad write is worse than starting with the seed and telling them. +pub fn load(dir: &PathBuf) -> Result { + let path = config_path(dir); + if !path.exists() { + let cfg = seed(); + save(dir, &cfg)?; + return Ok(cfg); + } + let raw = std::fs::read_to_string(&path).map_err(|e| e.to_string())?; + serde_json::from_str(&raw).map_err(|e| format!("{} is not readable: {e}", path.display())) +} + +pub fn save(dir: &PathBuf, cfg: &Config) -> Result<(), String> { + std::fs::create_dir_all(dir).map_err(|e| e.to_string())?; + let json = serde_json::to_string_pretty(cfg).map_err(|e| e.to_string())?; + std::fs::write(config_path(dir), json).map_err(|e| e.to_string()) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn default_scope_is_the_host_without_www() { + assert_eq!(default_scope("https://www.google.com/x"), Some("google.com".into())); + assert_eq!(default_scope("https://mail.google.com"), Some("mail.google.com".into())); + assert_eq!(default_scope("nonsense"), None); + } + + #[test] + fn normalize_url_adds_a_scheme_but_keeps_an_explicit_one() { + assert_eq!(normalize_url(" github.com "), "https://github.com"); + assert_eq!(normalize_url("http://intranet.local"), "http://intranet.local"); + } + + #[test] + fn seed_apps_all_carry_a_scope() { + let cfg = seed(); + assert_eq!(cfg.apps.len(), 6); + assert!(cfg.apps.iter().all(|a| !a.scopes().is_empty())); + } + + #[test] + fn ordering_follows_group_then_position() { + let cfg = seed(); + let names: Vec<&str> = cfg.ordered().iter().map(|a| a.name.as_str()).collect(); + assert_eq!(names, ["Google", "YouTube", "GitHub", "Hacker News", "Wikipedia", "MDN"]); + } + + #[test] + fn config_survives_a_serde_round_trip() { + let cfg = seed(); + let json = serde_json::to_string(&cfg).unwrap(); + let back: Config = serde_json::from_str(&json).unwrap(); + assert_eq!(back.apps.len(), cfg.apps.len()); + assert_eq!(back.groups.len(), cfg.groups.len()); + } + + #[test] + fn a_sparse_file_fills_in_its_defaults() { + // Hand-edited config files are a supported way to add an app. + let cfg: Config = serde_json::from_str( + r#"{"apps":[{"id":"a","name":"X","url":"https://x.com"}]}"#, + ) + .unwrap(); + assert_eq!(cfg.version, 1); + assert_eq!(cfg.settings.theme, "system"); + assert_eq!(cfg.apps[0].scopes(), vec!["x.com".to_string()]); + assert!(cfg.apps[0].ua().contains("Chrome/")); + } +} diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs new file mode 100644 index 0000000..f5e255d --- /dev/null +++ b/src-tauri/src/lib.rs @@ -0,0 +1,81 @@ +pub mod commands; +pub mod config; +pub mod routing; +pub mod webviews; + +use tauri::menu::{AboutMetadata, Menu, PredefinedMenuItem, Submenu}; +use tauri::Manager; + +/// The macOS menu bar. Edit has no entry of its own, but its items live under +/// the app menu because they are what make ⌘X/⌘C/⌘V work in a text field. +fn build_menu(app: &tauri::AppHandle) -> tauri::Result> { + let app_menu = Submenu::with_items( + app, + "Work", + true, + &[ + &PredefinedMenuItem::about(app, None, Some(AboutMetadata::default()))?, + &PredefinedMenuItem::separator(app)?, + &PredefinedMenuItem::hide(app, None)?, + &PredefinedMenuItem::hide_others(app, None)?, + &PredefinedMenuItem::show_all(app, None)?, + &PredefinedMenuItem::separator(app)?, + &PredefinedMenuItem::cut(app, None)?, + &PredefinedMenuItem::copy(app, None)?, + &PredefinedMenuItem::paste(app, None)?, + &PredefinedMenuItem::select_all(app, None)?, + &PredefinedMenuItem::separator(app)?, + &PredefinedMenuItem::quit(app, None)?, + ], + )?; + + let window_menu = Submenu::with_items( + app, + "Window", + true, + &[ + &PredefinedMenuItem::minimize(app, None)?, + &PredefinedMenuItem::maximize(app, None)?, + &PredefinedMenuItem::fullscreen(app, None)?, + &PredefinedMenuItem::separator(app)?, + &PredefinedMenuItem::close_window(app, None)?, + ], + )?; + + Menu::with_items(app, &[&app_menu, &window_menu]) +} + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + tauri::Builder::default() + .menu(build_menu) + .plugin(tauri_plugin_opener::init()) + .setup(|app| { + let state = commands::build_state(&app.handle().clone())?; + app.manage(state); + Ok(()) + }) + .invoke_handler(tauri::generate_handler![ + commands::get_config, + commands::bootstrap, + commands::set_stage, + commands::set_active, + commands::hide_stage, + commands::show_stage, + commands::navigate_app, + commands::history_go, + commands::current_url, + commands::open_external, + commands::add_app, + commands::update_app, + commands::delete_app, + commands::reorder_apps, + commands::add_group, + commands::update_group, + commands::delete_group, + commands::set_nav_collapsed, + commands::set_theme, + ]) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs new file mode 100644 index 0000000..2fbc573 --- /dev/null +++ b/src-tauri/src/main.rs @@ -0,0 +1,6 @@ +// Prevents an additional console window on Windows in release. +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +fn main() { + work_app_lib::run() +} diff --git a/src-tauri/src/routing.rs b/src-tauri/src/routing.rs new file mode 100644 index 0000000..323a8b8 --- /dev/null +++ b/src-tauri/src/routing.rs @@ -0,0 +1,210 @@ +//! Where a URL should open: here, another app, or the real browser. +//! +//! Pure. No I/O, no Tauri types, no webviews — which is what makes the rules +//! testable, and they are the rules the whole app is judged on. + +use serde::{Deserialize, Serialize}; +use url::Url; + +/// Hosts that always stay inside the app, whichever app is showing. +/// +/// A "Sign in with Google" button is a user click to a foreign host. Without +/// this list the ordinary rule hands it to the external browser, and the login +/// completes over there — in the one place whose cookies this app cannot see. +const IDENTITY_PROVIDERS: &[&str] = &[ + "accounts.google.com", + "accounts.youtube.com", + "login.microsoftonline.com", + "login.microsoft.com", + "login.live.com", + "login.windows.net", + "sts.windows.net", + "device.login.microsoftonline.com", + "okta.com", + "oktapreview.com", + "auth0.com", + "duosecurity.com", + "appleid.apple.com", + "signin.aws.amazon.com", + "accounts.zoho.com", + "id.atlassian.com", + "auth.atlassian.com", + "slack.com", + "onelogin.com", + "pingidentity.com", + "authsvc.teams.microsoft.com", +]; + +/// The scope of one configured app, as routing needs it. +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct AppScope { + pub id: String, + /// Hosts this app owns. A URL matches on an exact host or a subdomain. + pub scope: Vec, +} + +/// What to do with a URL a webview is about to open. +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +#[serde(tag = "kind", rename_all = "camelCase")] +pub enum Decision { + /// Let the current webview have it. + Stay, + /// Another configured app owns this host: switch to it and navigate there. + Switch { app_id: String, url: String }, + /// Not ours. Hand it to the default browser. + External { url: String }, +} + +/// True when `host` is `scope` or a subdomain of it. +/// +/// Written out rather than a suffix test, because `evilgoogle.com` ends with +/// `google.com` and must not match it. +pub fn host_matches(host: &str, scope: &str) -> bool { + let host = host.trim_start_matches("www.").to_ascii_lowercase(); + let scope = scope.trim_start_matches("www.").to_ascii_lowercase(); + host == scope || host.ends_with(&format!(".{scope}")) +} + +fn is_identity_provider(host: &str) -> bool { + IDENTITY_PROVIDERS.iter().any(|p| host_matches(host, p)) +} + +/// The app whose scope matches `host` most specifically. +/// +/// Longest match wins, so an app scoped to `mail.google.com` beats one scoped +/// to `google.com` for a Gmail URL rather than the answer depending on order. +fn best_match<'a>(host: &str, apps: &'a [AppScope]) -> Option<&'a AppScope> { + apps.iter() + .filter_map(|a| { + a.scope + .iter() + .filter(|s| host_matches(host, s)) + .map(|s| s.len()) + .max() + .map(|len| (len, a)) + }) + .max_by_key(|(len, _)| *len) + .map(|(_, a)| a) +} + +/// Decide where `url` opens, given which app is showing. +/// +/// `current` is the id of the app the click came from; `None` means the +/// decision is being made outside any app. +pub fn decide(url: &str, current: Option<&str>, apps: &[AppScope]) -> Decision { + let Ok(parsed) = Url::parse(url) else { + return Decision::External { url: url.to_string() }; + }; + + // mailto:, tel:, zoommtg: and friends are for the OS to place, not us. + if !matches!(parsed.scheme(), "http" | "https") { + return Decision::External { url: url.to_string() }; + } + + let Some(host) = parsed.host_str() else { + return Decision::External { url: url.to_string() }; + }; + + // The app showing right now gets first refusal, so an app whose scope + // overlaps another's never steals its own internal navigation. + if let Some(id) = current { + if let Some(app) = apps.iter().find(|a| a.id == id) { + if app.scope.iter().any(|s| host_matches(host, s)) { + return Decision::Stay; + } + } + } + + if is_identity_provider(host) { + return Decision::Stay; + } + + match best_match(host, apps) { + Some(app) => Decision::Switch { + app_id: app.id.clone(), + url: url.to_string(), + }, + None => Decision::External { url: url.to_string() }, + } +} + +#[cfg(test)] +mod tests { + use super::*; + + fn apps() -> Vec { + vec![ + AppScope { id: "gmail".into(), scope: vec!["mail.google.com".into()] }, + AppScope { id: "drive".into(), scope: vec!["drive.google.com".into()] }, + AppScope { id: "google".into(), scope: vec!["google.com".into()] }, + AppScope { id: "gh".into(), scope: vec!["github.com".into()] }, + ] + } + + #[test] + fn host_matches_exact_and_subdomain() { + assert!(host_matches("github.com", "github.com")); + assert!(host_matches("gist.github.com", "github.com")); + assert!(host_matches("www.github.com", "github.com")); + } + + #[test] + fn host_matches_rejects_suffix_lookalikes() { + assert!(!host_matches("evilgithub.com", "github.com")); + assert!(!host_matches("github.com.evil.net", "github.com")); + } + + #[test] + fn stays_within_the_current_app() { + let d = decide("https://mail.google.com/mail/u/0/#inbox", Some("gmail"), &apps()); + assert_eq!(d, Decision::Stay); + } + + #[test] + fn switches_to_the_app_that_owns_the_host() { + let d = decide("https://drive.google.com/file/d/123", Some("gmail"), &apps()); + assert_eq!( + d, + Decision::Switch { app_id: "drive".into(), url: "https://drive.google.com/file/d/123".into() } + ); + } + + #[test] + fn longest_scope_wins_over_a_broader_one() { + // Both `google.com` and `mail.google.com` match; the specific app must win. + let d = decide("https://mail.google.com/", Some("gh"), &apps()); + assert!(matches!(d, Decision::Switch { ref app_id, .. } if app_id == "gmail")); + } + + #[test] + fn unknown_hosts_leave_for_the_browser() { + let d = decide("https://news.ycombinator.com/", Some("gh"), &apps()); + assert_eq!(d, Decision::External { url: "https://news.ycombinator.com/".into() }); + } + + #[test] + fn identity_providers_stay_inside() { + // Otherwise every SSO login completes in a browser this app cannot read. + let d = decide("https://accounts.google.com/o/oauth2/auth?x=1", Some("gh"), &apps()); + assert_eq!(d, Decision::Stay); + } + + #[test] + fn non_web_schemes_go_to_the_os() { + let d = decide("mailto:someone@example.com", Some("gmail"), &apps()); + assert!(matches!(d, Decision::External { .. })); + } + + #[test] + fn garbage_urls_do_not_panic() { + assert!(matches!(decide("not a url", None, &apps()), Decision::External { .. })); + } + + #[test] + fn current_app_wins_even_when_another_scope_is_longer() { + // `google` is showing and clicks a google.com link: it keeps it, rather + // than the more specific gmail app stealing an internal navigation. + let d = decide("https://google.com/search?q=x", Some("google"), &apps()); + assert_eq!(d, Decision::Stay); + } +} diff --git a/src-tauri/src/webviews.rs b/src-tauri/src/webviews.rs new file mode 100644 index 0000000..822c689 --- /dev/null +++ b/src-tauri/src/webviews.rs @@ -0,0 +1,279 @@ +//! One child webview per configured app, stacked in the stage rect. +//! +//! Child webviews are native views layered above the shell's content. They take +//! no part in CSS layout, so the shell measures the stage and reports it here, +//! and anything the shell wants to draw over an app (a dialog) requires hiding +//! the app first. + +use serde::Serialize; +use tauri::{ + AppHandle, Emitter, LogicalPosition, LogicalSize, Manager, WebviewUrl, + webview::{NewWindowResponse, WebviewBuilder}, +}; +use url::Url; + +use crate::config::{App, Config}; +use crate::routing::{self, AppScope, Decision}; + +/// Scheme the injected interceptor uses to hand a URL back for a decision. +/// +/// A made-up scheme rather than Tauri IPC: IPC to a remote origin means +/// granting google.com the ability to call into this app, and routing a link +/// does not need anything that dangerous. `on_navigation` sees this, answers +/// it, and cancels the navigation — so nothing ever loads. +const ROUTE_SCHEME: &str = "workapp-route"; + +pub fn label_for(app_id: &str) -> String { + format!("app-{app_id}") +} + +#[derive(Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct SwitchEvent { + pub app_id: String, + pub url: String, +} + +#[derive(Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct UrlEvent { + pub app_id: String, + pub url: String, +} + +/// The click interceptor, specialised for one app's scope. +/// +/// It only decides *intent*: a link the user clicked that leaves this app's +/// hosts is prevented and handed to Rust. Redirects, form posts and OAuth +/// bounces are untouched, which is what keeps sign-in flows alive. +fn interceptor_script(scopes: &[String]) -> String { + let json = serde_json::to_string(scopes).unwrap_or_else(|_| "[]".into()); + format!( + r#"(function () {{ + if (window.__workAppRouter) return; + window.__workAppRouter = true; + var SCOPES = {json}; + + function abs(href) {{ try {{ return new URL(href, document.baseURI).href; }} catch (e) {{ return null; }} }} + function inScope(u) {{ + try {{ + var h = new URL(u).hostname.replace(/^www\./, '').toLowerCase(); + return SCOPES.some(function (s) {{ + s = String(s).replace(/^www\./, '').toLowerCase(); + return h === s || h.endsWith('.' + s); + }}); + }} catch (e) {{ return false; }} + }} + function ask(u) {{ + try {{ window.location.href = '{scheme}:/?u=' + encodeURIComponent(u); }} catch (e) {{}} + }} + + document.addEventListener('click', function (e) {{ + if (e.defaultPrevented || e.button !== 0) return; + if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) return; + var a = e.target && e.target.closest ? e.target.closest('a[href]') : null; + if (!a) return; + var href = a.getAttribute('href'); + if (!href || href.charAt(0) === '#') return; + if (/^(javascript|blob|data):/i.test(href)) return; + var u = abs(href); + if (!u) return; + + if (inScope(u)) {{ + // Our own host. A new-tab link has nowhere to go in a tabless app, so + // it takes over this view rather than being swallowed. + if (a.target === '_blank') {{ e.preventDefault(); window.location.href = u; }} + return; + }} + e.preventDefault(); + e.stopPropagation(); + ask(u); + }}, true); + + var nativeOpen = window.open; + window.open = function (url) {{ + if (!url) return null; + var u = abs(url); + if (!u) return null; + if (inScope(u)) {{ window.location.href = u; return null; }} + ask(u); + return null; + }}; + void nativeOpen; +}})();"#, + json = json, + scheme = ROUTE_SCHEME + ) +} + +/// Pulls the URL back out of a `workapp-route:/?u=…` sentinel. +pub fn route_target(url: &Url) -> Option { + if url.scheme() != ROUTE_SCHEME { + return None; + } + url.query_pairs() + .find(|(k, _)| k == "u") + .map(|(_, v)| v.to_string()) +} + +/// Acts on a decision. Called off the navigation delegate, never on it. +fn apply(handle: &AppHandle, from: &str, decision: Decision) { + match decision { + // Only an identity provider reaches here, and the click that produced + // it was already cancelled — so this view has to be sent there. + Decision::Stay => {} + Decision::Switch { app_id, url } => { + let _ = handle.emit("switch-app", SwitchEvent { app_id, url }); + } + Decision::External { url } => { + let _ = tauri_plugin_opener::open_url(url, None::<&str>); + } + } + let _ = from; +} + +/// Handles a sentinel URL: decide, then act without blocking the delegate. +fn handle_route(handle: &AppHandle, from: &str, target: String, scopes: Vec) { + let handle = handle.clone(); + let from = from.to_string(); + tauri::async_runtime::spawn(async move { + match routing::decide(&target, Some(&from), &scopes) { + Decision::Stay => { + // The click was cancelled to ask the question, so completing it + // is now this side's job. + if let Some(wv) = handle.get_webview(&label_for(&from)) { + if let Ok(u) = Url::parse(&target) { + let _ = wv.navigate(u); + } + } + } + other => apply(&handle, &from, other), + } + }); +} + +/// Builds the child webview for one app and parks it in the stage rect. +pub fn create(handle: &AppHandle, app: &App, cfg: &Config, stage: (f64, f64, f64, f64)) -> Result<(), String> { + let window = handle + .get_window("main") + .ok_or_else(|| "main window is gone".to_string())?; + + let url = Url::parse(&app.url).map_err(|e| format!("{}: {e}", app.url))?; + let id = app.id.clone(); + let scopes = cfg.scopes(); + + let nav_handle = handle.clone(); + let nav_id = id.clone(); + let nav_scopes = scopes.clone(); + + let win_handle = handle.clone(); + let win_id = id.clone(); + let win_scopes = scopes.clone(); + + let builder = WebviewBuilder::new(label_for(&id), WebviewUrl::External(url)) + .user_agent(&app.ua()) + .initialization_script(interceptor_script(&app.scopes())) + .on_navigation(move |url| { + // The sentinel is a question, not a destination: answer it and + // cancel. Everything else is allowed — a strict filter here would + // break every OAuth redirect chain. + if let Some(target) = route_target(url) { + handle_route(&nav_handle, &nav_id, target, nav_scopes.clone()); + return false; + } + let _ = nav_handle.emit( + "url-changed", + UrlEvent { app_id: nav_id.clone(), url: url.to_string() }, + ); + true + }) + .on_new_window(move |url, _features| { + // Nothing may open a window of its own; the same rules apply. + let decision = routing::decide(url.as_str(), Some(&win_id), &win_scopes); + match decision { + Decision::Stay => { + if let Some(wv) = win_handle.get_webview(&label_for(&win_id)) { + let _ = wv.navigate(url); + } + } + other => apply(&win_handle, &win_id, other), + } + NewWindowResponse::Deny + }); + + window + .add_child( + builder, + LogicalPosition::new(stage.0, stage.1), + LogicalSize::new(stage.2, stage.3), + ) + .map_err(|e| e.to_string())?; + + // Created hidden. `show` is what puts one on screen, so startup does not + // flash every app in turn as they are built. + if let Some(wv) = handle.get_webview(&label_for(&id)) { + let _ = wv.hide(); + } + Ok(()) +} + +/// Shows one app and hides the rest, sizing it to the stage. +pub fn show_only(handle: &AppHandle, app_id: Option<&str>, cfg: &Config, stage: (f64, f64, f64, f64)) { + for app in &cfg.apps { + let Some(wv) = handle.get_webview(&label_for(&app.id)) else { continue }; + if Some(app.id.as_str()) == app_id { + let _ = wv.set_position(LogicalPosition::new(stage.0, stage.1)); + let _ = wv.set_size(LogicalSize::new(stage.2, stage.3)); + let _ = wv.show(); + } else { + let _ = wv.hide(); + } + } +} + +/// Re-sizes whichever app is showing. Called on every layout change. +pub fn set_stage(handle: &AppHandle, active: Option<&str>, stage: (f64, f64, f64, f64)) { + let Some(id) = active else { return }; + let Some(wv) = handle.get_webview(&label_for(id)) else { return }; + let _ = wv.set_position(LogicalPosition::new(stage.0, stage.1)); + let _ = wv.set_size(LogicalSize::new(stage.2, stage.3)); +} + +/// Hides every app webview, so the shell can draw over the whole window. +pub fn hide_all(handle: &AppHandle, cfg: &Config) { + for app in &cfg.apps { + if let Some(wv) = handle.get_webview(&label_for(&app.id)) { + let _ = wv.hide(); + } + } +} + +pub fn destroy(handle: &AppHandle, app_id: &str) { + if let Some(wv) = handle.get_webview(&label_for(app_id)) { + let _ = wv.close(); + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn route_target_round_trips_a_url_with_a_query() { + let u = Url::parse("workapp-route:/?u=https%3A%2F%2Fx.com%2Fa%3Fb%3D1%26c%3D2").unwrap(); + assert_eq!(route_target(&u).unwrap(), "https://x.com/a?b=1&c=2"); + } + + #[test] + fn ordinary_urls_are_not_sentinels() { + let u = Url::parse("https://github.com/?u=x").unwrap(); + assert!(route_target(&u).is_none()); + } + + #[test] + fn the_script_carries_the_apps_own_scope() { + let s = interceptor_script(&["mail.google.com".into()]); + assert!(s.contains("mail.google.com")); + assert!(s.contains("workapp-route:/?u=")); + } +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json new file mode 100644 index 0000000..ef3ee6d --- /dev/null +++ b/src-tauri/tauri.conf.json @@ -0,0 +1,39 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "Work", + "version": "0.1.0", + "identifier": "com.vincent.workapp", + "build": { + "beforeDevCommand": "npm run dev", + "devUrl": "http://localhost:1420", + "beforeBuildCommand": "npm run build", + "frontendDist": "../dist" + }, + "app": { + "windows": [ + { + "label": "main", + "title": "Work", + "width": 1440, + "height": 900, + "minWidth": 900, + "minHeight": 600, + "center": true, + "titleBarStyle": "Overlay", + "hiddenTitle": true + } + ], + "security": { "csp": null } + }, + "bundle": { + "active": true, + "targets": ["app"], + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } +} diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..1c367df --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,179 @@ +import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react"; +import { listen } from "@tauri-apps/api/event"; + +import * as api from "./api"; +import Nav, { navWidth } from "./components/Nav"; +import Settings from "./components/Settings"; +import TopBar from "./components/TopBar"; +import { BTN_PRIMARY } from "./components/ui"; +import { useAppearance, type Theme } from "./hooks/useAppearance"; +import type { Config, Group, SwitchEvent, UrlEvent } from "./types"; + +export default function App() { + const [config, setConfig] = useState(null); + const [activeId, setActiveId] = useState(null); + const [url, setUrl] = useState(null); + const [settingsOpen, setSettingsOpen] = useState(false); + const [theme, setTheme] = useAppearance("system"); + + const stageRef = useRef(null); + const booted = useRef(false); + // Read inside listeners, which are registered once and would otherwise + // capture the first render's value forever. + const activeRef = useRef(null); + activeRef.current = activeId; + + const collapsed = config?.settings.navCollapsed ?? false; + const activeApp = config?.apps.find((a) => a.id === activeId) ?? null; + + useEffect(() => { + api.getConfig().then((c) => { + setConfig(c); + setTheme(c.settings.theme); + const first = [...c.apps].sort((a, b) => a.order - b.order)[0]; + setActiveId(first?.id ?? null); + }); + }, [setTheme]); + + /** + * Tells Rust where the stage is. + * + * An app's webview is a native view that takes no part in CSS layout, so the + * only way it lands in the right place is for the shell to measure the hole + * it left and report it. + */ + const report = useCallback(() => { + const el = stageRef.current; + if (!el) return; + const r = el.getBoundingClientRect(); + void api.setStage(r.x, r.y, r.width, r.height); + }, []); + + useLayoutEffect(() => { + const el = stageRef.current; + if (!el || !config) return; + report(); + const ro = new ResizeObserver(report); + ro.observe(el); + window.addEventListener("resize", report); + return () => { + ro.disconnect(); + window.removeEventListener("resize", report); + }; + }, [config, report]); + + // Webviews are built only once the stage has been measured, so they are born + // at the right size instead of against a guess. + useEffect(() => { + if (!config || booted.current || config.apps.length === 0) return; + booted.current = true; + report(); + void api.bootstrap(); + }, [config, report]); + + useEffect(() => { + if (!activeId) return; + void api.setActive(activeId); + void api.currentUrl(activeId).then(setUrl); + }, [activeId]); + + // A link in one app that points at another: Rust decided, the shell moves. + useEffect(() => { + const unlisten = [ + listen("switch-app", async (e) => { + setActiveId(e.payload.appId); + await api.navigateApp(e.payload.appId, e.payload.url); + }), + listen("url-changed", (e) => { + if (e.payload.appId === activeRef.current) setUrl(e.payload.url); + }), + ]; + return () => { + unlisten.forEach((p) => p.then((f) => f())); + }; + }, []); + + // A native view paints over anything the shell draws, so a dialog needs the + // stage out of the way rather than merely on a higher z-index. + useEffect(() => { + if (!config) return; + void (settingsOpen ? api.hideStage() : api.showStage()); + }, [settingsOpen, config]); + + const toggleCollapse = () => { + if (!config) return; + const next = !collapsed; + setConfig({ ...config, settings: { ...config.settings, navCollapsed: next } }); + void api.setNavCollapsed(next); + }; + + const toggleGroup = (g: Group) => { + if (!config) return; + const updated = { ...g, collapsed: !g.collapsed }; + setConfig({ + ...config, + groups: config.groups.map((x) => (x.id === g.id ? updated : x)), + }); + void api.updateGroup(updated); + }; + + const onTheme = (t: Theme) => { + setTheme(t); + void api.setTheme(t); + }; + + if (!config) return null; + + return ( +

+ ); +} diff --git a/src/api.ts b/src/api.ts new file mode 100644 index 0000000..50abd06 --- /dev/null +++ b/src/api.ts @@ -0,0 +1,37 @@ +/** Every call into Rust, in one place. */ +import { invoke } from "@tauri-apps/api/core"; + +import type { Config, Group, WorkApp } from "./types"; + +export const getConfig = () => invoke("get_config"); +export const bootstrap = () => invoke("bootstrap"); + +export const setStage = (x: number, y: number, width: number, height: number) => + invoke("set_stage", { x, y, width, height }); + +export const setActive = (appId: string) => invoke("set_active", { appId }); +export const hideStage = () => invoke("hide_stage"); +export const showStage = () => invoke("show_stage"); + +export const navigateApp = (appId: string, url: string) => + invoke("navigate_app", { appId, url }); +export const historyGo = (appId: string, delta: number) => + invoke("history_go", { appId, delta }); +export const currentUrl = (appId: string) => + invoke("current_url", { appId }); +export const openExternal = (url: string) => invoke("open_external", { url }); + +export const addApp = (name: string, url: string, groupId: string | null) => + invoke("add_app", { name, url, groupId }); +export const updateApp = (updated: WorkApp) => invoke("update_app", { updated }); +export const deleteApp = (appId: string) => invoke("delete_app", { appId }); +export const reorderApps = (ordering: [string, string | null, number][]) => + invoke("reorder_apps", { ordering }); + +export const addGroup = (name: string) => invoke("add_group", { name }); +export const updateGroup = (updated: Group) => invoke("update_group", { updated }); +export const deleteGroup = (groupId: string) => invoke("delete_group", { groupId }); + +export const setNavCollapsed = (collapsed: boolean) => + invoke("set_nav_collapsed", { collapsed }); +export const setTheme = (theme: string) => invoke("set_theme", { theme }); diff --git a/src/components/Nav.tsx b/src/components/Nav.tsx new file mode 100644 index 0000000..f4524ef --- /dev/null +++ b/src/components/Nav.tsx @@ -0,0 +1,185 @@ +import type { Config, Group, WorkApp } from "../types"; +import { Favicon, HEADING, ICON_CHROME } from "./ui"; + +interface Props { + config: Config; + activeId: string | null; + collapsed: boolean; + onSelect: (id: string) => void; + onToggleCollapse: () => void; + onOpenSettings: () => void; + onToggleGroup: (g: Group) => void; +} + +const RAIL = 52; +const PANEL = 240; +export const navWidth = (collapsed: boolean) => (collapsed ? RAIL : PANEL); + +function Chevron({ dir }: { dir: "left" | "right" }) { + return ( + + + + ); +} + +function Cog() { + return ( + + + + + ); +} + +export default function Nav({ + config, + activeId, + collapsed, + onSelect, + onToggleCollapse, + onOpenSettings, + onToggleGroup, +}: Props) { + const groups = [...config.groups].sort((a, b) => a.order - b.order); + const inGroup = (id: string | null) => + config.apps.filter((a) => a.groupId === id).sort((a, b) => a.order - b.order); + const ungrouped = inGroup(null); + + const shell = + "flex shrink-0 flex-col overflow-hidden border-r border-slate-300 bg-white " + + "dark:border-slate-800 dark:bg-slate-900"; + + // ------------------------------------------------------------ icon rail + if (collapsed) { + const railBtn = (app: WorkApp) => { + const active = app.id === activeId; + return ( + + ); + }; + + return ( + + ); + } + + // -------------------------------------------------------------- panel + const row = + "flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-1.5 text-[13px] transition-colors"; + const inactive = + "text-slate-600 hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-800"; + const active = "bg-slate-900 text-white dark:bg-white dark:text-slate-900"; + + const appRow = (app: WorkApp) => ( +
  • + +
  • + ); + + return ( + + ); +} diff --git a/src/components/Settings.tsx b/src/components/Settings.tsx new file mode 100644 index 0000000..a916be1 --- /dev/null +++ b/src/components/Settings.tsx @@ -0,0 +1,265 @@ +import { useState } from "react"; + +import * as api from "../api"; +import type { Config, Group, WorkApp } from "../types"; +import type { Theme } from "../hooks/useAppearance"; +import { + BTN, + BTN_PRIMARY, + Dialog, + Favicon, + HELP, + ICON_CHROME, + INPUT, + LABEL, + SectionHeading, + Segmented, + SUBPANEL, +} from "./ui"; + +interface Props { + config: Config; + theme: Theme; + onConfig: (c: Config) => void; + onTheme: (t: Theme) => void; + onClose: () => void; +} + +function TrashIcon() { + return ( + + + + + + ); +} + +export default function Settings({ config, theme, onConfig, onTheme, onClose }: Props) { + const [name, setName] = useState(""); + const [url, setUrl] = useState(""); + const [groupId, setGroupId] = useState(""); + const [groupName, setGroupName] = useState(""); + const [error, setError] = useState(null); + const [confirmDelete, setConfirmDelete] = useState(null); + + const groups = [...config.groups].sort((a, b) => a.order - b.order); + + const run = async (fn: () => Promise) => { + try { + onConfig(await fn()); + setError(null); + } catch (e) { + setError(String(e)); + } + }; + + const addApp = async () => { + if (!name.trim() || !url.trim()) return; + await run(() => api.addApp(name, url, groupId || null)); + setName(""); + setUrl(""); + }; + + const addGroup = async () => { + if (!groupName.trim()) return; + await run(() => api.addGroup(groupName)); + setGroupName(""); + }; + + const patch = (app: WorkApp, fields: Partial) => + run(() => api.updateApp({ ...app, ...fields })); + + return ( + <> + }> +
    + {error && ( +

    + {error} +

    + )} + + {/* ----------------------------------------------------- apps */} +
    + Apps +
    + {config.apps.length === 0 && ( +

    Nothing yet. Add the first one below.

    + )} + {[...config.apps] + .sort((a, b) => a.order - b.order) + .map((app) => ( +
    + + patch(app, { name: e.target.value })} + className={`${INPUT} h-[26px] flex-1`} + /> + patch(app, { url: e.target.value })} + title="Changing this rebuilds the app's view" + className={`${INPUT} h-[26px] flex-[1.4] font-mono text-[11px]`} + /> + + +
    + ))} +
    + +
    + + + + +
    +

    + An app owns its URL's host. Links to any other app on this list switch to it; + everything else opens in your browser. +

    +
    + + {/* --------------------------------------------------- groups */} +
    + Groups +
    + {groups.length === 0 &&

    No groups yet.

    } + {groups.map((g: Group) => ( +
    + + run(() => api.updateGroup({ ...g, name: e.target.value })) + } + className={`${INPUT} h-[26px] flex-1`} + /> + + {config.apps.filter((a) => a.groupId === g.id).length} apps + + +
    + ))} +
    +
    + + +
    +
    + + {/* ----------------------------------------------- appearance */} +
    + Appearance + + value={theme} + onChange={onTheme} + options={[ + { value: "system", label: "System" }, + { value: "light", label: "Light" }, + { value: "dark", label: "Dark" }, + ]} + /> +
    + +
    + +
    +
    +
    + + {confirmDelete && ( + setConfirmDelete(null)} + onConfirm={async () => { + await run(() => api.deleteApp(confirmDelete.id)); + setConfirmDelete(null); + }} + confirmLabel="Remove" + destructive + > + It disappears from the nav and its view is closed. The session it holds for{" "} + {confirmDelete.url} is kept, so + adding it back does not mean logging in again. + + )} + + ); +} diff --git a/src/components/TopBar.tsx b/src/components/TopBar.tsx new file mode 100644 index 0000000..b55e49f --- /dev/null +++ b/src/components/TopBar.tsx @@ -0,0 +1,75 @@ +import { ICON_CHROME } from "./ui"; + +interface Props { + url: string | null; + appName: string | null; + onBack: () => void; + onForward: () => void; + onReload: () => void; + onOpenExternal: () => void; +} + +/** Reserves the strip the macOS traffic lights sit in. */ +const TRAFFIC_LIGHTS = 78; + +function Icon({ d }: { d: string }) { + return ( + + + + ); +} + +/** + * Browser chrome, kept to the four things a tabless app still needs. It spans + * the whole window rather than sitting inside the stage, so the traffic lights + * have somewhere to live no matter how narrow the nav gets. + */ +export default function TopBar({ + url, + appName, + onBack, + onForward, + onReload, + onOpenExternal, +}: Props) { + return ( +
    + + + + +
    + {appName && ( + + {appName} + + )} + {url ?? ""} +
    + + +
    + ); +} diff --git a/src/components/ui.tsx b/src/components/ui.tsx new file mode 100644 index 0000000..b3ffc67 --- /dev/null +++ b/src/components/ui.tsx @@ -0,0 +1,233 @@ +/** + * The design system's component vocabulary, in one place. Every other file + * composes these rather than re-spelling the class strings. + * + * Ported from FlightTube: slate and sky, a 9–15px type ladder, outline-first + * controls, borders for separation and shadows only for elevation. + */ +import type { ReactNode } from "react"; + +/** Every control in the app is this tall, so a row of mixed ones lines up. */ +export const CONTROL_H = "h-[30px]"; + +export const ICON_BTN = + `grid ${CONTROL_H} w-[30px] shrink-0 place-items-center rounded-lg cursor-pointer ` + + "disabled:cursor-not-allowed disabled:opacity-40"; + +export const HEADING = + "text-[11px] font-bold uppercase tracking-widest text-slate-500 dark:text-slate-400"; +export const LABEL = "text-[12px] text-slate-500 dark:text-slate-400"; +export const HELP = "text-[11px] leading-snug text-slate-500 dark:text-slate-400"; +export const SECTION = "border-b border-slate-200 px-4 py-4 dark:border-slate-800"; +export const INPUT = + `w-full ${CONTROL_H} rounded-lg border border-slate-300 bg-white px-3 text-[12px] outline-none ` + + "placeholder:text-slate-400 dark:border-slate-700 dark:bg-slate-800 dark:placeholder:text-slate-500"; +export const SUBPANEL = "rounded-lg bg-slate-50 p-3 dark:bg-slate-800/50"; + +const BTN_BASE = + `inline-flex ${CONTROL_H} items-center justify-center rounded-lg text-[12px] ` + + "disabled:cursor-not-allowed cursor-pointer"; + +export const BTN = + `${BTN_BASE} border border-slate-300 px-2.5 font-medium ` + + "hover:border-sky-500 hover:text-sky-600 disabled:opacity-40 " + + "dark:border-slate-700 dark:hover:border-sky-500 dark:hover:text-sky-400"; + +export const BTN_PRIMARY = + `${BTN_BASE} bg-sky-500 px-3 font-semibold text-white hover:bg-sky-400 disabled:opacity-40`; + +export const BTN_DANGER = + `${BTN_BASE} bg-red-600 px-3 font-semibold text-white hover:bg-red-500`; + +/** Header actions: quieter than a secondary button, still a real target. */ +export const BTN_CHROME = + `inline-flex ${CONTROL_H} items-center rounded-lg px-2 text-[12px] font-medium text-slate-500 ` + + "cursor-pointer hover:bg-slate-100 hover:text-slate-900 disabled:opacity-40 " + + "disabled:hover:bg-transparent dark:text-slate-400 dark:hover:bg-slate-800 dark:hover:text-white"; + +export const BTN_QUIET = + "text-[11px] text-slate-500 underline underline-offset-2 cursor-pointer " + + "hover:text-sky-600 dark:text-slate-400 dark:hover:text-sky-400"; + +/** Icon-button skin used throughout the chrome. */ +export const ICON_CHROME = + `${ICON_BTN} text-slate-500 hover:bg-slate-100 hover:text-slate-900 ` + + "dark:text-slate-400 dark:hover:bg-slate-800 dark:hover:text-white"; + +export function SectionHeading({ children }: { children: ReactNode }) { + return

    {children}

    ; +} + +/** Bordered container, borderless children — the group's outline does the framing. */ +export function Segmented({ + options, + value, + onChange, +}: { + options: Array<{ value: T; label: ReactNode; title?: string }>; + value: T; + onChange: (v: T) => void; +}) { + return ( +
    + {options.map((o) => { + const active = o.value === value; + return ( + + ); + })} +
    + ); +} + +/** States a fact in passing — a quality, a status. Never a control. */ +export function Badge({ + children, + tone = "neutral", + title, +}: { + children: ReactNode; + tone?: "neutral" | "accent" | "danger"; + title?: string; +}) { + const skin = + tone === "accent" + ? "bg-sky-500/15 text-sky-700 dark:text-sky-300" + : tone === "danger" + ? "bg-red-500/15 text-red-600 dark:text-red-400" + : "bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-300"; + return ( + + {children} + + ); +} + +/** A modal for anything needing a decision or reporting a failure. */ +export function Dialog({ + title, + children, + onCancel, + confirmLabel, + onConfirm, + destructive, + wide, + footer, +}: { + title: string; + children: ReactNode; + onCancel: () => void; + confirmLabel?: string; + onConfirm?: () => void; + destructive?: boolean; + wide?: boolean; + footer?: ReactNode; +}) { + return ( +
    +
    e.stopPropagation()} + className={`w-full ${wide ? "max-w-2xl max-h-[82vh] overflow-y-auto" : "max-w-sm"} + rounded-2xl border border-slate-300 bg-white p-5 shadow-2xl + dark:border-slate-700 dark:bg-slate-900`} + > +

    {title}

    +
    + {children} +
    + {footer ?? ( +
    + + {onConfirm && ( + + )} +
    + )} +
    +
    + ); +} + +/** + * An app's mark. Google's favicon service is used rather than the site's own + * /favicon.ico, because many work tools sit behind a login that would return + * the sign-in page's icon — or a 403 — to a request without a session. + */ +export function Favicon({ + url, + name, + size = 16, +}: { + url: string; + name: string; + size?: number; +}) { + let host = ""; + try { + host = new URL(url).hostname; + } catch { + host = ""; + } + const letter = name.trim().charAt(0).toUpperCase() || "?"; + return ( + + + {letter} + + {host && ( + { + // Leave the letter showing rather than a broken-image glyph. + e.currentTarget.style.display = "none"; + }} + /> + )} + + ); +} diff --git a/src/hooks/useAppearance.ts b/src/hooks/useAppearance.ts new file mode 100644 index 0000000..8406065 --- /dev/null +++ b/src/hooks/useAppearance.ts @@ -0,0 +1,29 @@ +import { useEffect, useState } from "react"; + +export type Theme = "system" | "light" | "dark"; + +/** + * Applies System / Light / Dark to the document. + * + * System is a live subscription rather than a read at startup: the OS can flip + * at sunset while the window is open. + */ +export function useAppearance(initial: Theme) { + const [theme, setTheme] = useState(initial); + + useEffect(() => setTheme(initial), [initial]); + + useEffect(() => { + const media = window.matchMedia("(prefers-color-scheme: dark)"); + const apply = () => { + const dark = theme === "dark" || (theme === "system" && media.matches); + document.documentElement.classList.toggle("dark", dark); + }; + apply(); + if (theme !== "system") return; + media.addEventListener("change", apply); + return () => media.removeEventListener("change", apply); + }, [theme]); + + return [theme, setTheme] as const; +} diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..655ae3d --- /dev/null +++ b/src/index.css @@ -0,0 +1,56 @@ +@import "tailwindcss"; + +/* Class-based dark mode, so the app can offer System / Light / Dark rather + than only following the OS. */ +@custom-variant dark (&:where(.dark, .dark *)); + +@layer base { + [hidden] { display: none !important; } + + /* It is a tool, not a document: dragging across it should not leave a + selection behind. Text fields opt back in. */ + html { -webkit-user-select: none; user-select: none; } + input, textarea, [contenteditable="true"] { -webkit-user-select: text; user-select: text; } + img, a { -webkit-user-drag: none; } + + /* No focus ring anywhere. :focus-visible has to go too — WebKit counts a + click on a select or checkbox as "focus worth showing" and draws its own, + which survives a :focus rule alone. */ + *, *::before, *::after, :focus, :focus-visible, :focus-within { + outline: none !important; + outline-offset: 0 !important; + -webkit-tap-highlight-color: transparent; + } + button:focus, button:focus-visible, select:focus, [contenteditable]:focus { + outline: none !important; + } + + html, body, #root { height: 100%; } + body { + margin: 0; + -webkit-font-smoothing: antialiased; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + background: var(--color-slate-100); + color: var(--color-slate-800); + } + .dark body { + background: var(--color-slate-950); + color: var(--color-slate-100); + } + + /* Borders do the separating; the scrollbar should not compete. */ + ::-webkit-scrollbar { width: 10px; height: 10px; } + ::-webkit-scrollbar-track { background: transparent; } + ::-webkit-scrollbar-thumb { + background: var(--color-slate-300); + border-radius: 9999px; + border: 3px solid transparent; + background-clip: content-box; + } + .dark ::-webkit-scrollbar-thumb { + background: var(--color-slate-700); + background-clip: content-box; + } +} diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..421571c --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,11 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; + +import App from "./App"; +import "./index.css"; + +ReactDOM.createRoot(document.getElementById("root")!).render( + + + , +); diff --git a/src/types.ts b/src/types.ts new file mode 100644 index 0000000..82a91b2 --- /dev/null +++ b/src/types.ts @@ -0,0 +1,41 @@ +export interface WorkApp { + id: string; + name: string; + url: string; + scope: string[]; + groupId: string | null; + userAgent: string | null; + order: number; +} + +export interface Group { + id: string; + name: string; + collapsed: boolean; + order: number; +} + +export interface Settings { + navCollapsed: boolean; + theme: "system" | "light" | "dark"; + pairedBrowser: string | null; + lastPairedAt: string | null; +} + +export interface Config { + version: number; + groups: Group[]; + apps: WorkApp[]; + settings: Settings; +} + +/** Rust asked the shell to switch apps because a link pointed at another one. */ +export interface SwitchEvent { + appId: string; + url: string; +} + +export interface UrlEvent { + appId: string; + url: string; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3934b8f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..ed3c4bd --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true, + "emitDeclarationOnly": true, + "outDir": "./node_modules/.tmp" + }, + "include": [ + "vite.config.ts" + ] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..fea758c --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,18 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; +import tailwindcss from "@tailwindcss/vite"; + +// @ts-expect-error process is a nodejs global +const host = process.env.TAURI_DEV_HOST; + +export default defineConfig(async () => ({ + plugins: [react(), tailwindcss()], + clearScreen: false, + server: { + port: 1420, + strictPort: true, + host: host || false, + hmr: host ? { protocol: "ws", host, port: 1421 } : undefined, + watch: { ignored: ["**/src-tauri/**"] }, + }, +}));