diff --git a/apps/web/package.json b/apps/web/package.json
index 8256e86b..0a7e6c81 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -10,17 +10,17 @@
"astro": "astro"
},
"dependencies": {
- "@astrojs/check": "^0.4.1",
+ "@astrojs/check": "^0.5.10",
"@astrojs/tailwind": "^5.1.0",
- "@fontsource/geist-mono": "^5.0.1",
- "astro": "^4.4.9",
+ "@fontsource/geist-mono": "^5.0.2",
+ "astro": "^4.5.18",
"astro-seo-meta": "^4.1.0",
"astro-seo-schema": "^4.0.0",
"schema-dts": "^1.1.2",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
+ "tailwindcss": "^3.4.3",
+ "typescript": "^5.4.4"
},
"devDependencies": {
- "@tailwindcss/typography": "^0.5.10"
+ "@tailwindcss/typography": "^0.5.12"
}
}
diff --git a/package.json b/package.json
index a5db8a4e..e259654b 100644
--- a/package.json
+++ b/package.json
@@ -11,27 +11,26 @@
"tauri": "tauri"
},
"devDependencies": {
- "@biomejs/biome": "^1.5.3",
- "@tauri-apps/cli": "2.0.0-beta.6",
- "turbo": "^1.12.4"
+ "@biomejs/biome": "^1.6.4",
+ "@tauri-apps/cli": "2.0.0-beta.12",
+ "turbo": "^1.13.2"
},
"packageManager": "pnpm@8.9.0",
"engines": {
"node": ">=18"
},
"dependencies": {
- "@tauri-apps/api": "2.0.0-beta.3",
- "@tauri-apps/plugin-autostart": "2.0.0-beta.1",
- "@tauri-apps/plugin-clipboard-manager": "2.0.0-beta.1",
- "@tauri-apps/plugin-dialog": "2.0.0-beta.1",
- "@tauri-apps/plugin-fs": "2.0.0-beta.1",
- "@tauri-apps/plugin-http": "2.0.0-beta.1",
- "@tauri-apps/plugin-notification": "2.0.0-beta.1",
- "@tauri-apps/plugin-os": "2.0.0-beta.1",
- "@tauri-apps/plugin-process": "2.0.0-beta.1",
- "@tauri-apps/plugin-shell": "2.0.0-beta.1",
- "@tauri-apps/plugin-sql": "2.0.0-beta.1",
- "@tauri-apps/plugin-updater": "2.0.0-beta.1",
- "@tauri-apps/plugin-upload": "2.0.0-beta.1"
+ "@tauri-apps/api": "2.0.0-beta.7",
+ "@tauri-apps/plugin-autostart": "2.0.0-beta.2",
+ "@tauri-apps/plugin-clipboard-manager": "2.1.0-beta.0",
+ "@tauri-apps/plugin-dialog": "2.0.0-beta.2",
+ "@tauri-apps/plugin-fs": "2.0.0-beta.2",
+ "@tauri-apps/plugin-http": "2.0.0-beta.2",
+ "@tauri-apps/plugin-notification": "2.0.0-beta.2",
+ "@tauri-apps/plugin-os": "2.0.0-beta.2",
+ "@tauri-apps/plugin-process": "2.0.0-beta.2",
+ "@tauri-apps/plugin-shell": "2.0.0-beta.2",
+ "@tauri-apps/plugin-updater": "2.0.0-beta.2",
+ "@tauri-apps/plugin-upload": "2.0.0-beta.2"
}
}
diff --git a/packages/ark/package.json b/packages/ark/package.json
index d9253ec3..c7c444ab 100644
--- a/packages/ark/package.json
+++ b/packages/ark/package.json
@@ -4,7 +4,7 @@
"private": true,
"main": "./src/index.ts",
"dependencies": {
- "@getalby/sdk": "^3.3.1",
+ "@getalby/sdk": "^3.4.3",
"@lume/icons": "workspace:^",
"@lume/utils": "workspace:^",
"@radix-ui/react-avatar": "^1.0.4",
@@ -14,27 +14,28 @@
"@radix-ui/react-hover-card": "^1.0.7",
"@radix-ui/react-popover": "^1.0.7",
"@radix-ui/react-tooltip": "^1.0.7",
- "@tanstack/react-query": "^5.24.1",
+ "@tanstack/react-query": "^5.29.0",
+ "@tanstack/react-router": "^1.26.18",
"get-urls": "^12.1.0",
- "media-chrome": "^2.2.5",
+ "media-chrome": "^3.2.0",
"minidenticons": "^4.2.1",
- "nanoid": "^5.0.6",
+ "nanoid": "^5.0.7",
"qrcode.react": "^3.1.0",
"re-resizable": "^6.9.11",
"react": "^18.2.0",
"react-currency-input-field": "^3.8.0",
- "react-i18next": "^14.0.5",
+ "react-i18next": "^14.1.0",
"react-string-replace": "^1.1.1",
- "sonner": "^1.4.3",
- "string-strip-html": "^13.4.6",
- "virtua": "^0.27.5"
+ "sonner": "^1.4.41",
+ "string-strip-html": "^13.4.8",
+ "virtua": "^0.29.2"
},
"devDependencies": {
"@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
+ "@types/react": "^18.2.75",
+ "tailwindcss": "^3.4.3",
+ "typescript": "^5.4.4"
}
}
diff --git a/packages/ark/src/ark.ts b/packages/ark/src/ark.ts
index 1d05b220..d93dc3c7 100644
--- a/packages/ark/src/ark.ts
+++ b/packages/ark/src/ark.ts
@@ -4,19 +4,28 @@ import type {
Contact,
Event,
EventWithReplies,
+ Interests,
Keys,
+ LumeColumn,
Metadata,
+ Settings,
} from "@lume/types";
import { invoke } from "@tauri-apps/api/core";
import { open } from "@tauri-apps/plugin-dialog";
import { readFile } from "@tauri-apps/plugin-fs";
import { generateContentTags } from "@lume/utils";
+enum NSTORE_KEYS {
+ settings = "lume_user_settings",
+ interests = "lume_user_interests",
+ columns = "lume_user_columns",
+}
+
export class Ark {
- public accounts: Account[];
+ public windows: WebviewWindow[];
constructor() {
- this.accounts = [];
+ this.windows = [];
}
public async get_all_accounts() {
@@ -28,8 +37,6 @@ export class Ark {
for (const item of cmd) {
accounts.push({ npub: item.replace(".npub", "") });
}
-
- this.accounts = accounts;
return accounts;
}
} catch {
@@ -71,7 +78,7 @@ export class Ark {
public async save_account(nsec: string, password: string = "") {
try {
- const cmd: boolean = await invoke("save_key", {
+ const cmd: string = await invoke("save_key", {
nsec,
password,
});
@@ -126,21 +133,24 @@ export class Ark {
}
public async get_events(
- type: "local" | "global",
limit: number,
asOf?: number,
- dedup?: boolean,
+ contacts?: string[],
+ global?: boolean,
) {
try {
let until: string = undefined;
if (asOf && asOf > 0) until = asOf.toString();
+ const dedup = true;
const seenIds = new Set
();
const dedupQueue = new Set();
- const nostrEvents: Event[] = await invoke(`get_${type}_events`, {
+ const nostrEvents: Event[] = await invoke("get_events", {
limit,
until,
+ contacts,
+ global,
});
if (dedup) {
@@ -155,7 +165,6 @@ export class Ark {
dedupQueue.add(event.id);
break;
}
-
seenIds.add(tag);
}
}
@@ -172,6 +181,51 @@ export class Ark {
}
}
+ public async get_events_from_interests(
+ hashtags: string[],
+ limit: number,
+ asOf?: number,
+ global?: boolean,
+ ) {
+ let until: string = undefined;
+ if (asOf && asOf > 0) until = asOf.toString();
+
+ const dedup = true;
+ const seenIds = new Set();
+ const dedupQueue = new Set();
+
+ const nostrEvents: Event[] = await invoke("get_events_from_interests", {
+ hashtags,
+ limit,
+ until,
+ global,
+ });
+
+ if (dedup) {
+ for (const event of nostrEvents) {
+ const tags = event.tags
+ .filter((el) => el[0] === "e")
+ ?.map((item) => item[1]);
+
+ if (tags.length) {
+ for (const tag of tags) {
+ if (seenIds.has(tag)) {
+ dedupQueue.add(event.id);
+ break;
+ }
+ seenIds.add(tag);
+ }
+ }
+ }
+
+ return nostrEvents
+ .filter((event) => !dedupQueue.has(event.id))
+ .sort((a, b) => b.created_at - a.created_at);
+ }
+
+ return nostrEvents.sort((a, b) => b.created_at - a.created_at);
+ }
+
public async publish(content: string, reply_to?: string, quote?: boolean) {
try {
const g = await generateContentTags(content);
@@ -338,6 +392,25 @@ export class Ark {
}
}
+ public async create_profile(profile: Metadata) {
+ try {
+ const event: string = await invoke("create_profile", {
+ name: profile.name || "",
+ display_name: profile.display_name || "",
+ displayName: profile.display_name || "",
+ about: profile.about || "",
+ picture: profile.picture || "",
+ banner: profile.banner || "",
+ nip05: profile.nip05 || "",
+ lud16: profile.lud16 || "",
+ website: profile.website || "",
+ });
+ return event;
+ } catch (e) {
+ throw new Error(String(e));
+ }
+ }
+
public async get_contact_list() {
try {
const cmd: string[] = await invoke("get_contact_list");
@@ -499,87 +572,238 @@ export class Ark {
}
}
+ public async get_columns() {
+ try {
+ const cmd: string = await invoke("get_nstore", {
+ key: NSTORE_KEYS.columns,
+ });
+ const columns: LumeColumn[] = cmd ? JSON.parse(cmd) : [];
+ return columns;
+ } catch {
+ return [];
+ }
+ }
+
+ public async set_columns(columns: LumeColumn[]) {
+ try {
+ const cmd: string = await invoke("set_nstore", {
+ key: NSTORE_KEYS.columns,
+ content: JSON.stringify(columns),
+ });
+ return cmd;
+ } catch (e) {
+ throw new Error(e);
+ }
+ }
+
+ public async get_settings() {
+ try {
+ const cmd: string = await invoke("get_nstore", {
+ key: NSTORE_KEYS.settings,
+ });
+ const settings: Settings = cmd ? JSON.parse(cmd) : null;
+ return settings;
+ } catch {
+ const defaultSettings: Settings = {
+ autoUpdate: false,
+ enhancedPrivacy: false,
+ notification: false,
+ zap: false,
+ };
+ return defaultSettings;
+ }
+ }
+
+ public async set_settings(settings: Settings) {
+ try {
+ const cmd: string = await invoke("set_nstore", {
+ key: NSTORE_KEYS.settings,
+ content: JSON.stringify(settings),
+ });
+ return cmd;
+ } catch (e) {
+ throw new Error(e);
+ }
+ }
+
+ public async get_interest() {
+ try {
+ const cmd: string = await invoke("get_nstore", {
+ key: NSTORE_KEYS.interests,
+ });
+ const interests: Interests = cmd ? JSON.parse(cmd) : null;
+ return interests;
+ } catch {
+ return null;
+ }
+ }
+
+ public async set_interest(
+ words: string[],
+ users: string[],
+ hashtags: string[],
+ ) {
+ try {
+ const interests: Interests = {
+ words: words ?? [],
+ users: users ?? [],
+ hashtags: hashtags ?? [],
+ };
+ const cmd: string = await invoke("set_nstore", {
+ key: NSTORE_KEYS.interests,
+ content: JSON.stringify(interests),
+ });
+ return cmd;
+ } catch (e) {
+ throw new Error(String(e));
+ }
+ }
+
+ public async get_nstore(key: string) {
+ try {
+ const cmd: string = await invoke("get_nstore", {
+ key,
+ });
+ const parse: string | string[] = cmd ? JSON.parse(cmd) : null;
+ if (!parse.length) return null;
+ return parse;
+ } catch {
+ return null;
+ }
+ }
+
+ public async set_nstore(key: string, content: string) {
+ try {
+ const cmd: string = await invoke("set_nstore", {
+ key,
+ content,
+ });
+ return cmd;
+ } catch (e) {
+ throw new Error(String(e));
+ }
+ }
+
public open_thread(id: string) {
- return new WebviewWindow(`event-${id}`, {
- title: "Thread",
- url: `/events/${id}`,
- minWidth: 500,
- width: 600,
- height: 800,
- hiddenTitle: true,
- titleBarStyle: "overlay",
- });
+ try {
+ const window = new WebviewWindow(`event-${id}`, {
+ title: "Thread",
+ url: `/events/${id}`,
+ minWidth: 500,
+ minHeight: 800,
+ width: 500,
+ height: 800,
+ hiddenTitle: true,
+ titleBarStyle: "overlay",
+ center: false,
+ });
+
+ this.windows.push(window);
+ } catch (e) {
+ throw new Error(String(e));
+ }
}
public open_profile(pubkey: string) {
- return new WebviewWindow(`user-${pubkey}`, {
- title: "Profile",
- url: `/users/${pubkey}`,
- minWidth: 500,
- width: 500,
- height: 800,
- hiddenTitle: true,
- titleBarStyle: "overlay",
- });
+ try {
+ const window = new WebviewWindow(`user-${pubkey}`, {
+ title: "Profile",
+ url: `/users/${pubkey}`,
+ minWidth: 500,
+ minHeight: 800,
+ width: 500,
+ height: 800,
+ hiddenTitle: true,
+ titleBarStyle: "overlay",
+ });
+
+ this.windows.push(window);
+ } catch (e) {
+ throw new Error(String(e));
+ }
}
public open_editor(reply_to?: string, quote: boolean = false) {
- let url: string;
+ try {
+ let url: string;
- if (reply_to) {
- url = `/editor?reply_to=${reply_to}"e=${quote}`;
- } else {
- url = "/editor";
+ if (reply_to) {
+ url = `/editor?reply_to=${reply_to}"e=${quote}`;
+ } else {
+ url = "/editor";
+ }
+
+ const window = new WebviewWindow(`editor-${reply_to ? reply_to : 0}`, {
+ title: "Editor",
+ url,
+ minWidth: 500,
+ minHeight: 400,
+ width: 600,
+ height: 400,
+ hiddenTitle: true,
+ titleBarStyle: "overlay",
+ });
+
+ this.windows.push(window);
+ } catch (e) {
+ throw new Error(String(e));
}
-
- return new WebviewWindow("editor", {
- title: "Editor",
- url,
- minWidth: 500,
- width: 600,
- height: 400,
- hiddenTitle: true,
- titleBarStyle: "overlay",
- fileDropEnabled: true,
- });
}
public open_nwc() {
- return new WebviewWindow("nwc", {
- title: "Nostr Wallet Connect",
- url: "/nwc",
- minWidth: 400,
- width: 400,
- height: 600,
- hiddenTitle: true,
- titleBarStyle: "overlay",
- fileDropEnabled: true,
- });
+ try {
+ const window = new WebviewWindow("nwc", {
+ title: "Nostr Wallet Connect",
+ url: "/nwc",
+ minWidth: 400,
+ minHeight: 600,
+ width: 400,
+ height: 600,
+ hiddenTitle: true,
+ titleBarStyle: "overlay",
+ });
+
+ this.windows.push(window);
+ } catch (e) {
+ throw new Error(String(e));
+ }
}
public open_zap(id: string, pubkey: string, account: string) {
- return new WebviewWindow(`zap-${id}`, {
- title: "Nostr Wallet Connect",
- url: `/zap/${id}?pubkey=${pubkey}&account=${account}`,
- minWidth: 400,
- width: 400,
- height: 500,
- hiddenTitle: true,
- titleBarStyle: "overlay",
- fileDropEnabled: true,
- });
+ try {
+ const window = new WebviewWindow(`zap-${id}`, {
+ title: "Zap",
+ url: `/zap/${id}?pubkey=${pubkey}&account=${account}`,
+ minWidth: 400,
+ minHeight: 500,
+ width: 400,
+ height: 500,
+ hiddenTitle: true,
+ titleBarStyle: "overlay",
+ });
+
+ this.windows.push(window);
+ } catch (e) {
+ throw new Error(String(e));
+ }
}
public open_settings() {
- return new WebviewWindow("settings", {
- title: "Settings",
- url: "/settings",
- minWidth: 600,
- width: 800,
- height: 500,
- hiddenTitle: true,
- titleBarStyle: "overlay",
- fileDropEnabled: true,
- });
+ try {
+ const window = new WebviewWindow("settings", {
+ title: "Settings",
+ url: "/settings",
+ minWidth: 600,
+ minHeight: 500,
+ width: 800,
+ height: 500,
+ hiddenTitle: true,
+ titleBarStyle: "overlay",
+ });
+
+ this.windows.push(window);
+ } catch (e) {
+ throw new Error(String(e));
+ }
}
}
diff --git a/packages/ark/src/context.ts b/packages/ark/src/context.ts
deleted file mode 100644
index e4b7c8e8..00000000
--- a/packages/ark/src/context.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { createContext } from "react";
-import { type Ark } from "./ark";
-
-export const ArkContext = createContext(undefined);
diff --git a/packages/ark/src/hooks/useArk.ts b/packages/ark/src/hooks/useArk.ts
deleted file mode 100644
index 2c311a08..00000000
--- a/packages/ark/src/hooks/useArk.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { useContext } from "react";
-import { ArkContext } from "../context";
-
-export const useArk = () => {
- const context = useContext(ArkContext);
- if (context === undefined) {
- throw new Error("useArk must be used within an ArkProvider");
- }
- return context;
-};
diff --git a/packages/ark/src/hooks/useEvent.ts b/packages/ark/src/hooks/useEvent.ts
index 8bb307af..2aa1f4ad 100644
--- a/packages/ark/src/hooks/useEvent.ts
+++ b/packages/ark/src/hooks/useEvent.ts
@@ -1,13 +1,18 @@
+import { Event } from "@lume/types";
import { useQuery } from "@tanstack/react-query";
-import { useArk } from "./useArk";
+import { invoke } from "@tauri-apps/api/core";
export function useEvent(id: string) {
- const ark = useArk();
const { isLoading, isError, data } = useQuery({
queryKey: ["event", id],
queryFn: async () => {
try {
- const event = await ark.get_event(id);
+ const eventId: string = id
+ .replace("nostr:", "")
+ .split("'")[0]
+ .split(".")[0];
+ const cmd: string = await invoke("get_event", { id: eventId });
+ const event: Event = JSON.parse(cmd);
return event;
} catch (e) {
throw new Error(e);
diff --git a/packages/ark/src/hooks/usePreview.ts b/packages/ark/src/hooks/usePreview.ts
new file mode 100644
index 00000000..01ca11cc
--- /dev/null
+++ b/packages/ark/src/hooks/usePreview.ts
@@ -0,0 +1,24 @@
+import { useQuery } from "@tanstack/react-query";
+import { invoke } from "@tauri-apps/api/core";
+
+export function usePreview(url: string) {
+ const { isLoading, isError, data } = useQuery({
+ queryKey: ["url", url],
+ queryFn: async () => {
+ try {
+ const cmd = await invoke("fetch_opg", { url });
+ console.log(cmd);
+ return cmd;
+ } catch (e) {
+ throw new Error(e);
+ }
+ },
+ refetchOnWindowFocus: false,
+ refetchOnMount: false,
+ refetchOnReconnect: false,
+ staleTime: Infinity,
+ retry: 2,
+ });
+
+ return { isLoading, isError, data };
+}
diff --git a/packages/ark/src/hooks/useProfile.ts b/packages/ark/src/hooks/useProfile.ts
index bd9ba697..36cc688b 100644
--- a/packages/ark/src/hooks/useProfile.ts
+++ b/packages/ark/src/hooks/useProfile.ts
@@ -1,8 +1,8 @@
import { useQuery } from "@tanstack/react-query";
-import { useArk } from "./useArk";
+import { Metadata } from "@lume/types";
+import { invoke } from "@tauri-apps/api/core";
export function useProfile(pubkey: string) {
- const ark = useArk();
const {
isLoading,
isError,
@@ -11,8 +11,14 @@ export function useProfile(pubkey: string) {
queryKey: ["user", pubkey],
queryFn: async () => {
try {
- const profile = await ark.get_profile(pubkey);
- return profile;
+ const id = pubkey
+ .replace("nostr:", "")
+ .split("'")[0]
+ .split(".")[0]
+ .split(",")[0]
+ .split("?")[0];
+ const cmd: Metadata = await invoke("get_profile", { id });
+ return cmd;
} catch (e) {
throw new Error(e);
}
diff --git a/packages/ark/src/index.ts b/packages/ark/src/index.ts
index ca80124b..d506ecaa 100644
--- a/packages/ark/src/index.ts
+++ b/packages/ark/src/index.ts
@@ -1,5 +1,3 @@
export * from "./ark";
-export * from "./context";
-export * from "./hooks/useArk";
export * from "./hooks/useEvent";
export * from "./hooks/useProfile";
diff --git a/packages/icons/index.ts b/packages/icons/index.ts
index c8c62141..c8612902 100644
--- a/packages/icons/index.ts
+++ b/packages/icons/index.ts
@@ -120,3 +120,7 @@ export * from "./src/local";
export * from "./src/global";
export * from "./src/infoCircle";
export * from "./src/cancelCircle";
+export * from "./src/laurel";
+export * from "./src/quote";
+export * from "./src/key";
+export * from "./src/remote";
diff --git a/packages/icons/package.json b/packages/icons/package.json
index ef5ec4de..4de43f7e 100644
--- a/packages/icons/package.json
+++ b/packages/icons/package.json
@@ -8,7 +8,7 @@
},
"devDependencies": {
"@lume/tsconfig": "workspace:*",
- "@types/react": "^18.2.61",
- "typescript": "^5.3.3"
+ "@types/react": "^18.2.75",
+ "typescript": "^5.4.4"
}
}
\ No newline at end of file
diff --git a/packages/icons/src/arrowLeft.tsx b/packages/icons/src/arrowLeft.tsx
index ceb952d9..129e1908 100644
--- a/packages/icons/src/arrowLeft.tsx
+++ b/packages/icons/src/arrowLeft.tsx
@@ -1,18 +1,13 @@
-export function ArrowLeftIcon(props: JSX.IntrinsicElements['svg']) {
+export function ArrowLeftIcon(props: JSX.IntrinsicElements["svg"]) {
return (
-
);
diff --git a/packages/icons/src/cancel.tsx b/packages/icons/src/cancel.tsx
index 50644f62..55c1adf2 100644
--- a/packages/icons/src/cancel.tsx
+++ b/packages/icons/src/cancel.tsx
@@ -4,8 +4,8 @@ export function CancelIcon(props: JSX.IntrinsicElements["svg"]) {
);
diff --git a/packages/icons/src/check.tsx b/packages/icons/src/check.tsx
index 2a239ee1..585dd328 100644
--- a/packages/icons/src/check.tsx
+++ b/packages/icons/src/check.tsx
@@ -1,24 +1,16 @@
import { SVGProps } from "react";
export function CheckIcon(
- props: JSX.IntrinsicAttributes & SVGProps,
+ props: JSX.IntrinsicAttributes & SVGProps,
) {
- return (
-
-
-
- );
+ return (
+
+
+
+ );
}
diff --git a/packages/icons/src/chevronDown.tsx b/packages/icons/src/chevronDown.tsx
index b4d13eea..f6aff9b0 100644
--- a/packages/icons/src/chevronDown.tsx
+++ b/packages/icons/src/chevronDown.tsx
@@ -1,24 +1,17 @@
import { SVGProps } from "react";
export function ChevronDownIcon(
- props: JSX.IntrinsicAttributes & SVGProps,
+ props: JSX.IntrinsicAttributes & SVGProps,
) {
- return (
-
-
-
- );
+ return (
+
+
+
+ );
}
diff --git a/packages/icons/src/expand.tsx b/packages/icons/src/expand.tsx
index 84ae261b..ef7d8e60 100644
--- a/packages/icons/src/expand.tsx
+++ b/packages/icons/src/expand.tsx
@@ -1,22 +1,17 @@
-import { SVGProps } from 'react';
+import { SVGProps } from "react";
-export function ExpandIcon(props: JSX.IntrinsicAttributes & SVGProps) {
+export function ExpandIcon(
+ props: JSX.IntrinsicAttributes & SVGProps,
+) {
return (
-
+
+ d="M5.75 12.75v3.5a2 2 0 0 0 2 2h3.5m1.5-12.5h3.5a2 2 0 0 1 2 2v3.5"
+ />
);
}
diff --git a/packages/icons/src/global.tsx b/packages/icons/src/global.tsx
index d224cb9f..4428cb73 100644
--- a/packages/icons/src/global.tsx
+++ b/packages/icons/src/global.tsx
@@ -2,12 +2,11 @@ export function GlobalIcon(props: JSX.IntrinsicElements["svg"]) {
return (
-
);
diff --git a/packages/icons/src/horizontalDots.tsx b/packages/icons/src/horizontalDots.tsx
index 6475277e..89c59da1 100644
--- a/packages/icons/src/horizontalDots.tsx
+++ b/packages/icons/src/horizontalDots.tsx
@@ -1,12 +1,16 @@
export function HorizontalDotsIcon(props: JSX.IntrinsicElements["svg"]) {
return (
+
);
diff --git a/packages/icons/src/key.tsx b/packages/icons/src/key.tsx
new file mode 100644
index 00000000..406a30d0
--- /dev/null
+++ b/packages/icons/src/key.tsx
@@ -0,0 +1,13 @@
+export function KeyIcon(props: JSX.IntrinsicElements["svg"]) {
+ return (
+
+
+
+ );
+}
diff --git a/packages/icons/src/laurel.tsx b/packages/icons/src/laurel.tsx
new file mode 100644
index 00000000..bc2876ac
--- /dev/null
+++ b/packages/icons/src/laurel.tsx
@@ -0,0 +1,13 @@
+export function LaurelIcon(props: JSX.IntrinsicElements["svg"]) {
+ return (
+
+
+
+ );
+}
diff --git a/packages/icons/src/link.tsx b/packages/icons/src/link.tsx
index 87ec9c23..5e941d3b 100644
--- a/packages/icons/src/link.tsx
+++ b/packages/icons/src/link.tsx
@@ -1,16 +1,12 @@
-import { SVGProps } from "react";
-
-export function LinkIcon(
- props: JSX.IntrinsicAttributes & SVGProps,
-) {
+export function LinkIcon(props: JSX.IntrinsicElements["svg"]) {
return (
);
diff --git a/packages/icons/src/plus.tsx b/packages/icons/src/plus.tsx
index f54d371b..c5db0751 100644
--- a/packages/icons/src/plus.tsx
+++ b/packages/icons/src/plus.tsx
@@ -4,8 +4,8 @@ export function PlusIcon(props: JSX.IntrinsicElements["svg"]) {
);
diff --git a/packages/icons/src/quote.tsx b/packages/icons/src/quote.tsx
new file mode 100644
index 00000000..f8ae261c
--- /dev/null
+++ b/packages/icons/src/quote.tsx
@@ -0,0 +1,13 @@
+export function QuoteIcon(props: JSX.IntrinsicElements["svg"]) {
+ return (
+
+
+
+ );
+}
diff --git a/packages/icons/src/refresh.tsx b/packages/icons/src/refresh.tsx
index 1bf56169..02a482a8 100644
--- a/packages/icons/src/refresh.tsx
+++ b/packages/icons/src/refresh.tsx
@@ -1,18 +1,17 @@
-export function RefreshIcon(props: JSX.IntrinsicElements['svg']) {
+export function RefreshIcon(props: JSX.IntrinsicElements["svg"]) {
return (
-
-
+
+
+
);
}
diff --git a/packages/icons/src/remote.tsx b/packages/icons/src/remote.tsx
new file mode 100644
index 00000000..2a90e03c
--- /dev/null
+++ b/packages/icons/src/remote.tsx
@@ -0,0 +1,13 @@
+export function RemoteIcon(props: JSX.IntrinsicElements["svg"]) {
+ return (
+
+
+
+ );
+}
diff --git a/packages/icons/src/reply.tsx b/packages/icons/src/reply.tsx
index 3c397914..7c41933d 100644
--- a/packages/icons/src/reply.tsx
+++ b/packages/icons/src/reply.tsx
@@ -3,10 +3,9 @@ export function ReplyIcon(props: JSX.IntrinsicElements["svg"]) {
);
diff --git a/packages/icons/src/repost.tsx b/packages/icons/src/repost.tsx
index c41afa98..dd0eb51d 100644
--- a/packages/icons/src/repost.tsx
+++ b/packages/icons/src/repost.tsx
@@ -5,8 +5,8 @@ export function RepostIcon(props: JSX.IntrinsicElements["svg"]) {
stroke="currentColor"
strokeLinecap="round"
strokeLinejoin="round"
- strokeWidth="2"
- d="m17.25 21 2.47-2.47a.75.75 0 0 0 0-1.06L17.25 15M6.75 3 4.28 5.47a.75.75 0 0 0 0 1.06L6.75 9M5 6h13a2 2 0 0 1 2 2v3M4 13v3a2 2 0 0 0 2 2h13"
+ strokeWidth="1.5"
+ d="m17.5 21.25 2.47-2.47a.75.75 0 0 0 0-1.06l-2.47-2.47m-11-12.5L4.03 5.22a.75.75 0 0 0 0 1.06L6.5 8.75m-1.25-3h13a2 2 0 0 1 2 2v3m-16.5 3v2.5a2 2 0 0 0 2 2h13"
/>
);
diff --git a/packages/icons/src/settings.tsx b/packages/icons/src/settings.tsx
index ac69645d..d7292acb 100644
--- a/packages/icons/src/settings.tsx
+++ b/packages/icons/src/settings.tsx
@@ -7,17 +7,15 @@ export function SettingsIcon(
);
diff --git a/packages/icons/src/trash.tsx b/packages/icons/src/trash.tsx
index 0078ac7b..a772b804 100644
--- a/packages/icons/src/trash.tsx
+++ b/packages/icons/src/trash.tsx
@@ -1,18 +1,10 @@
-export function TrashIcon(props: JSX.IntrinsicElements['svg']) {
+export function TrashIcon(props: JSX.IntrinsicElements["svg"]) {
return (
-
-
+
+
);
}
diff --git a/packages/icons/src/user.tsx b/packages/icons/src/user.tsx
index 1295d333..01ddfcbb 100644
--- a/packages/icons/src/user.tsx
+++ b/packages/icons/src/user.tsx
@@ -1,24 +1,16 @@
import { SVGProps } from "react";
export function UserIcon(
- props: JSX.IntrinsicAttributes & SVGProps,
+ props: JSX.IntrinsicAttributes & SVGProps,
) {
- return (
-
-
-
- );
+ return (
+
+
+
+ );
}
diff --git a/packages/icons/src/zap.tsx b/packages/icons/src/zap.tsx
index c3fe1e5c..9a6188b9 100644
--- a/packages/icons/src/zap.tsx
+++ b/packages/icons/src/zap.tsx
@@ -4,8 +4,8 @@ export function ZapIcon(props: JSX.IntrinsicElements["svg"]) {
);
diff --git a/packages/lume-column-antenas/package.json b/packages/lume-column-antenas/package.json
deleted file mode 100644
index f2514562..00000000
--- a/packages/lume-column-antenas/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/antenas",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-antenas/src/components/form.tsx b/packages/lume-column-antenas/src/components/form.tsx
deleted file mode 100644
index 564a7269..00000000
--- a/packages/lume-column-antenas/src/components/form.tsx
+++ /dev/null
@@ -1,131 +0,0 @@
-import { useColumnContext } from "@lume/ark";
-import { CancelIcon, PlusIcon } from "@lume/icons";
-import { useState } from "react";
-import { toast } from "sonner";
-
-export function AntenasForm({ id }: { id: number }) {
- const { updateColumn, removeColumn } = useColumnContext();
-
- const [title, setTitle] = useState(`Antena-${id}`);
- const [source, setSource] = useState("contacts");
- const [hashtag, setHashtag] = useState("");
- const [hashtags, setHashtags] = useState([]);
-
- const addHashtag = () => {
- if (!hashtag.startsWith("#"))
- return toast.error("Hashtag need to start with #");
- if (hashtag.length > 64) return toast.error("Hashtag too long");
- setHashtags((prev) => [...prev, hashtag]);
- setHashtag("");
- };
-
- const removeHashtag = (item: string) => {
- setHashtags((prev) => prev.filter((tag) => tag !== item));
- };
-
- const submit = async () => {
- const content = {
- hashtags,
- source,
- };
- await updateColumn(id, title, JSON.stringify(content));
- };
-
- return (
-
-
-
-
Create a new Antena
-
-
-
-
-
- setTitle(e.target.value)}
- placeholder="Nostrichs..."
- className="px-2 border border-neutral-100 dark:border-neutral-900 bg-neutral-50 rounded-lg h-10 dark:bg-neutral-950 placeholder:text-neutral-600 focus:border-blue-500 focus:shadow-none focus:ring-0"
- />
-
-
-
-
-
-
-
-
-
setHashtag(e.target.value)}
- onKeyPress={(event) => {
- if (event.key === "Enter") addHashtag();
- }}
- placeholder="#nostr..."
- className="px-2 w-full border border-neutral-100 dark:border-neutral-900 bg-neutral-50 rounded-lg h-10 dark:bg-neutral-950 placeholder:text-neutral-600 focus:border-blue-500 focus:shadow-none focus:ring-0"
- />
-
-
-
- {hashtags.map((item) => (
-
- ))}
-
-
-
-
-
-
-
-
- );
-}
diff --git a/packages/lume-column-antenas/src/home.tsx b/packages/lume-column-antenas/src/home.tsx
deleted file mode 100644
index 4300ed77..00000000
--- a/packages/lume-column-antenas/src/home.tsx
+++ /dev/null
@@ -1,132 +0,0 @@
-import { RepostNote, TextNote, useArk } from "@lume/ark";
-import { ArrowRightCircleIcon, LoaderIcon } from "@lume/icons";
-import { FETCH_LIMIT } from "@lume/utils";
-import { NDKEvent, NDKFilter, NDKKind } from "@nostr-dev-kit/ndk";
-import { useInfiniteQuery } from "@tanstack/react-query";
-import { useEffect, useMemo, useRef } from "react";
-import { CacheSnapshot, VList, VListHandle } from "virtua";
-
-export function HomeRoute({
- colKey,
- content,
-}: { colKey: string; content: string }) {
- const ark = useArk();
- const ref = useRef();
- const cacheKey = `${colKey}-vlist`;
-
- const [offset, cache] = useMemo(() => {
- const serialized = sessionStorage.getItem(cacheKey);
- if (!serialized) return [];
- return JSON.parse(serialized) as [number, CacheSnapshot];
- }, []);
-
- const { data, hasNextPage, isLoading, isFetchingNextPage, fetchNextPage } =
- useInfiniteQuery({
- queryKey: [colKey],
- initialPageParam: 0,
- queryFn: async ({
- signal,
- pageParam,
- }: {
- signal: AbortSignal;
- pageParam: number;
- }) => {
- let filter: NDKFilter;
- const parsed: { hashtags: string[]; source: string } =
- JSON.parse(content);
-
- if (parsed.source === "contacts") {
- filter = {
- kinds: [NDKKind.Text, NDKKind.Repost],
- "#t": parsed.hashtags.map((item) => item.replace("#", "")),
- authors: ark.account.contacts,
- };
- } else {
- filter = {
- kinds: [NDKKind.Text, NDKKind.Repost],
- "#t": parsed.hashtags.map((item) => item.replace("#", "")),
- };
- }
-
- const events = await ark.getInfiniteEvents({
- filter,
- limit: FETCH_LIMIT,
- pageParam,
- signal,
- });
-
- return events;
- },
- getNextPageParam: (lastPage) => {
- const lastEvent = lastPage.at(-1);
- if (!lastEvent) return;
- return lastEvent.created_at - 1;
- },
- refetchOnWindowFocus: false,
- });
-
- const allEvents = useMemo(
- () => (data ? data.pages.flatMap((page) => page) : []),
- [data],
- );
-
- const renderItem = (event: NDKEvent) => {
- switch (event.kind) {
- case NDKKind.Text:
- return ;
- case NDKKind.Repost:
- return ;
- default:
- return ;
- }
- };
-
- useEffect(() => {
- if (!ref.current) return;
- const handle = ref.current;
-
- if (offset) {
- handle.scrollTo(offset);
- }
-
- return () => {
- sessionStorage.setItem(
- cacheKey,
- JSON.stringify([handle.scrollOffset, handle.cache]),
- );
- };
- }, []);
-
- return (
-
-
- {isLoading ? (
-
-
-
- ) : (
- allEvents.map((item) => renderItem(item))
- )}
-
- {hasNextPage ? (
-
- ) : null}
-
-
-
- );
-}
diff --git a/packages/lume-column-antenas/src/index.tsx b/packages/lume-column-antenas/src/index.tsx
deleted file mode 100644
index e5b38f74..00000000
--- a/packages/lume-column-antenas/src/index.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { EventRoute, UserRoute } from "@lume/ui";
-import { AntenasForm } from "./components/form";
-import { HomeRoute } from "./home";
-
-export function Antenas({ column }: { column: LumeColumn }) {
- const colKey = `antenas-${column.id}`;
- const created = !!column.content?.length;
-
- return (
-
- {created ? (
- <>
-
-
- }
- />
- } />
- } />
-
- >
- ) : (
-
- )}
-
- );
-}
diff --git a/packages/lume-column-antenas/tailwind.config.js b/packages/lume-column-antenas/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-antenas/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-antenas/tsconfig.json b/packages/lume-column-antenas/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-antenas/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-default/package.json b/packages/lume-column-default/package.json
deleted file mode 100644
index b785dee8..00000000
--- a/packages/lume-column-default/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/default",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-default/src/index.tsx b/packages/lume-column-default/src/index.tsx
deleted file mode 100644
index 5342690a..00000000
--- a/packages/lume-column-default/src/index.tsx
+++ /dev/null
@@ -1,188 +0,0 @@
-import { Column, useColumnContext } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { COL_TYPES } from "@lume/utils";
-
-export function Default({ column }: { column: LumeColumn }) {
- const { addColumn } = useColumnContext();
-
- return (
-
-
-
-
-
-
-
-
-
-

-
-
-
-
Group Feeds
-
- Collective of people you're interested in.
-
-
-
-
-
-
-
-

-
-
-
-
Antenas
-
- Keep track to specific content.
-
-
-
-
-
-
-
-

-
-
-
-
Trending Notes
-
- What is trending on Nostr?.
-
-
-
-
-
-
-
-

-
-
-
-
Global
-
- All things around the world.
-
-
-
-
-
-
-
-

-
-
-
-
Waifu
-
- Show a random waifu image to boost your morale.
-
-
-
-
-
-
-
-
- );
-}
diff --git a/packages/lume-column-default/tailwind.config.js b/packages/lume-column-default/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-default/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-default/tsconfig.json b/packages/lume-column-default/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-default/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-foryou/package.json b/packages/lume-column-foryou/package.json
deleted file mode 100644
index 41f662c8..00000000
--- a/packages/lume-column-foryou/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/foryou",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-foryou/src/home.tsx b/packages/lume-column-foryou/src/home.tsx
deleted file mode 100644
index 0533e319..00000000
--- a/packages/lume-column-foryou/src/home.tsx
+++ /dev/null
@@ -1,139 +0,0 @@
-import { TextNote, useArk } from "@lume/ark";
-import { InterestModal } from "@lume/ark/src/components/column/interestModal";
-import { ArrowRightCircleIcon, ForyouIcon, LoaderIcon } from "@lume/icons";
-import { useStorage } from "@lume/storage";
-import { EmptyFeed } from "@lume/ui";
-import { FETCH_LIMIT } from "@lume/utils";
-import { NDKEvent, NDKKind } from "@nostr-dev-kit/ndk";
-import { useInfiniteQuery, useQueryClient } from "@tanstack/react-query";
-import { useEffect, useMemo, useRef } from "react";
-import { CacheSnapshot, VList, VListHandle } from "virtua";
-
-export function HomeRoute({ colKey }: { colKey: string }) {
- const ark = useArk();
- const storage = useStorage();
- const ref = useRef();
- const cacheKey = `${colKey}-vlist`;
- const queryClient = useQueryClient();
-
- const [offset, cache] = useMemo(() => {
- const serialized = sessionStorage.getItem(cacheKey);
- if (!serialized) return [];
- return JSON.parse(serialized) as [number, CacheSnapshot];
- }, []);
-
- const { data, hasNextPage, isLoading, isFetchingNextPage, fetchNextPage } =
- useInfiniteQuery({
- queryKey: [colKey],
- initialPageParam: 0,
- queryFn: async ({
- signal,
- pageParam,
- }: {
- signal: AbortSignal;
- pageParam: number;
- }) => {
- if (!storage.interests?.hashtags) return [];
-
- const events = await ark.getInfiniteEvents({
- filter: {
- kinds: [NDKKind.Text],
- "#t": storage.interests.hashtags.map((item: string) =>
- item.replace("#", "").toLowerCase(),
- ),
- },
- limit: FETCH_LIMIT,
- pageParam,
- signal,
- });
-
- return events;
- },
- getNextPageParam: (lastPage) => {
- const lastEvent = lastPage.at(-1);
- if (!lastEvent) return;
- return lastEvent.created_at - 1;
- },
- initialData: () => {
- const queryCacheData = queryClient.getQueryState([colKey])
- ?.data as NDKEvent[];
- if (queryCacheData) {
- return {
- pageParams: [undefined, 1],
- pages: [queryCacheData],
- };
- }
- },
- select: (data) => data?.pages.flatMap((page) => page),
- staleTime: 120 * 1000,
- refetchOnWindowFocus: false,
- refetchOnMount: false,
- });
-
- useEffect(() => {
- if (!ref.current) return;
-
- const handle = ref.current;
-
- if (offset) {
- handle.scrollTo(offset);
- }
-
- return () => {
- sessionStorage.setItem(
- cacheKey,
- JSON.stringify([handle.scrollOffset, handle.cache]),
- );
- };
- }, []);
-
- if (!storage.interests?.hashtags?.length) {
- return (
-
-
-
-
- Add interest
-
-
- );
- }
-
- return (
-
-
- {isLoading ? (
-
-
-
- ) : (
- data.map((event) => (
-
- ))
- )}
-
- {hasNextPage ? (
-
- ) : null}
-
-
-
- );
-}
diff --git a/packages/lume-column-foryou/src/index.tsx b/packages/lume-column-foryou/src/index.tsx
deleted file mode 100644
index 7b306e4a..00000000
--- a/packages/lume-column-foryou/src/index.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Column } from "@lume/ark";
-import { useStorage } from "@lume/storage";
-import { LumeColumn } from "@lume/types";
-import { EventRoute, UserRoute } from "@lume/ui";
-import { NDKEvent, NDKKind } from "@nostr-dev-kit/ndk";
-import { useQueryClient } from "@tanstack/react-query";
-import { useRef } from "react";
-import { HomeRoute } from "./home";
-
-export function ForYou({ column }: { column: LumeColumn }) {
- const colKey = `foryou-${column.id}`;
- const storage = useStorage();
- const queryClient = useQueryClient();
- const since = useRef(Math.floor(Date.now() / 1000));
-
- const refresh = async (events: NDKEvent[]) => {
- const uniqEvents = new Set(events);
- await queryClient.setQueryData(
- [colKey],
- (prev: { pageParams: number; pages: Array }) => ({
- ...prev,
- pages: [[...uniqEvents], ...prev.pages],
- }),
- );
- };
-
- return (
-
-
- {storage.interests?.hashtags ? (
-
- item.replace("#", "").toLowerCase(),
- ),
- since: since.current,
- }}
- onClick={refresh}
- />
- ) : null}
-
- } />
- } />
- } />
-
-
- );
-}
diff --git a/packages/lume-column-foryou/tailwind.config.js b/packages/lume-column-foryou/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-foryou/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-foryou/tsconfig.json b/packages/lume-column-foryou/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-foryou/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-global/package.json b/packages/lume-column-global/package.json
deleted file mode 100644
index f8b46240..00000000
--- a/packages/lume-column-global/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/global",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-global/src/home.tsx b/packages/lume-column-global/src/home.tsx
deleted file mode 100644
index a5ff74e1..00000000
--- a/packages/lume-column-global/src/home.tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import { RepostNote, TextNote, useArk } from "@lume/ark";
-import { ArrowRightCircleIcon, LoaderIcon, SearchIcon } from "@lume/icons";
-import { EmptyFeed } from "@lume/ui";
-import { FETCH_LIMIT } from "@lume/utils";
-import { type NDKEvent, NDKKind } from "@nostr-dev-kit/ndk";
-import { useInfiniteQuery } from "@tanstack/react-query";
-import { useEffect, useMemo, useRef } from "react";
-import { Link } from "react-router-dom";
-import { CacheSnapshot, VList, VListHandle } from "virtua";
-
-export function HomeRoute({ colKey }: { colKey: string }) {
- const ark = useArk();
- const ref = useRef();
- const cacheKey = `${colKey}-vlist`;
-
- const [offset, cache] = useMemo(() => {
- const serialized = sessionStorage.getItem(cacheKey);
- if (!serialized) return [];
- return JSON.parse(serialized) as [number, CacheSnapshot];
- }, []);
-
- const { data, hasNextPage, isLoading, isFetchingNextPage, fetchNextPage } =
- useInfiniteQuery({
- queryKey: [colKey],
- initialPageParam: 0,
- queryFn: async ({
- signal,
- pageParam,
- }: {
- signal: AbortSignal;
- pageParam: number;
- }) => {
- if (!ark.account.contacts.length) return [];
-
- const events = await ark.getInfiniteEvents({
- filter: {
- kinds: [NDKKind.Text, NDKKind.Repost],
- },
- limit: FETCH_LIMIT,
- pageParam,
- signal,
- });
-
- return events;
- },
- getNextPageParam: (lastPage) => {
- const lastEvent = lastPage.at(-1);
- if (!lastEvent) return;
- return lastEvent.created_at - 1;
- },
- select: (data) => data?.pages.flatMap((page) => page),
- refetchOnWindowFocus: false,
- refetchOnMount: false,
- });
-
- const renderItem = (event: NDKEvent) => {
- switch (event.kind) {
- case NDKKind.Text:
- return ;
- case NDKKind.Repost:
- return ;
- default:
- return ;
- }
- };
-
- useEffect(() => {
- if (!ref.current) return;
- const handle = ref.current;
-
- if (offset) {
- handle.scrollTo(offset);
- }
-
- return () => {
- sessionStorage.setItem(
- cacheKey,
- JSON.stringify([handle.scrollOffset, handle.cache]),
- );
- };
- }, []);
-
- return (
-
-
- {isLoading ? (
-
-
-
- ) : !data.length ? (
-
-
-
-
- Find accounts to follow
-
-
- ) : (
- data.map((item) => renderItem(item))
- )}
-
- {hasNextPage ? (
-
- ) : null}
-
-
-
- );
-}
diff --git a/packages/lume-column-global/src/index.tsx b/packages/lume-column-global/src/index.tsx
deleted file mode 100644
index c148e4a8..00000000
--- a/packages/lume-column-global/src/index.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { EventRoute, UserRoute } from "@lume/ui";
-import { HomeRoute } from "./home";
-
-export function Global({ column }: { column: LumeColumn }) {
- const colKey = `global-${column.id}`;
-
- return (
-
-
-
- } />
- } />
- } />
-
-
- );
-}
diff --git a/packages/lume-column-global/tailwind.config.js b/packages/lume-column-global/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-global/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-global/tsconfig.json b/packages/lume-column-global/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-global/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-group/package.json b/packages/lume-column-group/package.json
deleted file mode 100644
index 2045dc19..00000000
--- a/packages/lume-column-group/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/group",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-group/src/components/form.tsx b/packages/lume-column-group/src/components/form.tsx
deleted file mode 100644
index 506096e5..00000000
--- a/packages/lume-column-group/src/components/form.tsx
+++ /dev/null
@@ -1,92 +0,0 @@
-import { useArk, useColumnContext } from "@lume/ark";
-import { CancelIcon, CheckCircleIcon } from "@lume/icons";
-import { User } from "@lume/ui";
-import { useState } from "react";
-
-export function GroupForm({ id }: { id: number }) {
- const ark = useArk();
- const { updateColumn, removeColumn } = useColumnContext();
-
- const [title, setTitle] = useState("Just a new group");
- const [users, setUsers] = useState>([]);
-
- // toggle follow state
- const toggleUser = (pubkey: string) => {
- const arr = users.includes(pubkey)
- ? users.filter((i) => i !== pubkey)
- : [...users, pubkey];
- setUsers(arr);
- };
-
- const submit = async () => {
- await updateColumn(id, title, JSON.stringify(users));
- };
-
- return (
-
-
-
-
Create a new Group
-
-
-
-
-
- setTitle(e.target.value)}
- placeholder="Nostrichs..."
- className="px-2 border border-neutral-100 dark:border-neutral-900 bg-neutral-50 rounded-lg h-10 dark:bg-neutral-950 placeholder:text-neutral-600 focus:border-blue-500 focus:shadow-none focus:ring-0"
- />
-
-
-
-
- Pick user
-
- {`${users.length} / ∞`}
-
-
- {ark.account?.contacts?.map((item: string) => (
-
- ))}
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/packages/lume-column-group/src/home.tsx b/packages/lume-column-group/src/home.tsx
deleted file mode 100644
index ef3fe1dd..00000000
--- a/packages/lume-column-group/src/home.tsx
+++ /dev/null
@@ -1,119 +0,0 @@
-import { RepostNote, TextNote, useArk } from "@lume/ark";
-import { ArrowRightCircleIcon, LoaderIcon } from "@lume/icons";
-import { FETCH_LIMIT } from "@lume/utils";
-import { NDKEvent, NDKKind } from "@nostr-dev-kit/ndk";
-import { useInfiniteQuery } from "@tanstack/react-query";
-import { useEffect, useMemo, useRef } from "react";
-import { CacheSnapshot, VList, VListHandle } from "virtua";
-
-export function HomeRoute({
- colKey,
- content,
-}: { colKey: string; content: string }) {
- const ark = useArk();
- const ref = useRef();
- const cacheKey = `${colKey}-vlist`;
-
- const [offset, cache] = useMemo(() => {
- const serialized = sessionStorage.getItem(cacheKey);
- if (!serialized) return [];
- return JSON.parse(serialized) as [number, CacheSnapshot];
- }, []);
-
- const { data, hasNextPage, isLoading, isFetchingNextPage, fetchNextPage } =
- useInfiniteQuery({
- queryKey: [colKey],
- initialPageParam: 0,
- queryFn: async ({
- signal,
- pageParam,
- }: {
- signal: AbortSignal;
- pageParam: number;
- }) => {
- const authors: string[] = JSON.parse(content);
- const events = await ark.getInfiniteEvents({
- filter: {
- kinds: [NDKKind.Text, NDKKind.Repost],
- authors: authors,
- },
- limit: FETCH_LIMIT,
- pageParam,
- signal,
- });
-
- return events;
- },
- getNextPageParam: (lastPage) => {
- const lastEvent = lastPage.at(-1);
- if (!lastEvent) return;
- return lastEvent.created_at - 1;
- },
- refetchOnWindowFocus: false,
- });
-
- const allEvents = useMemo(
- () => (data ? data.pages.flatMap((page) => page) : []),
- [data],
- );
-
- const renderItem = (event: NDKEvent) => {
- switch (event.kind) {
- case NDKKind.Text:
- return ;
- case NDKKind.Repost:
- return ;
- default:
- return ;
- }
- };
-
- useEffect(() => {
- if (!ref.current) return;
- const handle = ref.current;
-
- if (offset) {
- handle.scrollTo(offset);
- }
-
- return () => {
- sessionStorage.setItem(
- cacheKey,
- JSON.stringify([handle.scrollOffset, handle.cache]),
- );
- };
- }, []);
-
- return (
-
-
- {isLoading ? (
-
-
-
- ) : (
- allEvents.map((item) => renderItem(item))
- )}
-
- {hasNextPage ? (
-
- ) : null}
-
-
-
- );
-}
diff --git a/packages/lume-column-group/src/index.tsx b/packages/lume-column-group/src/index.tsx
deleted file mode 100644
index fb6e7d63..00000000
--- a/packages/lume-column-group/src/index.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { EventRoute, UserRoute } from "@lume/ui";
-import { GroupForm } from "./components/form";
-import { HomeRoute } from "./home";
-
-export function Group({ column }: { column: LumeColumn }) {
- const colKey = `group-${column.id}`;
- const created = !!column.content?.length;
-
- return (
-
- {created ? (
- <>
-
-
- }
- />
- } />
- } />
-
- >
- ) : (
-
- )}
-
- );
-}
diff --git a/packages/lume-column-group/tailwind.config.js b/packages/lume-column-group/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-group/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-group/tsconfig.json b/packages/lume-column-group/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-group/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-hashtag/package.json b/packages/lume-column-hashtag/package.json
deleted file mode 100644
index 4e195fda..00000000
--- a/packages/lume-column-hashtag/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/hashtag",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-hashtag/src/home.tsx b/packages/lume-column-hashtag/src/home.tsx
deleted file mode 100644
index d7504b8f..00000000
--- a/packages/lume-column-hashtag/src/home.tsx
+++ /dev/null
@@ -1,109 +0,0 @@
-import { TextNote, useArk } from "@lume/ark";
-import { ArrowRightCircleIcon, LoaderIcon } from "@lume/icons";
-import { FETCH_LIMIT } from "@lume/utils";
-import { NDKKind } from "@nostr-dev-kit/ndk";
-import { useInfiniteQuery } from "@tanstack/react-query";
-import { useEffect, useMemo, useRef } from "react";
-import { CacheSnapshot, VList, VListHandle } from "virtua";
-
-export function HomeRoute({
- colKey,
- hashtag,
-}: { colKey: string; hashtag: string }) {
- const ark = useArk();
- const ref = useRef();
- const cacheKey = `${colKey}-vlist`;
-
- const [offset, cache] = useMemo(() => {
- const serialized = sessionStorage.getItem(cacheKey);
- if (!serialized) return [];
- return JSON.parse(serialized) as [number, CacheSnapshot];
- }, []);
-
- const { data, hasNextPage, isLoading, isFetchingNextPage, fetchNextPage } =
- useInfiniteQuery({
- queryKey: [colKey],
- initialPageParam: 0,
- queryFn: async ({
- signal,
- pageParam,
- }: {
- signal: AbortSignal;
- pageParam: number;
- }) => {
- const events = await ark.getInfiniteEvents({
- filter: {
- kinds: [NDKKind.Text],
- "#t": [hashtag],
- },
- limit: FETCH_LIMIT,
- pageParam,
- signal,
- });
-
- return events;
- },
- getNextPageParam: (lastPage) => {
- const lastEvent = lastPage.at(-1);
- if (!lastEvent) return;
- return lastEvent.created_at - 1;
- },
- refetchOnWindowFocus: false,
- });
-
- const allEvents = useMemo(
- () => (data ? data.pages.flatMap((page) => page) : []),
- [data],
- );
-
- useEffect(() => {
- if (!ref.current) return;
- const handle = ref.current;
-
- if (offset) {
- handle.scrollTo(offset);
- }
-
- return () => {
- sessionStorage.setItem(
- cacheKey,
- JSON.stringify([handle.scrollOffset, handle.cache]),
- );
- };
- }, []);
-
- return (
-
-
- {isLoading ? (
-
-
-
- ) : (
- allEvents.map((item) => (
-
- ))
- )}
-
- {hasNextPage ? (
-
- ) : null}
-
-
-
- );
-}
diff --git a/packages/lume-column-hashtag/src/index.tsx b/packages/lume-column-hashtag/src/index.tsx
deleted file mode 100644
index b3fa2d45..00000000
--- a/packages/lume-column-hashtag/src/index.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { EventRoute, UserRoute } from "@lume/ui";
-import { HomeRoute } from "./home";
-
-export function Hashtag({ column }: { column: LumeColumn }) {
- const colKey = `hashtag-${column.id}`;
- const hashtag = column.content.replace("#", "");
-
- return (
-
-
-
- }
- />
- } />
- } />
-
-
- );
-}
diff --git a/packages/lume-column-hashtag/tailwind.config.js b/packages/lume-column-hashtag/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-hashtag/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-hashtag/tsconfig.json b/packages/lume-column-hashtag/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-hashtag/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-thread/package.json b/packages/lume-column-thread/package.json
deleted file mode 100644
index 3923e86f..00000000
--- a/packages/lume-column-thread/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/thread",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-thread/src/home.tsx b/packages/lume-column-thread/src/home.tsx
deleted file mode 100644
index 6587e4bb..00000000
--- a/packages/lume-column-thread/src/home.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import { ThreadNote } from "@lume/ark";
-import { ReplyList } from "@lume/ui";
-import { WindowVirtualizer } from "virtua";
-
-export function HomeRoute({ id }: { id: string }) {
- return (
-
- );
-}
diff --git a/packages/lume-column-thread/src/index.tsx b/packages/lume-column-thread/src/index.tsx
deleted file mode 100644
index 3476745d..00000000
--- a/packages/lume-column-thread/src/index.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { HomeRoute } from "./home";
-import { EventRoute, UserRoute } from "@lume/ui";
-
-export function Thread({ column }: { column: LumeColumn }) {
- return (
-
-
-
- } />
- } />
- } />
-
-
- );
-}
diff --git a/packages/lume-column-thread/tailwind.config.js b/packages/lume-column-thread/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-thread/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-thread/tsconfig.json b/packages/lume-column-thread/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-thread/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-timeline/package.json b/packages/lume-column-timeline/package.json
deleted file mode 100644
index 171cff16..00000000
--- a/packages/lume-column-timeline/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/timeline",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-timeline/src/home.tsx b/packages/lume-column-timeline/src/home.tsx
deleted file mode 100644
index 0f4ac3d8..00000000
--- a/packages/lume-column-timeline/src/home.tsx
+++ /dev/null
@@ -1,114 +0,0 @@
-import { RepostNote, TextNote, useArk } from "@lume/ark";
-import { ArrowRightCircleIcon, LoaderIcon, SearchIcon } from "@lume/icons";
-import { Event, Kind } from "@lume/types";
-import { EmptyFeed } from "@lume/ui";
-import { FETCH_LIMIT } from "@lume/utils";
-import { useInfiniteQuery } from "@tanstack/react-query";
-import { useEffect, useMemo, useRef } from "react";
-import { Link } from "react-router-dom";
-import { CacheSnapshot, VList, VListHandle } from "virtua";
-
-export function HomeRoute({ queryKey }: { queryKey: string }) {
- const ark = useArk();
- const ref = useRef();
- const cacheKey = `${queryKey}-vlist`;
-
- const [offset, cache] = useMemo(() => {
- const serialized = sessionStorage.getItem(cacheKey);
- if (!serialized) return [];
- return JSON.parse(serialized) as [number, CacheSnapshot];
- }, []);
-
- const { data, hasNextPage, isLoading, isFetchingNextPage, fetchNextPage } =
- useInfiniteQuery({
- queryKey: [queryKey],
- initialPageParam: 0,
- queryFn: async ({
- pageParam,
- }: {
- pageParam: number;
- }) => {
- const events = await ark.get_text_events(FETCH_LIMIT, pageParam);
- return events;
- },
- getNextPageParam: (lastPage) => {
- const lastEvent = lastPage.at(-1);
- if (!lastEvent) return;
- return lastEvent.created_at - 1;
- },
- select: (data) => data?.pages.flatMap((page) => page),
- refetchOnWindowFocus: false,
- refetchOnMount: false,
- });
-
- const renderItem = (event: Event) => {
- switch (event.kind) {
- case Kind.Text:
- return ;
- case Kind.Repost:
- return ;
- default:
- return ;
- }
- };
-
- useEffect(() => {
- if (!ref.current) return;
- const handle = ref.current;
-
- if (offset) {
- handle.scrollTo(offset);
- }
-
- return () => {
- sessionStorage.setItem(
- cacheKey,
- JSON.stringify([handle.scrollOffset, handle.cache]),
- );
- };
- }, []);
-
- return (
-
-
- {isLoading ? (
-
-
-
- ) : !data.length ? (
-
-
-
-
- Find accounts to follow
-
-
- ) : (
- data.map((item) => renderItem(item))
- )}
-
- {hasNextPage ? (
-
- ) : null}
-
-
-
- );
-}
diff --git a/packages/lume-column-timeline/src/index.tsx b/packages/lume-column-timeline/src/index.tsx
deleted file mode 100644
index 6c92285c..00000000
--- a/packages/lume-column-timeline/src/index.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { EventRoute, SuggestRoute, UserRoute } from "@lume/ui";
-import { HomeRoute } from "./home";
-
-export function Timeline({ column }: { column: LumeColumn }) {
- const colKey = `timeline-${column.id}`;
-
- return (
-
-
-
-
- } />
- } />
- } />
- }
- />
-
-
-
- );
-}
diff --git a/packages/lume-column-timeline/tailwind.config.js b/packages/lume-column-timeline/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-timeline/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-timeline/tsconfig.json b/packages/lume-column-timeline/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-timeline/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-trending-notes/package.json b/packages/lume-column-trending-notes/package.json
deleted file mode 100644
index e2f1d6f1..00000000
--- a/packages/lume-column-trending-notes/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/trending-notes",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-trending-notes/src/home.tsx b/packages/lume-column-trending-notes/src/home.tsx
deleted file mode 100644
index 0b0f59c7..00000000
--- a/packages/lume-column-trending-notes/src/home.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-import { TextNote, useArk } from "@lume/ark";
-import { LoaderIcon } from "@lume/icons";
-import { type NDKEvent, type NostrEvent } from "@nostr-dev-kit/ndk";
-import { useQuery } from "@tanstack/react-query";
-import { fetch } from "@tauri-apps/plugin-http";
-import { useEffect, useMemo, useRef } from "react";
-import { CacheSnapshot, VList, VListHandle } from "virtua";
-
-export function HomeRoute({ colKey }: { colKey: string }) {
- const ark = useArk();
- const ref = useRef();
- const cacheKey = `${colKey}-vlist`;
-
- const [offset, cache] = useMemo(() => {
- const serialized = sessionStorage.getItem(cacheKey);
- if (!serialized) return [];
- return JSON.parse(serialized) as [number, CacheSnapshot];
- }, []);
-
- const { data, isLoading } = useQuery({
- queryKey: [colKey],
- queryFn: async ({ signal }: { signal: AbortSignal }) => {
- const res = await fetch("https://api.nostr.band/v0/trending/notes", {
- signal,
- });
-
- if (!res) throw new Error("Failed to fetch trending notes");
-
- const data = await res.json();
- const events = data.notes.map((item: { event: NostrEvent }) =>
- ark.getNDKEvent(item.event),
- );
-
- return events as NDKEvent[];
- },
- refetchOnMount: false,
- refetchOnWindowFocus: false,
- });
-
- useEffect(() => {
- if (!ref.current) return;
- const handle = ref.current;
-
- if (offset) {
- handle.scrollTo(offset);
- }
-
- return () => {
- sessionStorage.setItem(
- cacheKey,
- JSON.stringify([handle.scrollOffset, handle.cache]),
- );
- };
- }, []);
-
- return (
-
-
- {isLoading ? (
-
-
-
- ) : (
- data.map((item) => (
-
- ))
- )}
-
-
- );
-}
diff --git a/packages/lume-column-trending-notes/src/index.tsx b/packages/lume-column-trending-notes/src/index.tsx
deleted file mode 100644
index 78c699f1..00000000
--- a/packages/lume-column-trending-notes/src/index.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { EventRoute, UserRoute } from "@lume/ui";
-import { HomeRoute } from "./home";
-
-export function TrendingNotes({ column }: { column: LumeColumn }) {
- const colKey = `trending-notes-${column.id}`;
-
- return (
-
-
-
- } />
- } />
- } />
-
-
- );
-}
diff --git a/packages/lume-column-trending-notes/tailwind.config.js b/packages/lume-column-trending-notes/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-trending-notes/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-trending-notes/tsconfig.json b/packages/lume-column-trending-notes/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-trending-notes/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-user/package.json b/packages/lume-column-user/package.json
deleted file mode 100644
index 0eda3314..00000000
--- a/packages/lume-column-user/package.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "@columns/user",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0",
- "sonner": "^1.4.3",
- "virtua": "^0.27.5"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-user/src/home.tsx b/packages/lume-column-user/src/home.tsx
deleted file mode 100644
index 932d5a1e..00000000
--- a/packages/lume-column-user/src/home.tsx
+++ /dev/null
@@ -1,120 +0,0 @@
-import { RepostNote, TextNote, User, useArk } from "@lume/ark";
-import { ArrowRightCircleIcon, LoaderIcon } from "@lume/icons";
-import { FETCH_LIMIT } from "@lume/utils";
-import { NDKEvent, NDKKind } from "@nostr-dev-kit/ndk";
-import { useInfiniteQuery } from "@tanstack/react-query";
-import { useMemo } from "react";
-import { WindowVirtualizer } from "virtua";
-
-export function HomeRoute({ id }: { id: string }) {
- const ark = useArk();
- const { data, hasNextPage, isLoading, isFetchingNextPage, fetchNextPage } =
- useInfiniteQuery({
- queryKey: ["user-posts", id],
- initialPageParam: 0,
- queryFn: async ({
- signal,
- pageParam,
- }: {
- signal: AbortSignal;
- pageParam: number;
- }) => {
- const events = await ark.getInfiniteEvents({
- filter: {
- kinds: [NDKKind.Text, NDKKind.Repost],
- authors: [id],
- },
- limit: FETCH_LIMIT,
- pageParam,
- signal,
- });
-
- return events;
- },
- getNextPageParam: (lastPage) => {
- const lastEvent = lastPage.at(-1);
- if (!lastEvent) return;
- return lastEvent.created_at - 1;
- },
- refetchOnWindowFocus: false,
- });
-
- const allEvents = useMemo(
- () => (data ? data.pages.flatMap((page) => page) : []),
- [data],
- );
-
- const renderItem = (event: NDKEvent) => {
- switch (event.kind) {
- case NDKKind.Text:
- return ;
- case NDKKind.Repost:
- return ;
- default:
- return ;
- }
- };
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Latest posts
-
-
- {isLoading ? (
-
-
-
- ) : (
- allEvents.map((item) => renderItem(item))
- )}
-
- {hasNextPage ? (
-
- ) : null}
-
-
-
-
-
-
- );
-}
diff --git a/packages/lume-column-user/src/index.tsx b/packages/lume-column-user/src/index.tsx
deleted file mode 100644
index b148d314..00000000
--- a/packages/lume-column-user/src/index.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { EventRoute, UserRoute } from "@lume/ui";
-import { HomeRoute } from "./home";
-
-export function User({ column }: { column: LumeColumn }) {
- return (
-
-
-
- } />
- } />
- } />
-
-
- );
-}
diff --git a/packages/lume-column-user/tailwind.config.js b/packages/lume-column-user/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-user/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-user/tsconfig.json b/packages/lume-column-user/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-user/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/lume-column-waifu/package.json b/packages/lume-column-waifu/package.json
deleted file mode 100644
index fabd5b43..00000000
--- a/packages/lume-column-waifu/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "name": "@columns/waifu",
- "version": "0.0.0",
- "private": true,
- "main": "./src/index.tsx",
- "dependencies": {
- "@lume/ark": "workspace:^",
- "@lume/icons": "workspace:^",
- "@lume/ui": "workspace:^",
- "@lume/utils": "workspace:^",
- "@tanstack/react-query": "^5.24.1",
- "react": "^18.2.0"
- },
- "devDependencies": {
- "@lume/tailwindcss": "workspace:^",
- "@lume/tsconfig": "workspace:^",
- "@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
- }
-}
diff --git a/packages/lume-column-waifu/src/home.tsx b/packages/lume-column-waifu/src/home.tsx
deleted file mode 100644
index 794dc20e..00000000
--- a/packages/lume-column-waifu/src/home.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import { LoaderIcon, RefreshIcon } from "@lume/icons";
-import { cn } from "@lume/utils";
-import { useQuery } from "@tanstack/react-query";
-
-export function HomeRoute({ colKey }: { colKey: string }) {
- const { data, isLoading, isError, isRefetching, refetch } = useQuery({
- queryKey: [colKey],
- queryFn: async ({ signal }: { signal: AbortSignal }) => {
- const apiUrl = "https://api.waifu.im/search";
- const params = {
- included_tags: "waifu",
- height: ">=2000",
- };
-
- const queryParams = new URLSearchParams(params);
- const requestUrl = `${apiUrl}?${queryParams}`;
-
- const res = await fetch(requestUrl, { signal });
-
- if (!res.ok) throw new Error("Failed to get image url");
-
- const data = await res.json();
- return data.images[0];
- },
- refetchOnMount: false,
- refetchOnWindowFocus: false,
- });
-
- return (
-
- {isLoading ? (
-
- ) : isError ? (
-
- Failed to get image, please try again later.
-
- ) : (
-
-

-
-
-
- Source
-
-
-
- )}
-
- );
-}
diff --git a/packages/lume-column-waifu/src/index.tsx b/packages/lume-column-waifu/src/index.tsx
deleted file mode 100644
index 38b59c2a..00000000
--- a/packages/lume-column-waifu/src/index.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Column } from "@lume/ark";
-import { LumeColumn } from "@lume/types";
-import { HomeRoute } from "./home";
-
-export function Waifu({ column }: { column: LumeColumn }) {
- const colKey = `waifu-${column.id}`;
-
- return (
-
-
-
- } />
-
-
- );
-}
diff --git a/packages/lume-column-waifu/tailwind.config.js b/packages/lume-column-waifu/tailwind.config.js
deleted file mode 100644
index 49c48c7a..00000000
--- a/packages/lume-column-waifu/tailwind.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import sharedConfig from "@lume/tailwindcss";
-
-const config = {
- content: ["./src/**/*.{js,ts,jsx,tsx}"],
- presets: [sharedConfig],
-};
-
-export default config;
diff --git a/packages/lume-column-waifu/tsconfig.json b/packages/lume-column-waifu/tsconfig.json
deleted file mode 100644
index 34a32891..00000000
--- a/packages/lume-column-waifu/tsconfig.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "extends": "@lume/tsconfig/base.json",
- "compilerOptions": {
- "outDir": "dist"
- },
- "include": ["src"],
- "exclude": ["node_modules", "dist"]
-}
diff --git a/packages/tailwindcss/package.json b/packages/tailwindcss/package.json
index 6e5e6b41..b2be3cd7 100644
--- a/packages/tailwindcss/package.json
+++ b/packages/tailwindcss/package.json
@@ -12,8 +12,8 @@
"devDependencies": {
"@evilmartians/harmony": "^1.2.0",
"@tailwindcss/forms": "^0.5.7",
- "@tailwindcss/typography": "^0.5.10",
+ "@tailwindcss/typography": "^0.5.12",
"tailwind-scrollbar": "^3.1.0",
- "tailwindcss": "^3.4.1"
+ "tailwindcss": "^3.4.3"
}
}
diff --git a/packages/types/index.d.ts b/packages/types/index.d.ts
index 61ebf832..98d5dd2d 100644
--- a/packages/types/index.d.ts
+++ b/packages/types/index.d.ts
@@ -1,13 +1,8 @@
export interface Settings {
- autoupdate: boolean;
- nsecbunker: boolean;
- media: boolean;
- hashtag: boolean;
- lowPower: boolean;
- translation: boolean;
- translateApiKey: string;
- instantZap: boolean;
- defaultZapAmount: number;
+ notification: boolean;
+ enhancedPrivacy: boolean;
+ autoUpdate: boolean;
+ zap: boolean;
}
export interface Keys {
@@ -62,6 +57,7 @@ export interface Contact {
export interface Account {
npub: string;
+ nsec?: string;
contacts?: string[];
interests?: Interests;
}
@@ -80,10 +76,33 @@ export interface RichContent {
notes: string[];
}
+export interface AppRouteSearch {
+ account: string;
+}
+
+export interface ColumnRouteSearch {
+ account: string;
+ label: string;
+ name: string;
+ redirect?: string;
+}
+
export interface LumeColumn {
- id: number;
- title: string;
- content: string;
+ label: string;
+ name: string;
+ content: URL | string;
+ description?: string;
+ author?: string;
+ logo?: string;
+ cover?: string;
+ coverRetina?: string;
+ featured?: boolean;
+}
+
+export interface EventColumns {
+ type: "add" | "remove" | "update" | "left" | "right";
+ label?: string;
+ column?: LumeColumn;
}
export interface Opengraph {
diff --git a/packages/types/package.json b/packages/types/package.json
index ecd50bc4..072e5c3d 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -9,6 +9,6 @@
"access": "public"
},
"devDependencies": {
- "typescript": "^5.3.3"
+ "typescript": "^5.4.4"
}
}
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 8a61e059..38595bb8 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -4,11 +4,11 @@
"private": true,
"main": "./src/index.ts",
"dependencies": {
- "@getalby/sdk": "^3.3.1",
+ "@getalby/sdk": "^3.4.3",
"@lume/ark": "workspace:^",
"@lume/icons": "workspace:^",
"@lume/utils": "workspace:^",
- "@nostr-dev-kit/ndk": "^2.5.0",
+ "@nostr-dev-kit/ndk": "^2.7.1",
"@radix-ui/react-accordion": "^1.1.2",
"@radix-ui/react-alert-dialog": "^1.0.5",
"@radix-ui/react-avatar": "^1.0.4",
@@ -18,36 +18,36 @@
"@radix-ui/react-hover-card": "^1.0.7",
"@radix-ui/react-popover": "^1.0.7",
"@radix-ui/react-tooltip": "^1.0.7",
- "@tanstack/react-query": "^5.24.1",
- "@tanstack/react-router": "^1.18.1",
- "framer-motion": "^11.0.8",
+ "@tanstack/react-query": "^5.29.0",
+ "@tanstack/react-router": "^1.26.18",
+ "framer-motion": "^11.0.25",
"get-urls": "^12.1.0",
- "media-chrome": "^2.2.5",
+ "media-chrome": "^3.2.0",
"minidenticons": "^4.2.1",
- "nanoid": "^5.0.6",
+ "nanoid": "^5.0.7",
"qrcode.react": "^3.1.0",
"re-resizable": "^6.9.11",
"react": "^18.2.0",
"react-currency-input-field": "^3.8.0",
"react-dom": "^18.2.0",
- "react-hook-form": "^7.51.0",
+ "react-hook-form": "^7.51.2",
"react-hotkeys-hook": "^4.5.0",
- "react-i18next": "^14.0.5",
+ "react-i18next": "^14.1.0",
"react-string-replace": "^1.1.1",
- "slate": "^0.101.5",
- "slate-react": "^0.101.6",
- "sonner": "^1.4.3",
- "string-strip-html": "^13.4.6",
+ "slate": "^0.102.0",
+ "slate-react": "^0.102.0",
+ "sonner": "^1.4.41",
+ "string-strip-html": "^13.4.8",
"uqr": "^0.1.2",
"use-debounce": "^10.0.0",
- "virtua": "^0.27.5"
+ "virtua": "^0.29.2"
},
"devDependencies": {
"@lume/tailwindcss": "workspace:^",
"@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "tailwindcss": "^3.4.1",
- "typescript": "^5.3.3"
+ "@types/react": "^18.2.75",
+ "tailwindcss": "^3.4.3",
+ "typescript": "^5.4.4"
}
}
diff --git a/packages/ui/src/box.tsx b/packages/ui/src/box.tsx
index 5b4b4467..7c319862 100644
--- a/packages/ui/src/box.tsx
+++ b/packages/ui/src/box.tsx
@@ -13,7 +13,7 @@ export function Box({
diff --git a/packages/ui/src/cmdk/command-score.ts b/packages/ui/src/cmdk/command-score.ts
deleted file mode 100644
index 386eba22..00000000
--- a/packages/ui/src/cmdk/command-score.ts
+++ /dev/null
@@ -1,176 +0,0 @@
-// The scores are arranged so that a continuous match of characters will
-// result in a total score of 1.
-//
-// The best case, this character is a match, and either this is the start
-// of the string, or the previous character was also a match.
-var SCORE_CONTINUE_MATCH = 1,
- // A new match at the start of a word scores better than a new match
- // elsewhere as it's more likely that the user will type the starts
- // of fragments.
- // NOTE: We score word jumps between spaces slightly higher than slashes, brackets
- // hyphens, etc.
- SCORE_SPACE_WORD_JUMP = 0.9,
- SCORE_NON_SPACE_WORD_JUMP = 0.8,
- // Any other match isn't ideal, but we include it for completeness.
- SCORE_CHARACTER_JUMP = 0.17,
- // If the user transposed two letters, it should be significantly penalized.
- //
- // i.e. "ouch" is more likely than "curtain" when "uc" is typed.
- SCORE_TRANSPOSITION = 0.1,
- // The goodness of a match should decay slightly with each missing
- // character.
- //
- // i.e. "bad" is more likely than "bard" when "bd" is typed.
- //
- // This will not change the order of suggestions based on SCORE_* until
- // 100 characters are inserted between matches.
- PENALTY_SKIPPED = 0.999,
- // The goodness of an exact-case match should be higher than a
- // case-insensitive match by a small amount.
- //
- // i.e. "HTML" is more likely than "haml" when "HM" is typed.
- //
- // This will not change the order of suggestions based on SCORE_* until
- // 1000 characters are inserted between matches.
- PENALTY_CASE_MISMATCH = 0.9999,
- // Match higher for letters closer to the beginning of the word
- PENALTY_DISTANCE_FROM_START = 0.9,
- // If the word has more characters than the user typed, it should
- // be penalised slightly.
- //
- // i.e. "html" is more likely than "html5" if I type "html".
- //
- // However, it may well be the case that there's a sensible secondary
- // ordering (like alphabetical) that it makes sense to rely on when
- // there are many prefix matches, so we don't make the penalty increase
- // with the number of tokens.
- PENALTY_NOT_COMPLETE = 0.99;
-
-var IS_GAP_REGEXP = /[\\\/_+.#"@\[\(\{&]/,
- COUNT_GAPS_REGEXP = /[\\\/_+.#"@\[\(\{&]/g,
- IS_SPACE_REGEXP = /[\s-]/,
- COUNT_SPACE_REGEXP = /[\s-]/g;
-
-function commandScoreInner(
- string,
- abbreviation,
- lowerString,
- lowerAbbreviation,
- stringIndex,
- abbreviationIndex,
- memoizedResults,
-) {
- if (abbreviationIndex === abbreviation.length) {
- if (stringIndex === string.length) {
- return SCORE_CONTINUE_MATCH;
- }
- return PENALTY_NOT_COMPLETE;
- }
-
- var memoizeKey = `${stringIndex},${abbreviationIndex}`;
- if (memoizedResults[memoizeKey] !== undefined) {
- return memoizedResults[memoizeKey];
- }
-
- var abbreviationChar = lowerAbbreviation.charAt(abbreviationIndex);
- var index = lowerString.indexOf(abbreviationChar, stringIndex);
- var highScore = 0;
-
- var score, transposedScore, wordBreaks, spaceBreaks;
-
- while (index >= 0) {
- score = commandScoreInner(
- string,
- abbreviation,
- lowerString,
- lowerAbbreviation,
- index + 1,
- abbreviationIndex + 1,
- memoizedResults,
- );
- if (score > highScore) {
- if (index === stringIndex) {
- score *= SCORE_CONTINUE_MATCH;
- } else if (IS_GAP_REGEXP.test(string.charAt(index - 1))) {
- score *= SCORE_NON_SPACE_WORD_JUMP;
- wordBreaks = string
- .slice(stringIndex, index - 1)
- .match(COUNT_GAPS_REGEXP);
- if (wordBreaks && stringIndex > 0) {
- score *= Math.pow(PENALTY_SKIPPED, wordBreaks.length);
- }
- } else if (IS_SPACE_REGEXP.test(string.charAt(index - 1))) {
- score *= SCORE_SPACE_WORD_JUMP;
- spaceBreaks = string
- .slice(stringIndex, index - 1)
- .match(COUNT_SPACE_REGEXP);
- if (spaceBreaks && stringIndex > 0) {
- score *= Math.pow(PENALTY_SKIPPED, spaceBreaks.length);
- }
- } else {
- score *= SCORE_CHARACTER_JUMP;
- if (stringIndex > 0) {
- score *= Math.pow(PENALTY_SKIPPED, index - stringIndex);
- }
- }
-
- if (string.charAt(index) !== abbreviation.charAt(abbreviationIndex)) {
- score *= PENALTY_CASE_MISMATCH;
- }
- }
-
- if (
- (score < SCORE_TRANSPOSITION &&
- lowerString.charAt(index - 1) ===
- lowerAbbreviation.charAt(abbreviationIndex + 1)) ||
- (lowerAbbreviation.charAt(abbreviationIndex + 1) ===
- lowerAbbreviation.charAt(abbreviationIndex) && // allow duplicate letters. Ref #7428
- lowerString.charAt(index - 1) !==
- lowerAbbreviation.charAt(abbreviationIndex))
- ) {
- transposedScore = commandScoreInner(
- string,
- abbreviation,
- lowerString,
- lowerAbbreviation,
- index + 1,
- abbreviationIndex + 2,
- memoizedResults,
- );
-
- if (transposedScore * SCORE_TRANSPOSITION > score) {
- score = transposedScore * SCORE_TRANSPOSITION;
- }
- }
-
- if (score > highScore) {
- highScore = score;
- }
-
- index = lowerString.indexOf(abbreviationChar, index + 1);
- }
-
- memoizedResults[memoizeKey] = highScore;
- return highScore;
-}
-
-function formatInput(string) {
- // convert all valid space characters to space so they match each other
- return string.toLowerCase().replace(COUNT_SPACE_REGEXP, " ");
-}
-
-export function commandScore(string: string, abbreviation: string): number {
- /* NOTE:
- * in the original, we used to do the lower-casing on each recursive call, but this meant that toLowerCase()
- * was the dominating cost in the algorithm, passing both is a little ugly, but considerably faster.
- */
- return commandScoreInner(
- string,
- abbreviation,
- formatInput(string),
- formatInput(abbreviation),
- 0,
- 0,
- {},
- );
-}
diff --git a/packages/ui/src/cmdk/index.tsx b/packages/ui/src/cmdk/index.tsx
deleted file mode 100644
index 95015b35..00000000
--- a/packages/ui/src/cmdk/index.tsx
+++ /dev/null
@@ -1,1132 +0,0 @@
-import * as RadixDialog from "@radix-ui/react-dialog";
-import * as React from "react";
-import { commandScore } from "./command-score";
-
-type Children = { children?: React.ReactNode };
-type DivProps = React.HTMLAttributes
;
-
-type LoadingProps = Children &
- DivProps & {
- /** Estimated progress of loading asynchronous options. */
- progress?: number;
- };
-type EmptyProps = Children & DivProps & {};
-type SeparatorProps = DivProps & {
- /** Whether this separator should always be rendered. Useful if you disable automatic filtering. */
- alwaysRender?: boolean;
-};
-type DialogProps = RadixDialog.DialogProps &
- CommandProps & {
- /** Provide a className to the Dialog overlay. */
- overlayClassName?: string;
- /** Provide a className to the Dialog content. */
- contentClassName?: string;
- /** Provide a custom element the Dialog should portal into. */
- container?: HTMLElement;
- };
-type ListProps = Children & DivProps & {};
-type ItemProps = Children &
- Omit & {
- /** Whether this item is currently disabled. */
- disabled?: boolean;
- /** Event handler for when this item is selected, either via click or keyboard selection. */
- onSelect?: (value: string) => void;
- /**
- * A unique value for this item.
- * If no value is provided, it will be inferred from `children` or the rendered `textContent`. If your `textContent` changes between renders, you _must_ provide a stable, unique `value`.
- */
- value?: string;
- /** Whether this item is forcibly rendered regardless of filtering. */
- forceMount?: boolean;
- };
-type GroupProps = Children &
- Omit & {
- /** Optional heading to render for this group. */
- heading?: React.ReactNode;
- /** If no heading is provided, you must provide a value that is unique for this group. */
- value?: string;
- /** Whether this group is forcibly rendered regardless of filtering. */
- forceMount?: boolean;
- };
-type InputProps = Omit<
- React.InputHTMLAttributes,
- "value" | "onChange" | "type"
-> & {
- /**
- * Optional controlled state for the value of the search input.
- */
- value?: string;
- /**
- * Event handler called when the search value changes.
- */
- onValueChange?: (search: string) => void;
-};
-type CommandProps = Children &
- DivProps & {
- /**
- * Accessible label for this command menu. Not shown visibly.
- */
- label?: string;
- /**
- * Optionally set to `false` to turn off the automatic filtering and sorting.
- * If `false`, you must conditionally render valid items based on the search query yourself.
- */
- shouldFilter?: boolean;
- /**
- * Custom filter function for whether each command menu item should matches the given search query.
- * It should return a number between 0 and 1, with 1 being the best match and 0 being hidden entirely.
- * By default, uses the `command-score` library.
- */
- filter?: (value: string, search: string) => number;
- /**
- * Optional default item value when it is initially rendered.
- */
- defaultValue?: string;
- /**
- * Optional controlled state of the selected command menu item.
- */
- value?: string;
- /**
- * Event handler called when the selected item of the menu changes.
- */
- onValueChange?: (value: string) => void;
- /**
- * Optionally set to `true` to turn on looping around when using the arrow keys.
- */
- loop?: boolean;
- /**
- * Set to `false` to disable ctrl+n/j/p/k shortcuts. Defaults to `true`.
- */
- vimBindings?: boolean;
- };
-
-type Context = {
- value: (id: string, value: string) => void;
- item: (id: string, groupId: string) => () => void;
- group: (id: string) => () => void;
- filter: () => boolean;
- label: string;
- commandRef: React.RefObject;
- // Ids
- listId: string;
- labelId: string;
- inputId: string;
-};
-type State = {
- search: string;
- value: string;
- filtered: { count: number; items: Map; groups: Set };
-};
-type Store = {
- subscribe: (callback: () => void) => () => void;
- snapshot: () => State;
- setState: (
- key: K,
- value: State[K],
- opts?: any,
- ) => void;
- emit: () => void;
-};
-type Group = {
- id: string;
- forceMount?: boolean;
-};
-
-const LIST_SELECTOR = `[cmdk-list-sizer=""]`;
-const GROUP_SELECTOR = `[cmdk-group=""]`;
-const GROUP_ITEMS_SELECTOR = `[cmdk-group-items=""]`;
-const GROUP_HEADING_SELECTOR = `[cmdk-group-heading=""]`;
-const ITEM_SELECTOR = `[cmdk-item=""]`;
-const VALID_ITEM_SELECTOR = `${ITEM_SELECTOR}:not([aria-disabled="true"])`;
-const SELECT_EVENT = `cmdk-item-select`;
-const VALUE_ATTR = `data-value`;
-const defaultFilter: CommandProps["filter"] = (value, search) =>
- commandScore(value, search);
-
-// @ts-ignore
-const CommandContext = React.createContext(undefined);
-const useCommand = () => React.useContext(CommandContext);
-// @ts-ignore
-const StoreContext = React.createContext(undefined);
-const useStore = () => React.useContext(StoreContext);
-// @ts-ignore
-const GroupContext = React.createContext(undefined);
-
-const Command = React.forwardRef(
- (props, forwardedRef) => {
- const ref = React.useRef(null);
- const state = useLazyRef(() => ({
- /** Value of the search query. */
- search: "",
- /** Currently selected item value. */
- value: props.value ?? props.defaultValue?.toLowerCase() ?? "",
- filtered: {
- /** The count of all visible items. */
- count: 0,
- /** Map from visible item id to its search score. */
- items: new Map(),
- /** Set of groups with at least one visible item. */
- groups: new Set(),
- },
- }));
- const allItems = useLazyRef>(() => new Set()); // [...itemIds]
- const allGroups = useLazyRef
diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts
index 8ab1ac2d..566e7dcb 100644
--- a/packages/ui/src/index.ts
+++ b/packages/ui/src/index.ts
@@ -1,5 +1,6 @@
export * from "./user";
export * from "./note";
+export * from "./column";
// UI
export * from "./container";
diff --git a/packages/ui/src/note/appHandler.tsx b/packages/ui/src/note/appHandler.tsx
deleted file mode 100644
index eb6105fb..00000000
--- a/packages/ui/src/note/appHandler.tsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import { useArk } from "@lume/ark";
-import { useQuery } from "@tanstack/react-query";
-
-export function AppHandler({ tag }: { tag: string[] }) {
- const ark = useArk();
-
- const { isLoading, isError, data } = useQuery({
- queryKey: ["app-handler", tag[1]],
- queryFn: async () => {
- const ref = tag[1].split(":");
- const event = await ark.getEventByFilter({
- filter: {
- kinds: [Number(ref[0])],
- authors: [ref[1]],
- "#d": [ref[2]],
- },
- });
-
- if (!event) return null;
-
- const app = NDKAppHandlerEvent.from(event);
- return await app.fetchProfile();
- },
- refetchOnWindowFocus: false,
- });
-
- if (isLoading) {
-
Loading...
;
- }
-
- if (isError || !data) {
- return
Error
;
- }
-
- return (
-
-

-
-
- {data.name}
-
-
- {data.about}
-
-
-
- );
-}
diff --git a/packages/ui/src/note/buttons/downvote.tsx b/packages/ui/src/note/buttons/downvote.tsx
index 439790ea..9a2b1abe 100644
--- a/packages/ui/src/note/buttons/downvote.tsx
+++ b/packages/ui/src/note/buttons/downvote.tsx
@@ -1,13 +1,13 @@
-import { ArrowDownIcon, ArrowUpIcon, LoaderIcon } from "@lume/icons";
+import { ArrowDownIcon, LoaderIcon } from "@lume/icons";
import { useState } from "react";
import { useNoteContext } from "../provider";
-import { useArk } from "@lume/ark";
import { cn } from "@lume/utils";
import * as Tooltip from "@radix-ui/react-tooltip";
import { useTranslation } from "react-i18next";
+import { useRouteContext } from "@tanstack/react-router";
export function NoteDownvote() {
- const ark = useArk();
+ const ark = useRouteContext({ strict: false });
const event = useNoteContext();
const [t] = useTranslation();
@@ -48,7 +48,7 @@ export function NoteDownvote() {
-
+
{t("note.buttons.downvote")}
diff --git a/packages/ui/src/note/buttons/reply.tsx b/packages/ui/src/note/buttons/reply.tsx
index b9948f0a..8f8f87aa 100644
--- a/packages/ui/src/note/buttons/reply.tsx
+++ b/packages/ui/src/note/buttons/reply.tsx
@@ -1,63 +1,34 @@
-import { LinkIcon, ReplyIcon } from "@lume/icons";
+import { ReplyIcon } from "@lume/icons";
import * as Tooltip from "@radix-ui/react-tooltip";
import { useTranslation } from "react-i18next";
import { useNoteContext } from "../provider";
-import { useArk } from "@lume/ark";
-import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
+import { useRouteContext } from "@tanstack/react-router";
export function NoteReply() {
- const ark = useArk();
const event = useNoteContext();
+ const { ark } = useRouteContext({ strict: false });
const { t } = useTranslation();
return (
-
-
-
-
-
-
-
-
-
-
- {t("note.menu.viewThread")}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ {t("note.menu.viewThread")}
+
+
+
+
+
);
}
diff --git a/packages/ui/src/note/buttons/repost.tsx b/packages/ui/src/note/buttons/repost.tsx
index 544242cf..53cb489a 100644
--- a/packages/ui/src/note/buttons/repost.tsx
+++ b/packages/ui/src/note/buttons/repost.tsx
@@ -1,4 +1,4 @@
-import { LoaderIcon, ReplyIcon, RepostIcon } from "@lume/icons";
+import { LoaderIcon, QuoteIcon, RepostIcon } from "@lume/icons";
import { cn } from "@lume/utils";
import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
import * as Tooltip from "@radix-ui/react-tooltip";
@@ -6,10 +6,10 @@ import { useState } from "react";
import { useTranslation } from "react-i18next";
import { toast } from "sonner";
import { useNoteContext } from "../provider";
-import { useArk } from "@lume/ark";
+import { useRouteContext } from "@tanstack/react-router";
export function NoteRepost() {
- const ark = useArk();
+ const { ark } = useRouteContext({ strict: false });
const event = useNoteContext();
const [t] = useTranslation();
@@ -59,7 +59,7 @@ export function NoteRepost() {
-
+
{t("note.buttons.repost")}
@@ -84,7 +84,7 @@ export function NoteRepost() {
onClick={() => ark.open_editor(event.id, true)}
className="inline-flex h-9 items-center gap-2 rounded-lg px-3 text-sm font-medium text-white hover:bg-neutral-900 focus:outline-none dark:text-black dark:hover:bg-neutral-100"
>
-
+
{t("note.buttons.quote")}
diff --git a/packages/ui/src/note/buttons/upvote.tsx b/packages/ui/src/note/buttons/upvote.tsx
index 2aaf6184..0c68187a 100644
--- a/packages/ui/src/note/buttons/upvote.tsx
+++ b/packages/ui/src/note/buttons/upvote.tsx
@@ -1,13 +1,13 @@
import { ArrowUpIcon, LoaderIcon } from "@lume/icons";
import { useState } from "react";
import { useNoteContext } from "../provider";
-import { useArk } from "@lume/ark";
import { cn } from "@lume/utils";
import * as Tooltip from "@radix-ui/react-tooltip";
import { useTranslation } from "react-i18next";
+import { useRouteContext } from "@tanstack/react-router";
export function NoteUpvote() {
- const ark = useArk();
+ const { ark } = useRouteContext({ strict: false });
const event = useNoteContext();
const [t] = useTranslation();
@@ -48,7 +48,7 @@ export function NoteUpvote() {
-
+
{t("note.buttons.upvote")}
diff --git a/packages/ui/src/note/buttons/zap.tsx b/packages/ui/src/note/buttons/zap.tsx
index c01dfe82..8cc25a7d 100644
--- a/packages/ui/src/note/buttons/zap.tsx
+++ b/packages/ui/src/note/buttons/zap.tsx
@@ -1,11 +1,12 @@
-import { useArk } from "@lume/ark";
import { ZapIcon } from "@lume/icons";
import { toast } from "sonner";
import { useNoteContext } from "../provider";
+import { useRouteContext, useSearch } from "@tanstack/react-router";
export function NoteZap() {
- const ark = useArk();
const event = useNoteContext();
+ const { ark } = useRouteContext({ strict: false });
+ const { account } = useSearch({ strict: false });
const zap = async () => {
try {
@@ -13,7 +14,7 @@ export function NoteZap() {
if (!nwc) {
ark.open_nwc();
} else {
- ark.open_zap(event.id, event.pubkey);
+ ark.open_zap(event.id, event.pubkey, account);
}
} catch (e) {
toast.error(String(e));
diff --git a/packages/ui/src/note/content.tsx b/packages/ui/src/note/content.tsx
index ecfd2507..9d3f50d4 100644
--- a/packages/ui/src/note/content.tsx
+++ b/packages/ui/src/note/content.tsx
@@ -1,4 +1,4 @@
-import { Kind } from "@lume/types";
+import { Kind, Settings } from "@lume/types";
import {
AUDIOS,
IMAGES,
@@ -7,7 +7,6 @@ import {
VIDEOS,
cn,
} from "@lume/utils";
-import { NIP89 } from "./nip89";
import { useNoteContext } from "./provider";
import { ReactNode, useMemo } from "react";
import { nanoid } from "nanoid";
@@ -17,15 +16,25 @@ import { Hashtag } from "./mentions/hashtag";
import { VideoPreview } from "./preview/video";
import { ImagePreview } from "./preview/image";
import reactStringReplace from "react-string-replace";
+import { useRouteContext } from "@tanstack/react-router";
-export function NoteContent({ className }: { className?: string }) {
+export function NoteContent({
+ compact = true,
+ className,
+}: {
+ compact?: boolean;
+ className?: string;
+}) {
+ const settings: Settings = useRouteContext({ strict: false });
const event = useNoteContext();
const content = useMemo(() => {
const text = event.content.trim();
const words = text.split(/( |\n)/);
// @ts-ignore, kaboom !!!
- let parsedContent: ReactNode[] = text;
+ let parsedContent: ReactNode[] = compact
+ ? text.replace(/\n\s*\n/g, "\n")
+ : text;
const hashtags = words.filter((word) => word.startsWith("#"));
const events = words.filter((word) =>
@@ -73,16 +82,18 @@ export function NoteContent({ className }: { className?: string }) {
const url = new URL(match);
const ext = url.pathname.split(".")[1];
- if (IMAGES.includes(ext)) {
- return ;
- }
+ if (!settings.enhancedPrivacy) {
+ if (IMAGES.includes(ext)) {
+ return ;
+ }
- if (VIDEOS.includes(ext)) {
- return ;
- }
+ if (VIDEOS.includes(ext)) {
+ return ;
+ }
- if (AUDIOS.includes(ext)) {
- return ;
+ if (AUDIOS.includes(ext)) {
+ return ;
+ }
}
return (
@@ -112,16 +123,18 @@ export function NoteContent({ className }: { className?: string }) {
},
);
+ if (compact) {
+ parsedContent = reactStringReplace(parsedContent, /\n|\r/g, () => (
+
+ ));
+ }
+
return parsedContent;
} catch (e) {
return text;
}
}, []);
- if (event.kind !== Kind.Text) {
- return ;
- }
-
return (
diff --git a/packages/ui/src/note/mentions/note.tsx b/packages/ui/src/note/mentions/note.tsx
index ce521b26..c28ed4ee 100644
--- a/packages/ui/src/note/mentions/note.tsx
+++ b/packages/ui/src/note/mentions/note.tsx
@@ -1,7 +1,8 @@
import { useTranslation } from "react-i18next";
import { User } from "../../user";
-import { useArk, useEvent } from "@lume/ark";
+import { useEvent } from "@lume/ark";
import { LinkIcon } from "@lume/icons";
+import { useRouteContext } from "@tanstack/react-router";
export function MentionNote({
eventId,
@@ -10,8 +11,7 @@ export function MentionNote({
eventId: string;
openable?: boolean;
}) {
- const ark = useArk();
-
+ const { ark } = useRouteContext({ strict: false });
const { t } = useTranslation();
const { isLoading, isError, data } = useEvent(eventId);
@@ -52,7 +52,7 @@ export function MentionNote({
-
+
{data.content}
{openable ? (
diff --git a/packages/ui/src/note/mentions/user.tsx b/packages/ui/src/note/mentions/user.tsx
index 7f91a985..12cb5b34 100644
--- a/packages/ui/src/note/mentions/user.tsx
+++ b/packages/ui/src/note/mentions/user.tsx
@@ -1,8 +1,9 @@
-import { useArk, useProfile } from "@lume/ark";
+import { useProfile } from "@lume/ark";
import { displayNpub } from "@lume/utils";
+import { useRouteContext } from "@tanstack/react-router";
export function MentionUser({ pubkey }: { pubkey: string }) {
- const ark = useArk();
+ const { ark } = useRouteContext({ strict: false });
const { isLoading, isError, profile } = useProfile(pubkey);
return (
diff --git a/packages/ui/src/note/menu.tsx b/packages/ui/src/note/menu.tsx
index 4f36250a..c182121d 100644
--- a/packages/ui/src/note/menu.tsx
+++ b/packages/ui/src/note/menu.tsx
@@ -3,13 +3,13 @@ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
import { writeText } from "@tauri-apps/plugin-clipboard-manager";
import { useTranslation } from "react-i18next";
import { useNoteContext } from "./provider";
-import { useArk } from "@lume/ark";
import { toast } from "sonner";
+import { useRouteContext } from "@tanstack/react-router";
export function NoteMenu() {
- const ark = useArk();
const event = useNoteContext();
+ const { ark } = useRouteContext({ strict: false });
const { t } = useTranslation();
const copyID = async () => {
diff --git a/packages/ui/src/note/nip89.tsx b/packages/ui/src/note/nip89.tsx
deleted file mode 100644
index ed4cd257..00000000
--- a/packages/ui/src/note/nip89.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import { useQuery } from "@tanstack/react-query";
-import { useTranslation } from "react-i18next";
-import { AppHandler } from "./appHandler";
-import { useNoteContext } from "./provider";
-import { useArk } from "@lume/ark";
-
-export function NIP89({ className }: { className?: string }) {
- const ark = useArk();
- const event = useNoteContext();
-
- const { t } = useTranslation();
- const { isLoading, isError, data } = useQuery({
- queryKey: ["app-recommend", event.id],
- queryFn: () => {
- return ark.getAppRecommend({
- unknownKind: event.kind.toString(),
- author: event.pubkey,
- });
- },
- refetchOnWindowFocus: false,
- refetchOnMount: false,
- staleTime: Infinity,
- });
-
- if (isLoading) {
-
Loading...
;
- }
-
- if (isError || !data) {
- return
Error
;
- }
-
- return (
-
-
-
-
- {t("nip89.unsupported")}
-
-
- {event.kind}
-
-
-
-
- {t("nip89.openWith")}
-
- {data.map((item) => (
-
- ))}
-
-
-
- );
-}
diff --git a/packages/ui/src/note/preview/video.tsx b/packages/ui/src/note/preview/video.tsx
index 1e858034..49a9cf1c 100644
--- a/packages/ui/src/note/preview/video.tsx
+++ b/packages/ui/src/note/preview/video.tsx
@@ -1,30 +1,14 @@
-import {
- MediaControlBar,
- MediaController,
- MediaMuteButton,
- MediaPlayButton,
- MediaTimeDisplay,
- MediaTimeRange,
-} from "media-chrome/dist/react";
-
export function VideoPreview({ url }: { url: string }) {
return (
-
-
-
-
-
-
-
-
-
-
+
+
);
}
diff --git a/packages/ui/src/note/primitives/repost.tsx b/packages/ui/src/note/primitives/repost.tsx
index b4adc458..0ed06fa4 100644
--- a/packages/ui/src/note/primitives/repost.tsx
+++ b/packages/ui/src/note/primitives/repost.tsx
@@ -5,7 +5,7 @@ import { useQuery } from "@tanstack/react-query";
import { useTranslation } from "react-i18next";
import { Note } from "..";
import { User } from "../../user";
-import { useArk } from "@lume/ark";
+import { useRouteContext } from "@tanstack/react-router";
export function RepostNote({
event,
@@ -14,8 +14,7 @@ export function RepostNote({
event: Event;
className?: string;
}) {
- const ark = useArk();
-
+ const { ark } = useRouteContext({ strict: false });
const { t } = useTranslation();
const {
isLoading,
diff --git a/packages/ui/src/note/thread.tsx b/packages/ui/src/note/thread.tsx
index 3214c9d8..5ce6a4a0 100644
--- a/packages/ui/src/note/thread.tsx
+++ b/packages/ui/src/note/thread.tsx
@@ -2,11 +2,11 @@ import { cn } from "@lume/utils";
import { useTranslation } from "react-i18next";
import { Note } from ".";
import { useNoteContext } from "./provider";
-import { useArk } from "@lume/ark";
import { LinkIcon } from "@lume/icons";
+import { useRouteContext } from "@tanstack/react-router";
export function NoteThread({ className }: { className?: string }) {
- const ark = useArk();
+ const { ark } = useRouteContext({ strict: false });
const event = useNoteContext();
const thread = ark.parse_event_thread({
content: event.content,
diff --git a/packages/ui/src/note/user.tsx b/packages/ui/src/note/user.tsx
index f7485209..dff99ab8 100644
--- a/packages/ui/src/note/user.tsx
+++ b/packages/ui/src/note/user.tsx
@@ -2,10 +2,10 @@ import { cn } from "@lume/utils";
import * as HoverCard from "@radix-ui/react-hover-card";
import { User } from "../user";
import { useNoteContext } from "./provider";
-import { useArk } from "@lume/ark";
+import { useRouteContext } from "@tanstack/react-router";
export function NoteUser({ className }: { className?: string }) {
- const ark = useArk();
+ const { ark } = useRouteContext({ strict: false });
const event = useNoteContext();
return (
@@ -32,8 +32,9 @@ export function NoteUser({ className }: { className?: string }) {
diff --git a/packages/ui/src/search/dialog.tsx b/packages/ui/src/search/dialog.tsx
deleted file mode 100644
index 88ee251c..00000000
--- a/packages/ui/src/search/dialog.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-import { Note, User, useArk } from "@lume/ark";
-import { LoaderIcon, SearchIcon } from "@lume/icons";
-import { COL_TYPES, searchAtom } from "@lume/utils";
-import { type NDKEvent, NDKKind } from "@nostr-dev-kit/ndk";
-import { useAtom } from "jotai";
-import { useEffect, useState } from "react";
-import { useTranslation } from "react-i18next";
-import { useDebounce } from "use-debounce";
-import { Command } from "../cmdk";
-
-export function SearchDialog() {
- const ark = useArk();
-
- const [open, setOpen] = useAtom(searchAtom);
- const [loading, setLoading] = useState(false);
- const [events, setEvents] = useState
([]);
- const [search, setSearch] = useState("");
- const [value] = useDebounce(search, 1200);
-
- const { t } = useTranslation();
-
- const searchEvents = async () => {
- if (!value.length) return;
-
- // start loading
- setLoading(true);
-
- // search events, require nostr.band relay
- const events = await ark.getEvents({
- kinds: [NDKKind.Text, NDKKind.Metadata],
- search: value,
- limit: 20,
- });
-
- // update state
- setLoading(false);
- setEvents(events);
- };
-
- const selectEvent = (kind: NDKKind, value: string) => {
- if (!value.length) return;
-
- if (kind === NDKKind.Metadata) {
- // add new column
- addColumn({
- kind: COL_TYPES.user,
- title: "User",
- content: value,
- });
- } else {
- // add new column
- addColumn({
- kind: COL_TYPES.thread,
- title: "",
- content: value,
- });
- }
-
- // update state
- setOpen(false);
- vlistRef?.current.scrollToIndex(columns.length);
- };
-
- useEffect(() => {
- searchEvents();
- }, [value]);
-
- // Toggle the menu when ⌘K is pressed
- useEffect(() => {
- const down = (e) => {
- if (e.key === "k" && (e.metaKey || e.ctrlKey)) {
- e.preventDefault();
- setOpen((open) => !open);
- }
- };
-
- document.addEventListener("keydown", down);
- return () => document.removeEventListener("keydown", down);
- }, []);
-
- return (
-
-
-
-
-
- {loading ? (
-
-
-
- ) : !events.length ? (
-
- {t("global.noResult")}
-
- ) : (
- <>
-
- {events
- .filter((ev) => ev.kind === NDKKind.Metadata)
- .map((event) => (
- selectEvent(event.kind, value)}
- className="py-3 px-3 bg-neutral-50 dark:bg-neutral-950 rounded-xl my-3 focus:ring-1 focus:ring-blue-500"
- >
-
-
-
-
-
-
-
- ))}
-
-
- {events
- .filter((ev) => ev.kind === NDKKind.Text)
- .map((event) => (
- selectEvent(event.kind, value)}
- className="py-3 px-3 bg-neutral-50 dark:bg-neutral-950 rounded-xl my-3"
- >
-
-
-
-
- {event.content}
-
-
-
-
- ))}
-
- >
- )}
- {!loading && !events.length ? (
-
-
-
-
- {t("search.empty")}
-
- ) : null}
-
-
- );
-}
diff --git a/packages/ui/src/user/followButton.tsx b/packages/ui/src/user/followButton.tsx
index f634ca7f..7986a137 100644
--- a/packages/ui/src/user/followButton.tsx
+++ b/packages/ui/src/user/followButton.tsx
@@ -1,12 +1,12 @@
-import { useArk } from "@lume/ark";
import { LoaderIcon } from "@lume/icons";
import { cn } from "@lume/utils";
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { useUserContext } from "./provider";
+import { useRouteContext } from "@tanstack/react-router";
export function UserFollowButton({ className }: { className?: string }) {
- const ark = useArk();
+ const { ark } = useRouteContext({ strict: false });
const user = useUserContext();
const [t] = useTranslation();
diff --git a/packages/ui/src/user/nip05.tsx b/packages/ui/src/user/nip05.tsx
index 9ec72d3a..75ab86ff 100644
--- a/packages/ui/src/user/nip05.tsx
+++ b/packages/ui/src/user/nip05.tsx
@@ -1,13 +1,13 @@
import { VerifiedIcon } from "@lume/icons";
-import { cn, displayNpub } from "@lume/utils";
+import { cn, displayLongHandle, displayNpub } from "@lume/utils";
import { useQuery } from "@tanstack/react-query";
import { useUserContext } from "./provider";
-import { useArk } from "@lume/ark";
+import { useRouteContext } from "@tanstack/react-router";
export function UserNip05({ className }: { className?: string }) {
- const ark = useArk();
const user = useUserContext();
+ const { ark } = useRouteContext({ strict: false });
const { isLoading, data: verified } = useQuery({
queryKey: ["nip05", user?.pubkey],
queryFn: async () => {
@@ -23,7 +23,9 @@ export function UserNip05({ className }: { className?: string }) {
{!user.profile?.nip05
? displayNpub(user.pubkey, 16)
- : user.profile?.nip05.replace("_@", "")}
+ : user.profile?.nip05.length > 50
+ ? displayLongHandle(user.profile?.nip05)
+ : user.profile.nip05?.replace("_@", "")}
{!isLoading && verified ? (
diff --git a/packages/utils/index.ts b/packages/utils/index.ts
index fbf46d79..148d2745 100644
--- a/packages/utils/index.ts
+++ b/packages/utils/index.ts
@@ -5,7 +5,9 @@ export * from "./src/editor";
export * from "./src/nip01";
export * from "./src/nip94";
export * from "./src/notification";
-export * from "./src/hooks/useNetworkStatus";
-export * from "./src/hooks/useOpenGraph";
export * from "./src/cn";
export * from "./src/image";
+
+// Hooks
+export * from "./src/hooks/useNetworkStatus";
+export * from "./src/hooks/useOpenGraph";
diff --git a/packages/utils/package.json b/packages/utils/package.json
index de777c07..4b7db848 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -8,22 +8,22 @@
"access": "public"
},
"dependencies": {
- "@tanstack/react-query": "^5.24.1",
+ "@tanstack/react-query": "^5.29.0",
"bitcoin-units": "^1.0.0",
"clsx": "^2.1.0",
"dayjs": "^1.11.10",
- "nostr-tools": "^2.3.1",
+ "nostr-tools": "^2.4.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "slate": "^0.101.5",
- "slate-react": "^0.101.6"
+ "slate": "^0.102.0",
+ "slate-react": "^0.102.0"
},
"devDependencies": {
"@lume/tsconfig": "workspace:^",
"@lume/types": "workspace:^",
- "@types/react": "^18.2.61",
- "@types/react-dom": "^18.2.19",
- "tailwind-merge": "^2.2.1",
- "typescript": "^5.3.3"
+ "@types/react": "^18.2.75",
+ "@types/react-dom": "^18.2.24",
+ "tailwind-merge": "^2.2.2",
+ "typescript": "^5.4.4"
}
}
diff --git a/packages/utils/src/formater.ts b/packages/utils/src/formater.ts
index 9532b58e..59942d00 100644
--- a/packages/utils/src/formater.ts
+++ b/packages/utils/src/formater.ts
@@ -45,6 +45,21 @@ export function formatCreatedAt(time: number, message = false) {
return formated;
}
+export function displayNsec(key: string, len: number) {
+ if (key.length <= len) return key;
+
+ const separator = " ... ";
+
+ const sepLen = separator.length;
+ const charsToShow = len - sepLen;
+ const frontChars = Math.ceil(charsToShow / 2);
+ const backChars = Math.floor(charsToShow / 2);
+
+ return (
+ key.substr(0, frontChars) + separator + key.substr(key.length - backChars)
+ );
+}
+
export function displayNpub(pubkey: string, len: number) {
const npub = pubkey.startsWith("npub1")
? pubkey
@@ -65,6 +80,14 @@ export function displayNpub(pubkey: string, len: number) {
);
}
+export function displayLongHandle(str: string) {
+ const split = str.split("@");
+ const handle = split[0];
+ const service = split[1];
+
+ return handle.substring(0, 16) + "..." + "@" + service;
+}
+
// convert number to K, M, B, T, etc.
export const compactNumber = Intl.NumberFormat("en", { notation: "compact" });
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 06380c33..93d58d1c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -9,54 +9,51 @@ importers:
.:
dependencies:
'@tauri-apps/api':
- specifier: 2.0.0-beta.3
- version: 2.0.0-beta.3
+ specifier: 2.0.0-beta.7
+ version: 2.0.0-beta.7
'@tauri-apps/plugin-autostart':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-clipboard-manager':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.1.0-beta.0
+ version: 2.1.0-beta.0
'@tauri-apps/plugin-dialog':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-fs':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-http':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-notification':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-os':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-process':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-shell':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
- '@tauri-apps/plugin-sql':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-updater':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
'@tauri-apps/plugin-upload':
- specifier: 2.0.0-beta.1
- version: 2.0.0-beta.1
+ specifier: 2.0.0-beta.2
+ version: 2.0.0-beta.2
devDependencies:
'@biomejs/biome':
- specifier: ^1.5.3
- version: 1.5.3
+ specifier: ^1.6.4
+ version: 1.6.4
'@tauri-apps/cli':
- specifier: 2.0.0-beta.6
- version: 2.0.0-beta.6
+ specifier: 2.0.0-beta.12
+ version: 2.0.0-beta.12
turbo:
- specifier: ^1.12.4
- version: 1.12.4
+ specifier: ^1.13.2
+ version: 1.13.2
apps/desktop2:
dependencies:
@@ -74,40 +71,49 @@ importers:
version: link:../../packages/utils
'@radix-ui/react-checkbox':
specifier: ^1.0.4
- version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-collapsible':
specifier: ^1.0.3
- version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-dialog':
specifier: ^1.0.5
- version: 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-dropdown-menu':
specifier: ^2.0.6
- version: 2.0.6(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 2.0.6(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-popover':
specifier: ^1.0.7
- version: 1.0.7(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-switch':
+ specifier: ^1.0.3
+ version: 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@tanstack/query-sync-storage-persister':
- specifier: ^5.24.1
- version: 5.24.1
+ specifier: ^5.29.0
+ version: 5.29.0
'@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
+ specifier: ^5.29.0
+ version: 5.29.0(react@18.2.0)
'@tanstack/react-query-persist-client':
- specifier: ^5.24.1
- version: 5.24.1(@tanstack/react-query@5.24.1)(react@18.2.0)
+ specifier: ^5.29.0
+ version: 5.29.0(@tanstack/react-query@5.29.0)(react@18.2.0)
'@tanstack/react-router':
- specifier: ^1.18.1
- version: 1.18.1(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.26.18
+ version: 1.26.18(react-dom@18.2.0)(react@18.2.0)
i18next:
- specifier: ^23.10.0
- version: 23.10.0
+ specifier: ^23.11.1
+ version: 23.11.1
i18next-resources-to-backend:
specifier: ^1.2.0
version: 1.2.0
+ minidenticons:
+ specifier: ^4.2.1
+ version: 4.2.1
+ nanoid:
+ specifier: ^5.0.7
+ version: 5.0.7
nostr-tools:
- specifier: ^2.3.1
- version: 2.3.1(typescript@5.3.3)
+ specifier: ^2.4.0
+ version: 2.4.0(typescript@5.4.4)
react:
specifier: ^18.2.0
version: 18.2.0
@@ -117,21 +123,30 @@ importers:
react-dom:
specifier: ^18.2.0
version: 18.2.0(react@18.2.0)
+ react-hook-form:
+ specifier: ^7.51.2
+ version: 7.51.2(react@18.2.0)
+ react-hotkeys-hook:
+ specifier: ^4.5.0
+ version: 4.5.0(react-dom@18.2.0)(react@18.2.0)
react-i18next:
- specifier: ^14.0.5
- version: 14.0.5(i18next@23.10.0)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^14.1.0
+ version: 14.1.0(i18next@23.11.1)(react-dom@18.2.0)(react@18.2.0)
slate:
- specifier: ^0.101.5
- version: 0.101.5
+ specifier: ^0.102.0
+ version: 0.102.0
slate-react:
- specifier: ^0.101.6
- version: 0.101.6(react-dom@18.2.0)(react@18.2.0)(slate@0.101.5)
+ specifier: ^0.102.0
+ version: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0)
sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.4.41
+ version: 1.4.41(react-dom@18.2.0)(react@18.2.0)
+ use-debounce:
+ specifier: ^10.0.0
+ version: 10.0.0(react@18.2.0)
virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^0.29.2
+ version: 0.29.2(react-dom@18.2.0)(react@18.2.0)
devDependencies:
'@lume/tailwindcss':
specifier: workspace:^
@@ -143,81 +158,81 @@ importers:
specifier: workspace:^
version: link:../../packages/types
'@tanstack/router-devtools':
- specifier: ^1.18.1
- version: 1.18.1(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.26.18
+ version: 1.26.18(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0)
'@tanstack/router-vite-plugin':
- specifier: ^1.18.1
- version: 1.18.1
+ specifier: ^1.26.16
+ version: 1.26.16(vite@5.2.8)
'@types/react':
- specifier: ^18.2.61
- version: 18.2.61
+ specifier: ^18.2.75
+ version: 18.2.75
'@types/react-dom':
- specifier: ^18.2.19
- version: 18.2.19
+ specifier: ^18.2.24
+ version: 18.2.24
'@vitejs/plugin-react-swc':
specifier: ^3.6.0
- version: 3.6.0(vite@5.1.4)
+ version: 3.6.0(vite@5.2.8)
autoprefixer:
- specifier: ^10.4.18
- version: 10.4.18(postcss@8.4.35)
+ specifier: ^10.4.19
+ version: 10.4.19(postcss@8.4.38)
postcss:
- specifier: ^8.4.35
- version: 8.4.35
+ specifier: ^8.4.38
+ version: 8.4.38
tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
+ specifier: ^3.4.3
+ version: 3.4.3
typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.4.4
+ version: 5.4.4
vite:
- specifier: ^5.1.4
- version: 5.1.4
+ specifier: ^5.2.8
+ version: 5.2.8
vite-plugin-top-level-await:
specifier: ^1.4.1
- version: 1.4.1(vite@5.1.4)
+ version: 1.4.1(vite@5.2.8)
vite-tsconfig-paths:
- specifier: ^4.3.1
- version: 4.3.1(typescript@5.3.3)(vite@5.1.4)
+ specifier: ^4.3.2
+ version: 4.3.2(typescript@5.4.4)(vite@5.2.8)
apps/web:
dependencies:
'@astrojs/check':
- specifier: ^0.4.1
- version: 0.4.1(typescript@5.3.3)
+ specifier: ^0.5.10
+ version: 0.5.10(typescript@5.4.4)
'@astrojs/tailwind':
specifier: ^5.1.0
- version: 5.1.0(astro@4.4.9)(tailwindcss@3.4.1)
+ version: 5.1.0(astro@4.5.18)(tailwindcss@3.4.3)
'@fontsource/geist-mono':
- specifier: ^5.0.1
- version: 5.0.1
+ specifier: ^5.0.2
+ version: 5.0.2
astro:
- specifier: ^4.4.9
- version: 4.4.9(typescript@5.3.3)
+ specifier: ^4.5.18
+ version: 4.5.18(typescript@5.4.4)
astro-seo-meta:
specifier: ^4.1.0
- version: 4.1.0(astro@4.4.9)
+ version: 4.1.0(astro@4.5.18)
astro-seo-schema:
specifier: ^4.0.0
- version: 4.0.0(astro@4.4.9)(schema-dts@1.1.2)
+ version: 4.0.0(astro@4.5.18)(schema-dts@1.1.2)
schema-dts:
specifier: ^1.1.2
- version: 1.1.2(typescript@5.3.3)
+ version: 1.1.2(typescript@5.4.4)
tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
+ specifier: ^3.4.3
+ version: 3.4.3
typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.4.4
+ version: 5.4.4
devDependencies:
'@tailwindcss/typography':
- specifier: ^0.5.10
- version: 0.5.10(tailwindcss@3.4.1)
+ specifier: ^0.5.12
+ version: 0.5.12(tailwindcss@3.4.3)
packages/ark:
dependencies:
'@getalby/sdk':
- specifier: ^3.3.1
- version: 3.3.1(typescript@5.3.3)
+ specifier: ^3.4.3
+ version: 3.4.3(typescript@5.4.4)
'@lume/icons':
specifier: workspace:^
version: link:../icons
@@ -226,40 +241,43 @@ importers:
version: link:../utils
'@radix-ui/react-avatar':
specifier: ^1.0.4
- version: 1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.4(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-collapsible':
specifier: ^1.0.3
- version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-dialog':
specifier: ^1.0.5
- version: 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-dropdown-menu':
specifier: ^2.0.6
- version: 2.0.6(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 2.0.6(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-hover-card':
specifier: ^1.0.7
- version: 1.0.7(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-popover':
specifier: ^1.0.7
- version: 1.0.7(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-tooltip':
specifier: ^1.0.7
- version: 1.0.7(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
+ specifier: ^5.29.0
+ version: 5.29.0(react@18.2.0)
+ '@tanstack/react-router':
+ specifier: ^1.26.18
+ version: 1.26.18(react-dom@18.2.0)(react@18.2.0)
get-urls:
specifier: ^12.1.0
version: 12.1.0
media-chrome:
- specifier: ^2.2.5
- version: 2.2.5
+ specifier: ^3.2.0
+ version: 3.2.0
minidenticons:
specifier: ^4.2.1
version: 4.2.1
nanoid:
- specifier: ^5.0.6
- version: 5.0.6
+ specifier: ^5.0.7
+ version: 5.0.7
qrcode.react:
specifier: ^3.1.0
version: 3.1.0(react@18.2.0)
@@ -273,20 +291,20 @@ importers:
specifier: ^3.8.0
version: 3.8.0(react@18.2.0)
react-i18next:
- specifier: ^14.0.5
- version: 14.0.5(i18next@23.10.0)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^14.1.0
+ version: 14.1.0(i18next@23.11.1)(react-dom@18.2.0)(react@18.2.0)
react-string-replace:
specifier: ^1.1.1
version: 1.1.1
sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.4.41
+ version: 1.4.41(react-dom@18.2.0)(react@18.2.0)
string-strip-html:
- specifier: ^13.4.6
- version: 13.4.6
+ specifier: ^13.4.8
+ version: 13.4.8
virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^0.29.2
+ version: 0.29.2(react-dom@18.2.0)(react@18.2.0)
devDependencies:
'@lume/tailwindcss':
specifier: workspace:^
@@ -298,14 +316,14 @@ importers:
specifier: workspace:^
version: link:../types
'@types/react':
- specifier: ^18.2.61
- version: 18.2.61
+ specifier: ^18.2.75
+ version: 18.2.75
tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
+ specifier: ^3.4.3
+ version: 3.4.3
typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.4.4
+ version: 5.4.4
packages/icons:
dependencies:
@@ -317,511 +335,11 @@ importers:
specifier: workspace:*
version: link:../tsconfig
'@types/react':
- specifier: ^18.2.61
- version: 18.2.61
+ specifier: ^18.2.75
+ version: 18.2.75
typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-antenas:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-default:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-foryou:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-global:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-group:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-hashtag:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-thread:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-timeline:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-trending-notes:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-user:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
- virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
-
- packages/lume-column-waifu:
- dependencies:
- '@lume/ark':
- specifier: workspace:^
- version: link:../ark
- '@lume/icons':
- specifier: workspace:^
- version: link:../icons
- '@lume/ui':
- specifier: workspace:^
- version: link:../ui
- '@lume/utils':
- specifier: workspace:^
- version: link:../utils
- '@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
- react:
- specifier: ^18.2.0
- version: 18.2.0
- devDependencies:
- '@lume/tailwindcss':
- specifier: workspace:^
- version: link:../tailwindcss
- '@lume/tsconfig':
- specifier: workspace:^
- version: link:../tsconfig
- '@lume/types':
- specifier: workspace:^
- version: link:../types
- '@types/react':
- specifier: ^18.2.61
- version: 18.2.61
- tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
- typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.4.4
+ version: 5.4.4
packages/tailwindcss:
devDependencies:
@@ -830,30 +348,30 @@ importers:
version: 1.2.0
'@tailwindcss/forms':
specifier: ^0.5.7
- version: 0.5.7(tailwindcss@3.4.1)
+ version: 0.5.7(tailwindcss@3.4.3)
'@tailwindcss/typography':
- specifier: ^0.5.10
- version: 0.5.10(tailwindcss@3.4.1)
+ specifier: ^0.5.12
+ version: 0.5.12(tailwindcss@3.4.3)
tailwind-scrollbar:
specifier: ^3.1.0
- version: 3.1.0(tailwindcss@3.4.1)
+ version: 3.1.0(tailwindcss@3.4.3)
tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
+ specifier: ^3.4.3
+ version: 3.4.3
packages/tsconfig: {}
packages/types:
devDependencies:
typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.4.4
+ version: 5.4.4
packages/ui:
dependencies:
'@getalby/sdk':
- specifier: ^3.3.1
- version: 3.3.1(typescript@5.3.3)
+ specifier: ^3.4.3
+ version: 3.4.3(typescript@5.4.4)
'@lume/ark':
specifier: workspace:^
version: link:../ark
@@ -864,56 +382,56 @@ importers:
specifier: workspace:^
version: link:../utils
'@nostr-dev-kit/ndk':
- specifier: ^2.5.0
- version: 2.5.0(typescript@5.3.3)
+ specifier: ^2.7.1
+ version: 2.7.1(typescript@5.4.4)
'@radix-ui/react-accordion':
specifier: ^1.1.2
- version: 1.1.2(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.1.2(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-alert-dialog':
specifier: ^1.0.5
- version: 1.0.5(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.5(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-avatar':
specifier: ^1.0.4
- version: 1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.4(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-collapsible':
specifier: ^1.0.3
- version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-dialog':
specifier: ^1.0.5
- version: 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-dropdown-menu':
specifier: ^2.0.6
- version: 2.0.6(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 2.0.6(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-hover-card':
specifier: ^1.0.7
- version: 1.0.7(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-popover':
specifier: ^1.0.7
- version: 1.0.7(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@radix-ui/react-tooltip':
specifier: ^1.0.7
- version: 1.0.7(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
+ version: 1.0.7(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
'@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
+ specifier: ^5.29.0
+ version: 5.29.0(react@18.2.0)
'@tanstack/react-router':
- specifier: ^1.18.1
- version: 1.18.1(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.26.18
+ version: 1.26.18(react-dom@18.2.0)(react@18.2.0)
framer-motion:
- specifier: ^11.0.8
- version: 11.0.8(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^11.0.25
+ version: 11.0.25(react-dom@18.2.0)(react@18.2.0)
get-urls:
specifier: ^12.1.0
version: 12.1.0
media-chrome:
- specifier: ^2.2.5
- version: 2.2.5
+ specifier: ^3.2.0
+ version: 3.2.0
minidenticons:
specifier: ^4.2.1
version: 4.2.1
nanoid:
- specifier: ^5.0.6
- version: 5.0.6
+ specifier: ^5.0.7
+ version: 5.0.7
qrcode.react:
specifier: ^3.1.0
version: 3.1.0(react@18.2.0)
@@ -930,29 +448,29 @@ importers:
specifier: ^18.2.0
version: 18.2.0(react@18.2.0)
react-hook-form:
- specifier: ^7.51.0
- version: 7.51.0(react@18.2.0)
+ specifier: ^7.51.2
+ version: 7.51.2(react@18.2.0)
react-hotkeys-hook:
specifier: ^4.5.0
version: 4.5.0(react-dom@18.2.0)(react@18.2.0)
react-i18next:
- specifier: ^14.0.5
- version: 14.0.5(i18next@23.10.0)(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^14.1.0
+ version: 14.1.0(i18next@23.11.1)(react-dom@18.2.0)(react@18.2.0)
react-string-replace:
specifier: ^1.1.1
version: 1.1.1
slate:
- specifier: ^0.101.5
- version: 0.101.5
+ specifier: ^0.102.0
+ version: 0.102.0
slate-react:
- specifier: ^0.101.6
- version: 0.101.6(react-dom@18.2.0)(react@18.2.0)(slate@0.101.5)
+ specifier: ^0.102.0
+ version: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0)
sonner:
- specifier: ^1.4.3
- version: 1.4.3(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^1.4.41
+ version: 1.4.41(react-dom@18.2.0)(react@18.2.0)
string-strip-html:
- specifier: ^13.4.6
- version: 13.4.6
+ specifier: ^13.4.8
+ version: 13.4.8
uqr:
specifier: ^0.1.2
version: 0.1.2
@@ -960,8 +478,8 @@ importers:
specifier: ^10.0.0
version: 10.0.0(react@18.2.0)
virtua:
- specifier: ^0.27.5
- version: 0.27.5(react-dom@18.2.0)(react@18.2.0)
+ specifier: ^0.29.2
+ version: 0.29.2(react-dom@18.2.0)(react@18.2.0)
devDependencies:
'@lume/tailwindcss':
specifier: workspace:^
@@ -973,20 +491,20 @@ importers:
specifier: workspace:^
version: link:../types
'@types/react':
- specifier: ^18.2.61
- version: 18.2.61
+ specifier: ^18.2.75
+ version: 18.2.75
tailwindcss:
- specifier: ^3.4.1
- version: 3.4.1
+ specifier: ^3.4.3
+ version: 3.4.3
typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.4.4
+ version: 5.4.4
packages/utils:
dependencies:
'@tanstack/react-query':
- specifier: ^5.24.1
- version: 5.24.1(react@18.2.0)
+ specifier: ^5.29.0
+ version: 5.29.0(react@18.2.0)
bitcoin-units:
specifier: ^1.0.0
version: 1.0.0
@@ -997,8 +515,8 @@ importers:
specifier: ^1.11.10
version: 1.11.10
nostr-tools:
- specifier: ^2.3.1
- version: 2.3.1(typescript@5.3.3)
+ specifier: ^2.4.0
+ version: 2.4.0(typescript@5.4.4)
react:
specifier: ^18.2.0
version: 18.2.0
@@ -1006,11 +524,11 @@ importers:
specifier: ^18.2.0
version: 18.2.0(react@18.2.0)
slate:
- specifier: ^0.101.5
- version: 0.101.5
+ specifier: ^0.102.0
+ version: 0.102.0
slate-react:
- specifier: ^0.101.6
- version: 0.101.6(react-dom@18.2.0)(react@18.2.0)(slate@0.101.5)
+ specifier: ^0.102.0
+ version: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0)
devDependencies:
'@lume/tsconfig':
specifier: workspace:^
@@ -1019,17 +537,17 @@ importers:
specifier: workspace:^
version: link:../types
'@types/react':
- specifier: ^18.2.61
- version: 18.2.61
+ specifier: ^18.2.75
+ version: 18.2.75
'@types/react-dom':
- specifier: ^18.2.19
- version: 18.2.19
+ specifier: ^18.2.24
+ version: 18.2.24
tailwind-merge:
- specifier: ^2.2.1
- version: 2.2.1
+ specifier: ^2.2.2
+ version: 2.2.2
typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.4.4
+ version: 5.4.4
packages:
@@ -1043,35 +561,34 @@ packages:
dependencies:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- dev: false
- /@astrojs/check@0.4.1(typescript@5.3.3):
- resolution: {integrity: sha512-XEsuU4TlWkgcsvdeessq5mXLXV1fejtxIioCPv/FfhTzb1bDYe2BtLiSBK+rFTyD9Hl686YOas9AGNMJcpoRsw==}
+ /@astrojs/check@0.5.10(typescript@5.4.4):
+ resolution: {integrity: sha512-vliHXM9cu/viGeKiksUM4mXfO816ohWtawTl2ADPgTsd4nUMjFiyAl7xFZhF34yy4hq4qf7jvK1F2PlR3b5I5w==}
hasBin: true
peerDependencies:
typescript: ^5.0.0
dependencies:
- '@astrojs/language-server': 2.7.6(typescript@5.3.3)
+ '@astrojs/language-server': 2.8.4(typescript@5.4.4)
chokidar: 3.6.0
fast-glob: 3.3.2
kleur: 4.1.5
- typescript: 5.3.3
+ typescript: 5.4.4
yargs: 17.7.2
transitivePeerDependencies:
- prettier
- prettier-plugin-astro
dev: false
- /@astrojs/compiler@2.6.0:
- resolution: {integrity: sha512-c74k8iGHL3DzkosSJ0tGcHIEBEiIfBhr7eadSaPyvWlVKaieDVzVs8OW1tnRSQyBsfMc8DZQ4RcN2KAcESD8UQ==}
+ /@astrojs/compiler@2.7.1:
+ resolution: {integrity: sha512-/POejAYuj8WEw7ZI0J8JBvevjfp9jQ9Wmu/Bg52RiNwGXkMV7JnYpsenVfHvvf1G7R5sXHGKlTcxlQWhoUTiGQ==}
dev: false
- /@astrojs/internal-helpers@0.2.1:
- resolution: {integrity: sha512-06DD2ZnItMwUnH81LBLco3tWjcZ1lGU9rLCCBaeUCGYe9cI0wKyY2W3kDyoW1I6GmcWgt1fu+D1CTvz+FIKf8A==}
+ /@astrojs/internal-helpers@0.4.0:
+ resolution: {integrity: sha512-6B13lz5n6BrbTqCTwhXjJXuR1sqiX/H6rTxzlXx+lN1NnV4jgnq/KJldCQaUWJzPL5SiWahQyinxAbxQtwgPHA==}
dev: false
- /@astrojs/language-server@2.7.6(typescript@5.3.3):
- resolution: {integrity: sha512-NhMSmMAuKBMXnvpfn9eYPR7R6zOasAjRb+ta8L+rCHHuKzUc0lBgAF5M6rx01FJqlpGqeqao13eYt4287Ze49g==}
+ /@astrojs/language-server@2.8.4(typescript@5.4.4):
+ resolution: {integrity: sha512-sJH5vGTBkhgA8+hdhzX78UUp4cFz4Mt7xkEkevD188OS5bDMkaue6hK+dtXWM47mnrXFveXA2u38K7S+5+IRjA==}
hasBin: true
peerDependencies:
prettier: ^3.0.0
@@ -1082,31 +599,33 @@ packages:
prettier-plugin-astro:
optional: true
dependencies:
- '@astrojs/compiler': 2.6.0
+ '@astrojs/compiler': 2.7.1
'@jridgewell/sourcemap-codec': 1.4.15
- '@volar/kit': 2.0.4(typescript@5.3.3)
- '@volar/language-core': 2.0.4
- '@volar/language-server': 2.0.4
- '@volar/language-service': 2.0.4
- '@volar/typescript': 2.0.4
+ '@volar/kit': 2.1.6(typescript@5.4.4)
+ '@volar/language-core': 2.1.6
+ '@volar/language-server': 2.1.6
+ '@volar/language-service': 2.1.6
+ '@volar/typescript': 2.1.6
fast-glob: 3.3.2
- volar-service-css: 0.0.30(@volar/language-service@2.0.4)
- volar-service-emmet: 0.0.30(@volar/language-service@2.0.4)
- volar-service-html: 0.0.30(@volar/language-service@2.0.4)
- volar-service-prettier: 0.0.30(@volar/language-service@2.0.4)
- volar-service-typescript: 0.0.30(@volar/language-service@2.0.4)(@volar/typescript@2.0.4)
- volar-service-typescript-twoslash-queries: 0.0.30(@volar/language-service@2.0.4)
- vscode-html-languageservice: 5.1.2
+ volar-service-css: 0.0.34(@volar/language-service@2.1.6)
+ volar-service-emmet: 0.0.34(@volar/language-service@2.1.6)
+ volar-service-html: 0.0.34(@volar/language-service@2.1.6)
+ volar-service-prettier: 0.0.34(@volar/language-service@2.1.6)
+ volar-service-typescript: 0.0.34(@volar/language-service@2.1.6)
+ volar-service-typescript-twoslash-queries: 0.0.34(@volar/language-service@2.1.6)
+ vscode-html-languageservice: 5.2.0
vscode-uri: 3.0.8
transitivePeerDependencies:
- typescript
dev: false
- /@astrojs/markdown-remark@4.2.1:
- resolution: {integrity: sha512-2RQBIwrq+2qPYtp99bH+eL5hfbK0BoxXla85lHsRpIX/IsGqFrPX6pXI2cbWPihBwGbKCdxS6uZNX2QerZWwpQ==}
+ /@astrojs/markdown-remark@5.0.0:
+ resolution: {integrity: sha512-QBXbxXZamVRoqCNN2gjDXa7qYPUkJZq7KYFfg3DX7rze3QL6xiz4N+Wg202dNPRaIkQa16BV6D8+EHibQFubRg==}
dependencies:
'@astrojs/prism': 3.0.0
github-slugger: 2.0.0
+ hast-util-from-html: 2.0.1
+ hast-util-to-text: 4.0.1
import-meta-resolve: 4.0.0
mdast-util-definitions: 6.0.0
rehype-raw: 7.0.0
@@ -1115,9 +634,11 @@ packages:
remark-parse: 11.0.0
remark-rehype: 11.1.0
remark-smartypants: 2.1.0
- shikiji: 0.9.19
+ shiki: 1.3.0
unified: 11.0.4
+ unist-util-remove-position: 5.0.0
unist-util-visit: 5.0.0
+ unist-util-visit-parents: 6.0.1
vfile: 6.0.1
transitivePeerDependencies:
- supports-color
@@ -1130,17 +651,17 @@ packages:
prismjs: 1.29.0
dev: false
- /@astrojs/tailwind@5.1.0(astro@4.4.9)(tailwindcss@3.4.1):
+ /@astrojs/tailwind@5.1.0(astro@4.5.18)(tailwindcss@3.4.3):
resolution: {integrity: sha512-BJoCDKuWhU9FT2qYg+fr6Nfb3qP4ShtyjXGHKA/4mHN94z7BGcmauQK23iy+YH5qWvTnhqkd6mQPQ1yTZTe9Ig==}
peerDependencies:
astro: ^3.0.0 || ^4.0.0
tailwindcss: ^3.0.24
dependencies:
- astro: 4.4.9(typescript@5.3.3)
- autoprefixer: 10.4.18(postcss@8.4.35)
- postcss: 8.4.35
- postcss-load-config: 4.0.2(postcss@8.4.35)
- tailwindcss: 3.4.1
+ astro: 4.5.18(typescript@5.4.4)
+ autoprefixer: 10.4.19(postcss@8.4.38)
+ postcss: 8.4.38
+ postcss-load-config: 4.0.2(postcss@8.4.38)
+ tailwindcss: 3.4.3
transitivePeerDependencies:
- ts-node
dev: false
@@ -1160,32 +681,30 @@ packages:
- supports-color
dev: false
- /@babel/code-frame@7.23.5:
- resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ /@babel/code-frame@7.24.2:
+ resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/highlight': 7.23.4
- chalk: 2.4.2
- dev: false
+ '@babel/highlight': 7.24.2
+ picocolors: 1.0.0
- /@babel/compat-data@7.23.5:
- resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
+ /@babel/compat-data@7.24.4:
+ resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
engines: {node: '>=6.9.0'}
- dev: false
- /@babel/core@7.24.0:
- resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==}
+ /@babel/core@7.24.4:
+ resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==}
engines: {node: '>=6.9.0'}
dependencies:
'@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.6
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.4
'@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
- '@babel/helpers': 7.24.0
- '@babel/parser': 7.24.0
+ '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4)
+ '@babel/helpers': 7.24.4
+ '@babel/parser': 7.24.4
'@babel/template': 7.24.0
- '@babel/traverse': 7.24.0
+ '@babel/traverse': 7.24.1
'@babel/types': 7.24.0
convert-source-map: 2.0.0
debug: 4.3.4
@@ -1194,40 +713,53 @@ packages:
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- dev: false
- /@babel/generator@7.23.6:
- resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
+ /@babel/generator@7.24.4:
+ resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 2.5.2
- dev: false
/@babel/helper-annotate-as-pure@7.22.5:
resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
/@babel/helper-compilation-targets@7.23.6:
resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/compat-data': 7.23.5
+ '@babel/compat-data': 7.24.4
'@babel/helper-validator-option': 7.23.5
browserslist: 4.23.0
lru-cache: 5.1.1
semver: 6.3.1
- dev: false
+
+ /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4):
+ resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.22.6
+ semver: 6.3.1
+ dev: true
/@babel/helper-environment-visitor@7.22.20:
resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-function-name@7.23.0:
resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
@@ -1235,124 +767,186 @@ packages:
dependencies:
'@babel/template': 7.24.0
'@babel/types': 7.24.0
- dev: false
/@babel/helper-hoist-variables@7.22.5:
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
- /@babel/helper-module-imports@7.22.15:
- resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
+ /@babel/helper-member-expression-to-functions@7.23.0:
+ resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
+ dev: true
- /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0):
+ /@babel/helper-module-imports@7.24.3:
+ resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+
+ /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4):
resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.24.0
+ '@babel/core': 7.24.4
'@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-module-imports': 7.24.3
'@babel/helper-simple-access': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
'@babel/helper-validator-identifier': 7.22.20
- dev: false
+
+ /@babel/helper-optimise-call-expression@7.22.5:
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: true
/@babel/helper-plugin-utils@7.24.0:
resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==}
engines: {node: '>=6.9.0'}
- dev: false
+
+ /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4):
+ resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.23.0
+ '@babel/helper-optimise-call-expression': 7.22.5
+ dev: true
/@babel/helper-simple-access@7.22.5:
resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
+
+ /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.24.0
+ dev: true
/@babel/helper-split-export-declaration@7.22.6:
resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.24.0
- dev: false
- /@babel/helper-string-parser@7.23.4:
- resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
+ /@babel/helper-string-parser@7.24.1:
+ resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-validator-identifier@7.22.20:
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-validator-option@7.23.5:
resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
engines: {node: '>=6.9.0'}
- dev: false
- /@babel/helpers@7.24.0:
- resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==}
+ /@babel/helpers@7.24.4:
+ resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/template': 7.24.0
- '@babel/traverse': 7.24.0
+ '@babel/traverse': 7.24.1
'@babel/types': 7.24.0
transitivePeerDependencies:
- supports-color
- dev: false
- /@babel/highlight@7.23.4:
- resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
+ /@babel/highlight@7.24.2:
+ resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-validator-identifier': 7.22.20
chalk: 2.4.2
js-tokens: 4.0.0
- dev: false
+ picocolors: 1.0.0
- /@babel/parser@7.24.0:
- resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==}
+ /@babel/parser@7.24.4:
+ resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
'@babel/types': 7.24.0
- dev: false
- /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
+ /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4):
+ resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.24.0
+ '@babel/core': 7.24.4
'@babel/helper-plugin-utils': 7.24.0
- dev: false
- /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0):
+ /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4):
+ resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.4):
+ resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.4):
+ resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/helper-plugin-utils': 7.24.0
+ dev: true
+
+ /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4):
resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.24.0
+ '@babel/core': 7.24.4
'@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-module-imports': 7.24.3
'@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
+ '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
'@babel/types': 7.24.0
- dev: false
- /@babel/runtime@7.24.0:
- resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==}
+ /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.4):
+ resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4)
+ '@babel/helper-plugin-utils': 7.24.0
+ '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4)
+ dev: true
+
+ /@babel/runtime@7.24.4:
+ resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 0.14.1
@@ -1361,120 +955,117 @@ packages:
resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/parser': 7.24.0
+ '@babel/code-frame': 7.24.2
+ '@babel/parser': 7.24.4
'@babel/types': 7.24.0
- dev: false
- /@babel/traverse@7.24.0:
- resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==}
+ /@babel/traverse@7.24.1:
+ resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.6
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.4
'@babel/helper-environment-visitor': 7.22.20
'@babel/helper-function-name': 7.23.0
'@babel/helper-hoist-variables': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
- '@babel/parser': 7.24.0
+ '@babel/parser': 7.24.4
'@babel/types': 7.24.0
debug: 4.3.4
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- dev: false
/@babel/types@7.24.0:
resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-string-parser': 7.23.4
+ '@babel/helper-string-parser': 7.24.1
'@babel/helper-validator-identifier': 7.22.20
to-fast-properties: 2.0.0
- dev: false
- /@biomejs/biome@1.5.3:
- resolution: {integrity: sha512-yvZCa/g3akwTaAQ7PCwPWDCkZs3Qa5ONg/fgOUT9e6wAWsPftCjLQFPXBeGxPK30yZSSpgEmRCfpGTmVbUjGgg==}
- engines: {node: '>=14.*'}
+ /@biomejs/biome@1.6.4:
+ resolution: {integrity: sha512-3groVd2oWsLC0ZU+XXgHSNbq31lUcOCBkCcA7sAQGBopHcmL+jmmdoWlY3S61zIh+f2mqQTQte1g6PZKb3JJjA==}
+ engines: {node: '>=14.21.3'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@biomejs/cli-darwin-arm64': 1.5.3
- '@biomejs/cli-darwin-x64': 1.5.3
- '@biomejs/cli-linux-arm64': 1.5.3
- '@biomejs/cli-linux-arm64-musl': 1.5.3
- '@biomejs/cli-linux-x64': 1.5.3
- '@biomejs/cli-linux-x64-musl': 1.5.3
- '@biomejs/cli-win32-arm64': 1.5.3
- '@biomejs/cli-win32-x64': 1.5.3
+ '@biomejs/cli-darwin-arm64': 1.6.4
+ '@biomejs/cli-darwin-x64': 1.6.4
+ '@biomejs/cli-linux-arm64': 1.6.4
+ '@biomejs/cli-linux-arm64-musl': 1.6.4
+ '@biomejs/cli-linux-x64': 1.6.4
+ '@biomejs/cli-linux-x64-musl': 1.6.4
+ '@biomejs/cli-win32-arm64': 1.6.4
+ '@biomejs/cli-win32-x64': 1.6.4
dev: true
- /@biomejs/cli-darwin-arm64@1.5.3:
- resolution: {integrity: sha512-ImU7mh1HghEDyqNmxEZBoMPr8SxekkZuYcs+gynKlNW+TALQs7swkERiBLkG9NR0K1B3/2uVzlvYowXrmlW8hw==}
- engines: {node: '>=14.*'}
+ /@biomejs/cli-darwin-arm64@1.6.4:
+ resolution: {integrity: sha512-2WZef8byI9NRzGajGj5RTrroW9BxtfbP9etigW1QGAtwu/6+cLkdPOWRAs7uFtaxBNiKFYA8j/BxV5zeAo5QOQ==}
+ engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /@biomejs/cli-darwin-x64@1.5.3:
- resolution: {integrity: sha512-vCdASqYnlpq/swErH7FD6nrFz0czFtK4k/iLgj0/+VmZVjineFPgevOb+Sr9vz0tk0GfdQO60bSpI74zU8M9Dw==}
- engines: {node: '>=14.*'}
+ /@biomejs/cli-darwin-x64@1.6.4:
+ resolution: {integrity: sha512-uo1zgM7jvzcoDpF6dbGizejDLCqNpUIRkCj/oEK0PB0NUw8re/cn1EnxuOLZqDpn+8G75COLQTOx8UQIBBN/Kg==}
+ engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /@biomejs/cli-linux-arm64-musl@1.5.3:
- resolution: {integrity: sha512-DYuMizUYUBYfS0IHGjDrOP1RGipqWfMGEvNEJ398zdtmCKLXaUvTimiox5dvx4X15mBK5M2m8wgWUgOP1giUpQ==}
- engines: {node: '>=14.*'}
+ /@biomejs/cli-linux-arm64-musl@1.6.4:
+ resolution: {integrity: sha512-Hp8Jwt6rjj0wCcYAEN6/cfwrrPLLlGOXZ56Lei4Pt4jy39+UuPeAVFPeclrrCfxyL1wQ2xPrhd/saTHSL6DoJg==}
+ engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@biomejs/cli-linux-arm64@1.5.3:
- resolution: {integrity: sha512-cupBQv0sNF1OKqBfx7EDWMSsKwRrBUZfjXawT4s6hKV6ALq7p0QzWlxr/sDmbKMLOaLQtw2Qgu/77N9rm+f9Rg==}
- engines: {node: '>=14.*'}
+ /@biomejs/cli-linux-arm64@1.6.4:
+ resolution: {integrity: sha512-wAOieaMNIpLrxGc2/xNvM//CIZg7ueWy3V5A4T7gDZ3OL/Go27EKE59a+vMKsBCYmTt7jFl4yHz0TUkUbodA/w==}
+ engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@biomejs/cli-linux-x64-musl@1.5.3:
- resolution: {integrity: sha512-UUHiAnlDqr2Y/LpvshBFhUYMWkl2/Jn+bi3U6jKuav0qWbbBKU/ByHgR4+NBxpKBYoCtWxhnmatfH1bpPIuZMw==}
- engines: {node: '>=14.*'}
+ /@biomejs/cli-linux-x64-musl@1.6.4:
+ resolution: {integrity: sha512-wqi0hr8KAx5kBO0B+m5u8QqiYFFBJOSJVSuRqTeGWW+GYLVUtXNidykNqf1JsW6jJDpbkSp2xHKE/bTlVaG2Kg==}
+ engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@biomejs/cli-linux-x64@1.5.3:
- resolution: {integrity: sha512-YQrSArQvcv4FYsk7Q91Yv4uuu5F8hJyORVcv3zsjCLGkjIjx2RhjYLpTL733SNL7v33GmOlZY0eFR1ko38tuUw==}
- engines: {node: '>=14.*'}
+ /@biomejs/cli-linux-x64@1.6.4:
+ resolution: {integrity: sha512-qTWhuIw+/ePvOkjE9Zxf5OqSCYxtAvcTJtVmZT8YQnmY2I62JKNV2m7tf6O5ViKZUOP0mOQ6NgqHKcHH1eT8jw==}
+ engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /@biomejs/cli-win32-arm64@1.5.3:
- resolution: {integrity: sha512-HxatYH7vf/kX9nrD+pDYuV2GI9GV8EFo6cfKkahAecTuZLPxryHx1WEfJthp5eNsE0+09STGkKIKjirP0ufaZA==}
- engines: {node: '>=14.*'}
+ /@biomejs/cli-win32-arm64@1.6.4:
+ resolution: {integrity: sha512-Wp3FiEeF6v6C5qMfLkHwf4YsoNHr/n0efvoC8jCKO/kX05OXaVExj+1uVQ1eGT7Pvx0XVm/TLprRO0vq/V6UzA==}
+ engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /@biomejs/cli-win32-x64@1.5.3:
- resolution: {integrity: sha512-fMvbSouZEASU7mZH8SIJSANDm5OqsjgtVXlbUqxwed6BP7uuHRSs396Aqwh2+VoW8fwTpp6ybIUoC9FrzB0kyA==}
- engines: {node: '>=14.*'}
+ /@biomejs/cli-win32-x64@1.6.4:
+ resolution: {integrity: sha512-mz183Di5hTSGP7KjNWEhivcP1wnHLGmOxEROvoFsIxMYtDhzJDad4k5gI/1JbmA0xe4n52vsgqo09tBhrMT/Zg==}
+ engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
requiresBuild: true
@@ -1497,26 +1088,21 @@ packages:
resolution: {integrity: sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==}
dev: false
- /@emotion/is-prop-valid@0.8.8:
- resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==}
- requiresBuild: true
- dependencies:
- '@emotion/memoize': 0.7.4
- dev: false
- optional: true
-
- /@emotion/memoize@0.7.4:
- resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
- requiresBuild: true
- dev: false
- optional: true
-
/@esbuild/aix-ppc64@0.19.12:
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/aix-ppc64@0.20.2:
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
optional: true
/@esbuild/android-arm64@0.19.12:
@@ -1525,6 +1111,15 @@ packages:
cpu: [arm64]
os: [android]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-arm64@0.20.2:
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
optional: true
/@esbuild/android-arm@0.19.12:
@@ -1533,6 +1128,15 @@ packages:
cpu: [arm]
os: [android]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-arm@0.20.2:
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
optional: true
/@esbuild/android-x64@0.19.12:
@@ -1541,6 +1145,15 @@ packages:
cpu: [x64]
os: [android]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/android-x64@0.20.2:
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
optional: true
/@esbuild/darwin-arm64@0.19.12:
@@ -1549,6 +1162,15 @@ packages:
cpu: [arm64]
os: [darwin]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/darwin-arm64@0.20.2:
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
optional: true
/@esbuild/darwin-x64@0.19.12:
@@ -1557,6 +1179,15 @@ packages:
cpu: [x64]
os: [darwin]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/darwin-x64@0.20.2:
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
optional: true
/@esbuild/freebsd-arm64@0.19.12:
@@ -1565,6 +1196,15 @@ packages:
cpu: [arm64]
os: [freebsd]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/freebsd-arm64@0.20.2:
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
optional: true
/@esbuild/freebsd-x64@0.19.12:
@@ -1573,6 +1213,15 @@ packages:
cpu: [x64]
os: [freebsd]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/freebsd-x64@0.20.2:
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
optional: true
/@esbuild/linux-arm64@0.19.12:
@@ -1581,6 +1230,15 @@ packages:
cpu: [arm64]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-arm64@0.20.2:
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/linux-arm@0.19.12:
@@ -1589,6 +1247,15 @@ packages:
cpu: [arm]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-arm@0.20.2:
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/linux-ia32@0.19.12:
@@ -1597,6 +1264,15 @@ packages:
cpu: [ia32]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-ia32@0.20.2:
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/linux-loong64@0.19.12:
@@ -1605,6 +1281,15 @@ packages:
cpu: [loong64]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-loong64@0.20.2:
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/linux-mips64el@0.19.12:
@@ -1613,6 +1298,15 @@ packages:
cpu: [mips64el]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-mips64el@0.20.2:
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/linux-ppc64@0.19.12:
@@ -1621,6 +1315,15 @@ packages:
cpu: [ppc64]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-ppc64@0.20.2:
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/linux-riscv64@0.19.12:
@@ -1629,6 +1332,15 @@ packages:
cpu: [riscv64]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-riscv64@0.20.2:
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/linux-s390x@0.19.12:
@@ -1637,6 +1349,15 @@ packages:
cpu: [s390x]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-s390x@0.20.2:
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/linux-x64@0.19.12:
@@ -1645,6 +1366,15 @@ packages:
cpu: [x64]
os: [linux]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/linux-x64@0.20.2:
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
optional: true
/@esbuild/netbsd-x64@0.19.12:
@@ -1653,6 +1383,15 @@ packages:
cpu: [x64]
os: [netbsd]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/netbsd-x64@0.20.2:
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
optional: true
/@esbuild/openbsd-x64@0.19.12:
@@ -1661,6 +1400,15 @@ packages:
cpu: [x64]
os: [openbsd]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/openbsd-x64@0.20.2:
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
optional: true
/@esbuild/sunos-x64@0.19.12:
@@ -1669,6 +1417,15 @@ packages:
cpu: [x64]
os: [sunos]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/sunos-x64@0.20.2:
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
optional: true
/@esbuild/win32-arm64@0.19.12:
@@ -1677,6 +1434,15 @@ packages:
cpu: [arm64]
os: [win32]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-arm64@0.20.2:
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
optional: true
/@esbuild/win32-ia32@0.19.12:
@@ -1685,6 +1451,15 @@ packages:
cpu: [ia32]
os: [win32]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-ia32@0.20.2:
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
optional: true
/@esbuild/win32-x64@0.19.12:
@@ -1693,6 +1468,15 @@ packages:
cpu: [x64]
os: [win32]
requiresBuild: true
+ dev: false
+ optional: true
+
+ /@esbuild/win32-x64@0.20.2:
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
optional: true
/@evilmartians/harmony@1.2.0:
@@ -1727,16 +1511,16 @@ packages:
resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==}
dev: false
- /@fontsource/geist-mono@5.0.1:
- resolution: {integrity: sha512-fbLTXtnGagDEaKmRqAnjbqWZbZ3RR6RExvNikt3hLI/qJXxaBZZw8OH+Ve5rAxVxmKwz0a5GmPk2cqW0aapbfQ==}
+ /@fontsource/geist-mono@5.0.2:
+ resolution: {integrity: sha512-+8bolYSqN3F0bHln4WPltJ+6r12Z3ZMf+JyHYPfHYrzOyT14fOc9DAmvlTwjl4uncH1v+7baWYApC+yoYl/FLg==}
dev: false
- /@getalby/sdk@3.3.1(typescript@5.3.3):
- resolution: {integrity: sha512-Cu45ZRriWLuVxu1Oi2qt7+J+pzzIZ60WgzwU6xlRWDjUXPcU1IQ8L+GOtdJft8xo+I7LSyg+zB16WtQmtdD2Yg==}
+ /@getalby/sdk@3.4.3(typescript@5.4.4):
+ resolution: {integrity: sha512-K0F8Sj3aGmsBV87jfYbMBCAYbb8d9JrLA5jUYn+LuE59IF1flw4pQSb7irQBJYmiFHtvHA8+bpg38WRJr7hpeg==}
engines: {node: '>=14'}
dependencies:
- events: 3.3.0
- nostr-tools: 1.17.0(typescript@5.3.3)
+ eventemitter3: 5.0.1
+ nostr-tools: 1.17.0(typescript@5.4.4)
transitivePeerDependencies:
- typescript
dev: false
@@ -1781,16 +1565,12 @@ packages:
resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==}
dev: false
- /@medv/finder@3.2.0:
- resolution: {integrity: sha512-JmU7JIBwyL8RAzefvzALT4sP2M0biGk8i2invAgpQmma/QgfsaqoHIvJ7S0YC8n9hUVG8X3Leul2nGa06PvhbQ==}
- dev: false
-
/@noble/ciphers@0.2.0:
resolution: {integrity: sha512-6YBxJDAapHSdd3bLDv6x2wRPwq4QFMUaB3HvljNBUTThDd12eSm7/3F+2lnfzx2jvM+S6Nsy0jEt9QbPqSwqRw==}
dev: false
- /@noble/ciphers@0.5.1:
- resolution: {integrity: sha512-aNE06lbe36ifvMbbWvmmF/8jx6EQPu2HVg70V95T+iGjOuYwPpAccwAQc2HlXO2D0aiQ3zavbMga4jjWnrpiPA==}
+ /@noble/ciphers@0.5.2:
+ resolution: {integrity: sha512-GADtQmZCdgbnNp+daPLc3OY3ibEtGGDV/+CzeM3MFnhiQ7ELQKlsHWYq0YbYUXx4jU3/Y1erAxU6r+hwpewqmQ==}
dev: false
/@noble/curves@1.1.0:
@@ -1805,6 +1585,12 @@ packages:
'@noble/hashes': 1.3.2
dev: false
+ /@noble/curves@1.4.0:
+ resolution: {integrity: sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==}
+ dependencies:
+ '@noble/hashes': 1.4.0
+ dev: false
+
/@noble/hashes@1.3.1:
resolution: {integrity: sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==}
engines: {node: '>= 16'}
@@ -1815,13 +1601,13 @@ packages:
engines: {node: '>= 16'}
dev: false
- /@noble/hashes@1.3.3:
- resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==}
+ /@noble/hashes@1.4.0:
+ resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
engines: {node: '>= 16'}
dev: false
- /@noble/secp256k1@2.0.0:
- resolution: {integrity: sha512-rUGBd95e2a45rlmFTqQJYEFA4/gdIARFfuTuTqLglz0PZ6AKyzyXsEZZq7UZn8hZsvaBgpCzKKBJizT2cJERXw==}
+ /@noble/secp256k1@2.1.0:
+ resolution: {integrity: sha512-XLEQQNdablO0XZOIniFQimiXsZDNwaYgL96dZwC54Q30imSbAOFf3NKtepc+cXyuZf5Q1HCgbqgZ2UFFuHVcEw==}
dev: false
/@nodelib/fs.scandir@2.1.5:
@@ -1842,16 +1628,17 @@ packages:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
- /@nostr-dev-kit/ndk@2.5.0(typescript@5.3.3):
- resolution: {integrity: sha512-A2nRgjjLScDhGZGPWx8xUIJM66dJWScdWQoCn/tI1Gtwpple+C2Jp7C9t3mb0oF3bwd2nsV6qwS//wdrH8QvYQ==}
+ /@nostr-dev-kit/ndk@2.7.1(typescript@5.4.4):
+ resolution: {integrity: sha512-EVN1jy6SXMm0cRvmzZFn2VTTPxcjI515KjBawNtmuQrPwyN+4J7zWnFlWq+KtavWbAuoQnh1rv+b6yWbBhpy5g==}
dependencies:
- '@noble/hashes': 1.3.3
- '@noble/secp256k1': 2.0.0
- '@scure/base': 1.1.5
+ '@noble/curves': 1.4.0
+ '@noble/hashes': 1.4.0
+ '@noble/secp256k1': 2.1.0
+ '@scure/base': 1.1.6
debug: 4.3.4
- light-bolt11-decoder: 3.0.0
+ light-bolt11-decoder: 3.1.1
node-fetch: 3.3.2
- nostr-tools: 1.17.0(typescript@5.3.3)
+ nostr-tools: 1.17.0(typescript@5.4.4)
tseep: 1.2.1
typescript-lru-cache: 2.0.0
utf8-buffer: 1.0.0
@@ -1870,10 +1657,10 @@ packages:
/@radix-ui/primitive@1.0.1:
resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
dev: false
- /@radix-ui/react-accordion@1.1.2(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-accordion@1.1.2(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==}
peerDependencies:
'@types/react': '*'
@@ -1886,22 +1673,22 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-direction': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-alert-dialog@1.0.5(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-alert-dialog@1.0.5(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==}
peerDependencies:
'@types/react': '*'
@@ -1914,19 +1701,19 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==}
peerDependencies:
'@types/react': '*'
@@ -1939,15 +1726,15 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-avatar@1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-avatar@1.0.4(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==}
peerDependencies:
'@types/react': '*'
@@ -1960,17 +1747,17 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==}
peerDependencies:
'@types/react': '*'
@@ -1983,22 +1770,22 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==}
peerDependencies:
'@types/react': '*'
@@ -2011,22 +1798,22 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==}
peerDependencies:
'@types/react': '*'
@@ -2039,18 +1826,18 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
peerDependencies:
'@types/react': '*'
@@ -2059,12 +1846,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-context@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-context@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
peerDependencies:
'@types/react': '*'
@@ -2073,12 +1860,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==}
peerDependencies:
'@types/react': '*'
@@ -2091,28 +1878,28 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
- aria-hidden: 1.2.3
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
+ aria-hidden: 1.2.4
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-remove-scroll: 2.5.5(@types/react@18.2.61)(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.75)(react@18.2.0)
dev: false
- /@radix-ui/react-direction@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-direction@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==}
peerDependencies:
'@types/react': '*'
@@ -2121,12 +1908,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==}
peerDependencies:
'@types/react': '*'
@@ -2139,19 +1926,19 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==}
peerDependencies:
'@types/react': '*'
@@ -2164,21 +1951,21 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==}
peerDependencies:
'@types/react': '*'
@@ -2187,12 +1974,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==}
peerDependencies:
'@types/react': '*'
@@ -2205,17 +1992,17 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-hover-card@1.0.7(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-hover-card@1.0.7(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-OcUN2FU0YpmajD/qkph3XzMcK/NmSk9hGWnjV68p6QiZMgILugusgQwnLSDs3oFSJYGKf3Y49zgFedhGh04k9A==}
peerDependencies:
'@types/react': '*'
@@ -2228,22 +2015,22 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-id@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-id@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
peerDependencies:
'@types/react': '*'
@@ -2252,13 +2039,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-menu@2.0.6(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==}
peerDependencies:
'@types/react': '*'
@@ -2271,32 +2058,32 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-direction': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
- aria-hidden: 1.2.3
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
+ aria-hidden: 1.2.4
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-remove-scroll: 2.5.5(@types/react@18.2.61)(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.75)(react@18.2.0)
dev: false
- /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==}
peerDependencies:
'@types/react': '*'
@@ -2309,29 +2096,29 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
- aria-hidden: 1.2.3
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
+ aria-hidden: 1.2.4
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
- react-remove-scroll: 2.5.5(@types/react@18.2.61)(react@18.2.0)
+ react-remove-scroll: 2.5.5(@types/react@18.2.75)(react@18.2.0)
dev: false
- /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==}
peerDependencies:
'@types/react': '*'
@@ -2344,24 +2131,24 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.61)(react@18.2.0)
+ '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.75)(react@18.2.0)
'@radix-ui/rect': 1.0.1
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==}
peerDependencies:
'@types/react': '*'
@@ -2374,15 +2161,15 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
peerDependencies:
'@types/react': '*'
@@ -2395,16 +2182,16 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
peerDependencies:
'@types/react': '*'
@@ -2417,15 +2204,15 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==}
peerDependencies:
'@types/react': '*'
@@ -2438,23 +2225,23 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-direction': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
- '@types/react-dom': 18.2.19
+ '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-direction': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-slot@1.0.2(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-slot@1.0.2(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
peerDependencies:
'@types/react': '*'
@@ -2463,13 +2250,40 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0
+ react-dom: ^16.8 || ^17.0 || ^18.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.24.4
+ '@radix-ui/primitive': 1.0.1
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
+ '@types/react-dom': 18.2.24
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
+ /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==}
peerDependencies:
'@types/react': '*'
@@ -2482,25 +2296,25 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/primitive': 1.0.1
- '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.61
+ '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-context': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-id': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@radix-ui/react-slot': 1.0.2(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
peerDependencies:
'@types/react': '*'
@@ -2509,12 +2323,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
peerDependencies:
'@types/react': '*'
@@ -2523,13 +2337,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==}
peerDependencies:
'@types/react': '*'
@@ -2538,13 +2352,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
peerDependencies:
'@types/react': '*'
@@ -2553,12 +2367,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==}
peerDependencies:
'@types/react': '*'
@@ -2567,12 +2381,12 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==}
peerDependencies:
'@types/react': '*'
@@ -2581,13 +2395,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
'@radix-ui/rect': 1.0.1
- '@types/react': 18.2.61
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-use-size@1.0.1(@types/react@18.2.61)(react@18.2.0):
+ /@radix-ui/react-use-size@1.0.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
peerDependencies:
'@types/react': '*'
@@ -2596,13 +2410,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0)
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.75)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
dev: false
- /@radix-ui/react-visually-hidden@1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0):
+ /@radix-ui/react-visually-hidden@1.0.3(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==}
peerDependencies:
'@types/react': '*'
@@ -2615,9 +2429,9 @@ packages:
'@types/react-dom':
optional: true
dependencies:
- '@babel/runtime': 7.24.0
- '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)
- '@types/react': 18.2.61
+ '@babel/runtime': 7.24.4
+ '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.24)(@types/react@18.2.75)(react-dom@18.2.0)(react@18.2.0)
+ '@types/react': 18.2.75
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
@@ -2625,7 +2439,7 @@ packages:
/@radix-ui/rect@1.0.1:
resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==}
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
dev: false
/@rollup/plugin-virtual@3.0.2:
@@ -2638,92 +2452,106 @@ packages:
optional: true
dev: true
- /@rollup/rollup-android-arm-eabi@4.12.0:
- resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==}
+ /@rollup/rollup-android-arm-eabi@4.14.1:
+ resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==}
cpu: [arm]
os: [android]
requiresBuild: true
optional: true
- /@rollup/rollup-android-arm64@4.12.0:
- resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==}
+ /@rollup/rollup-android-arm64@4.14.1:
+ resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==}
cpu: [arm64]
os: [android]
requiresBuild: true
optional: true
- /@rollup/rollup-darwin-arm64@4.12.0:
- resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==}
+ /@rollup/rollup-darwin-arm64@4.14.1:
+ resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
optional: true
- /@rollup/rollup-darwin-x64@4.12.0:
- resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==}
+ /@rollup/rollup-darwin-x64@4.14.1:
+ resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==}
cpu: [x64]
os: [darwin]
requiresBuild: true
optional: true
- /@rollup/rollup-linux-arm-gnueabihf@4.12.0:
- resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==}
+ /@rollup/rollup-linux-arm-gnueabihf@4.14.1:
+ resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==}
cpu: [arm]
os: [linux]
requiresBuild: true
optional: true
- /@rollup/rollup-linux-arm64-gnu@4.12.0:
- resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==}
+ /@rollup/rollup-linux-arm64-gnu@4.14.1:
+ resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
- /@rollup/rollup-linux-arm64-musl@4.12.0:
- resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==}
+ /@rollup/rollup-linux-arm64-musl@4.14.1:
+ resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==}
cpu: [arm64]
os: [linux]
requiresBuild: true
optional: true
- /@rollup/rollup-linux-riscv64-gnu@4.12.0:
- resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==}
+ /@rollup/rollup-linux-powerpc64le-gnu@4.14.1:
+ resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==}
+ cpu: [ppc64le]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.14.1:
+ resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==}
cpu: [riscv64]
os: [linux]
requiresBuild: true
optional: true
- /@rollup/rollup-linux-x64-gnu@4.12.0:
- resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==}
+ /@rollup/rollup-linux-s390x-gnu@4.14.1:
+ resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.14.1:
+ resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
- /@rollup/rollup-linux-x64-musl@4.12.0:
- resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==}
+ /@rollup/rollup-linux-x64-musl@4.14.1:
+ resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==}
cpu: [x64]
os: [linux]
requiresBuild: true
optional: true
- /@rollup/rollup-win32-arm64-msvc@4.12.0:
- resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==}
+ /@rollup/rollup-win32-arm64-msvc@4.14.1:
+ resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==}
cpu: [arm64]
os: [win32]
requiresBuild: true
optional: true
- /@rollup/rollup-win32-ia32-msvc@4.12.0:
- resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==}
+ /@rollup/rollup-win32-ia32-msvc@4.14.1:
+ resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==}
cpu: [ia32]
os: [win32]
requiresBuild: true
optional: true
- /@rollup/rollup-win32-x64-msvc@4.12.0:
- resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==}
+ /@rollup/rollup-win32-x64-msvc@4.14.1:
+ resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==}
cpu: [x64]
os: [win32]
requiresBuild: true
@@ -2733,8 +2561,8 @@ packages:
resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==}
dev: false
- /@scure/base@1.1.5:
- resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==}
+ /@scure/base@1.1.6:
+ resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==}
dev: false
/@scure/bip32@1.3.1:
@@ -2752,8 +2580,12 @@ packages:
'@scure/base': 1.1.1
dev: false
- /@swc/core-darwin-arm64@1.4.2:
- resolution: {integrity: sha512-1uSdAn1MRK5C1m/TvLZ2RDvr0zLvochgrZ2xL+lRzugLlCTlSA+Q4TWtrZaOz+vnnFVliCpw7c7qu0JouhgQIw==}
+ /@shikijs/core@1.3.0:
+ resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==}
+ dev: false
+
+ /@swc/core-darwin-arm64@1.4.13:
+ resolution: {integrity: sha512-36P72FLpm5iq85IvoEjBvi22DiqkkEIanJ1M0E8bkxcFHUbjBrYfPY9T6cpPyK5oQqkaTBvNAc3j1BlVD6IH6w==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
@@ -2761,8 +2593,8 @@ packages:
dev: true
optional: true
- /@swc/core-darwin-x64@1.4.2:
- resolution: {integrity: sha512-TYD28+dCQKeuxxcy7gLJUCFLqrwDZnHtC2z7cdeGfZpbI2mbfppfTf2wUPzqZk3gEC96zHd4Yr37V3Tvzar+lQ==}
+ /@swc/core-darwin-x64@1.4.13:
+ resolution: {integrity: sha512-ye7OgKpDdyA8AMIVVdmD1ICDaFXgoEXORnVO8bBHyul0WN71yUBZMX+YxEx2lpWtiftA2vY/1MAuOR80vHkBCw==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
@@ -2770,8 +2602,8 @@ packages:
dev: true
optional: true
- /@swc/core-linux-arm-gnueabihf@1.4.2:
- resolution: {integrity: sha512-Eyqipf7ZPGj0vplKHo8JUOoU1un2sg5PjJMpEesX0k+6HKE2T8pdyeyXODN0YTFqzndSa/J43EEPXm+rHAsLFQ==}
+ /@swc/core-linux-arm-gnueabihf@1.4.13:
+ resolution: {integrity: sha512-+x593Jlmu4c3lJtZUKRejWpV2MAij1Js5nmQLLdjo6ChR2D4B2rzj3iMiKn5gITew7fraF9t3fvXALdWh7HmUg==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
@@ -2779,8 +2611,8 @@ packages:
dev: true
optional: true
- /@swc/core-linux-arm64-gnu@1.4.2:
- resolution: {integrity: sha512-wZn02DH8VYPv3FC0ub4my52Rttsus/rFw+UUfzdb3tHMHXB66LqN+rR0ssIOZrH6K+VLN6qpTw9VizjyoH0BxA==}
+ /@swc/core-linux-arm64-gnu@1.4.13:
+ resolution: {integrity: sha512-0x8OVw4dfyNerrs/9eZX9wNnmvwbwXSMCi+LbE6Xt1pXOIwvoLtFIXcV3NsrlkFboO3sr5UAQIwDxKqbIZA9pQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
@@ -2788,8 +2620,8 @@ packages:
dev: true
optional: true
- /@swc/core-linux-arm64-musl@1.4.2:
- resolution: {integrity: sha512-3G0D5z9hUj9bXNcwmA1eGiFTwe5rWkuL3DsoviTj73TKLpk7u64ND0XjEfO0huVv4vVu9H1jodrKb7nvln/dlw==}
+ /@swc/core-linux-arm64-musl@1.4.13:
+ resolution: {integrity: sha512-Z9c4JiequtZvngPcxbCuAOkmWBxi2vInZbjjhD5I+Q9oiJdXUz1t2USGwsGPS41Xvk1BOA3ecK2Sn1ilY3titg==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
@@ -2797,8 +2629,8 @@ packages:
dev: true
optional: true
- /@swc/core-linux-x64-gnu@1.4.2:
- resolution: {integrity: sha512-LFxn9U8cjmYHw3jrdPNqPAkBGglKE3tCZ8rA7hYyp0BFxuo7L2ZcEnPm4RFpmSCCsExFH+LEJWuMGgWERoktvg==}
+ /@swc/core-linux-x64-gnu@1.4.13:
+ resolution: {integrity: sha512-ChatHtk+vX0Ke5QG+jO+rIapw/KwZsi9MedCBHFXHH6iWF4z8d51cJeN68ykcn+vAXzjNeFNdlNy5Vbkd1zAqg==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
@@ -2806,8 +2638,8 @@ packages:
dev: true
optional: true
- /@swc/core-linux-x64-musl@1.4.2:
- resolution: {integrity: sha512-dp0fAmreeVVYTUcb4u9njTPrYzKnbIH0EhH2qvC9GOYNNREUu2GezSIDgonjOXkHiTCvopG4xU7y56XtXj4VrQ==}
+ /@swc/core-linux-x64-musl@1.4.13:
+ resolution: {integrity: sha512-0Pz39YR530mXpsztwQkmEKdkkZy4fY4Smdh4pkm6Ly8Nndyo0te/l4bcAGqN24Jp7aVwF/QSy14SAtw4HRjU9g==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
@@ -2815,8 +2647,8 @@ packages:
dev: true
optional: true
- /@swc/core-win32-arm64-msvc@1.4.2:
- resolution: {integrity: sha512-HlVIiLMQkzthAdqMslQhDkoXJ5+AOLUSTV6fm6shFKZKqc/9cJvr4S8UveNERL9zUficA36yM3bbfo36McwnvQ==}
+ /@swc/core-win32-arm64-msvc@1.4.13:
+ resolution: {integrity: sha512-LVZfhlD+jHcAbz5NN+gAJ1BEasB0WpcvUzcsJt0nQSRsojgzPzFjJ+fzEBnvT7SMtqKkrnVJ0OmDYeh88bDRpw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
@@ -2824,8 +2656,8 @@ packages:
dev: true
optional: true
- /@swc/core-win32-ia32-msvc@1.4.2:
- resolution: {integrity: sha512-WCF8faPGjCl4oIgugkp+kL9nl3nUATlzKXCEGFowMEmVVCFM0GsqlmGdPp1pjZoWc9tpYanoXQDnp5IvlDSLhA==}
+ /@swc/core-win32-ia32-msvc@1.4.13:
+ resolution: {integrity: sha512-78hxHWUvUZtWsnhcf8DKwhBcNFJw+j4y4fN2B9ioXmBWX2tIyw+BqUHOrismOtjPihaZmwe/Ok2e4qmkawE2fw==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
@@ -2833,8 +2665,8 @@ packages:
dev: true
optional: true
- /@swc/core-win32-x64-msvc@1.4.2:
- resolution: {integrity: sha512-oV71rwiSpA5xre2C5570BhCsg1HF97SNLsZ/12xv7zayGzqr3yvFALFJN8tHKpqUdCB4FGPjoP3JFdV3i+1wUw==}
+ /@swc/core-win32-x64-msvc@1.4.13:
+ resolution: {integrity: sha512-WSfy1u2Xde6jU7UpHIInCUMW98Zw9iZglddKUAvmr1obkZji5U6EX0Oca3asEJdZPFb+2lMLjt0Mh5a1YisROg==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
@@ -2842,8 +2674,8 @@ packages:
dev: true
optional: true
- /@swc/core@1.4.2:
- resolution: {integrity: sha512-vWgY07R/eqj1/a0vsRKLI9o9klGZfpLNOVEnrv4nrccxBgYPjcf22IWwAoaBJ+wpA7Q4fVjCUM8lP0m01dpxcg==}
+ /@swc/core@1.4.13:
+ resolution: {integrity: sha512-rOtusBE+2gaeRkAJn5E4zp5yzZekZOypzSOz5ZG6P1hFbd+Cc26fWEdK6sUSnrkkvTd0Oj33KXLB/4UkbK/UHA==}
engines: {node: '>=10'}
requiresBuild: true
peerDependencies:
@@ -2853,39 +2685,41 @@ packages:
optional: true
dependencies:
'@swc/counter': 0.1.3
- '@swc/types': 0.1.5
+ '@swc/types': 0.1.6
optionalDependencies:
- '@swc/core-darwin-arm64': 1.4.2
- '@swc/core-darwin-x64': 1.4.2
- '@swc/core-linux-arm-gnueabihf': 1.4.2
- '@swc/core-linux-arm64-gnu': 1.4.2
- '@swc/core-linux-arm64-musl': 1.4.2
- '@swc/core-linux-x64-gnu': 1.4.2
- '@swc/core-linux-x64-musl': 1.4.2
- '@swc/core-win32-arm64-msvc': 1.4.2
- '@swc/core-win32-ia32-msvc': 1.4.2
- '@swc/core-win32-x64-msvc': 1.4.2
+ '@swc/core-darwin-arm64': 1.4.13
+ '@swc/core-darwin-x64': 1.4.13
+ '@swc/core-linux-arm-gnueabihf': 1.4.13
+ '@swc/core-linux-arm64-gnu': 1.4.13
+ '@swc/core-linux-arm64-musl': 1.4.13
+ '@swc/core-linux-x64-gnu': 1.4.13
+ '@swc/core-linux-x64-musl': 1.4.13
+ '@swc/core-win32-arm64-msvc': 1.4.13
+ '@swc/core-win32-ia32-msvc': 1.4.13
+ '@swc/core-win32-x64-msvc': 1.4.13
dev: true
/@swc/counter@0.1.3:
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
dev: true
- /@swc/types@0.1.5:
- resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==}
+ /@swc/types@0.1.6:
+ resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==}
+ dependencies:
+ '@swc/counter': 0.1.3
dev: true
- /@tailwindcss/forms@0.5.7(tailwindcss@3.4.1):
+ /@tailwindcss/forms@0.5.7(tailwindcss@3.4.3):
resolution: {integrity: sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==}
peerDependencies:
tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1'
dependencies:
mini-svg-data-uri: 1.4.4
- tailwindcss: 3.4.1
+ tailwindcss: 3.4.3
dev: true
- /@tailwindcss/typography@0.5.10(tailwindcss@3.4.1):
- resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==}
+ /@tailwindcss/typography@0.5.12(tailwindcss@3.4.3):
+ resolution: {integrity: sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg==}
peerDependencies:
tailwindcss: '>=3.0.0 || insiders'
dependencies:
@@ -2893,58 +2727,58 @@ packages:
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
- tailwindcss: 3.4.1
+ tailwindcss: 3.4.3
dev: true
- /@tanstack/history@1.15.13:
- resolution: {integrity: sha512-ToaeMtK5S4YaxCywAlYexc7KPFN0esjyTZ4vXzJhXEWAkro9iHgh7m/4ozPJb7oTo65WkHWX0W9GjcZbInSD8w==}
+ /@tanstack/history@1.26.10:
+ resolution: {integrity: sha512-fHx8RQ3liEDhueIemUggBGmqYnK6vOxtxCduolW7r6ExBEQVwKdLEcaUobxp6BxcXLQ7z/qhXAptlOlYi4FFXg==}
engines: {node: '>=12'}
- /@tanstack/query-core@5.24.1:
- resolution: {integrity: sha512-DZ6Nx9p7BhjkG50ayJ+MKPgff+lMeol7QYXkvuU5jr2ryW/4ok5eanaS9W5eooA4xN0A/GPHdLGOZGzArgf5Cg==}
+ /@tanstack/query-core@5.29.0:
+ resolution: {integrity: sha512-WgPTRs58hm9CMzEr5jpISe8HXa3qKQ8CxewdYZeVnA54JrPY9B1CZiwsCoLpLkf0dGRZq+LcX5OiJb0bEsOFww==}
dev: false
- /@tanstack/query-persist-client-core@5.24.1:
- resolution: {integrity: sha512-ayUDCSCXAq3ZYXMrVQ3c4g2Mvj+d/Q7rGkNJTvdw09DZQUUMTfZsvSayitJjOxqJl1Pex4HmZNk8PiDvrqvlRQ==}
+ /@tanstack/query-persist-client-core@5.29.0:
+ resolution: {integrity: sha512-aQpXqHQIg/GFtsQKUx/g3cMS/P9CFTWITXPlhrICW14E16gmQ+GMwnoXHAnu/kBV4MucfwUFKhVl4rzryltORQ==}
dependencies:
- '@tanstack/query-core': 5.24.1
+ '@tanstack/query-core': 5.29.0
dev: false
- /@tanstack/query-sync-storage-persister@5.24.1:
- resolution: {integrity: sha512-dfqgFgb+6tmdvnE1vMQbBuZOBUi7zFeQB/gQJgiADJ2IO0OXp/Ucj06sVOLm9fAPGiUBDqF+UW/xB9ipBH2+Hw==}
+ /@tanstack/query-sync-storage-persister@5.29.0:
+ resolution: {integrity: sha512-22l1Sg8BY1nu0E97XZ/vnNwIUR6393g3j053AbC37bGdmVBmXxiVYlZsgXCPakgwk6ryCOKnIgLshumow/5jTw==}
dependencies:
- '@tanstack/query-core': 5.24.1
- '@tanstack/query-persist-client-core': 5.24.1
+ '@tanstack/query-core': 5.29.0
+ '@tanstack/query-persist-client-core': 5.29.0
dev: false
- /@tanstack/react-query-persist-client@5.24.1(@tanstack/react-query@5.24.1)(react@18.2.0):
- resolution: {integrity: sha512-USD4afkZbSsAWwor5xbXTkzca0ud4SLd2Q++he8Y1iEyOCh7QJhn+zwsKOaqH2X3ecQMvH/jIzO2r+fieKyMvg==}
+ /@tanstack/react-query-persist-client@5.29.0(@tanstack/react-query@5.29.0)(react@18.2.0):
+ resolution: {integrity: sha512-oC0ZHO22znnv6K7ts5iAJQoJMjlyTQnB/952YFuKXKfTVVhmUBec0+tlCQNjdt8b1gY0EF6wixkbz4e3ezjDhg==}
peerDependencies:
- '@tanstack/react-query': ^5.24.1
+ '@tanstack/react-query': ^5.29.0
react: ^18.0.0
dependencies:
- '@tanstack/query-persist-client-core': 5.24.1
- '@tanstack/react-query': 5.24.1(react@18.2.0)
+ '@tanstack/query-persist-client-core': 5.29.0
+ '@tanstack/react-query': 5.29.0(react@18.2.0)
react: 18.2.0
dev: false
- /@tanstack/react-query@5.24.1(react@18.2.0):
- resolution: {integrity: sha512-4+09JEdO4d6+Gc8Y/g2M/MuxDK5IY0QV8+2wL2304wPKJgJ54cBbULd3nciJ5uvh/as8rrxx6s0mtIwpRuGd1g==}
+ /@tanstack/react-query@5.29.0(react@18.2.0):
+ resolution: {integrity: sha512-yxlhHB73jaBla6h5B6zPaGmQjokkzAhMHN4veotkPNiQ3Ac/mCxgABRZPsJJrgCTvhpcncBZcDBFxaR2B37vug==}
peerDependencies:
react: ^18.0.0
dependencies:
- '@tanstack/query-core': 5.24.1
+ '@tanstack/query-core': 5.29.0
react: 18.2.0
dev: false
- /@tanstack/react-router@1.18.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-6Q3Rcg49wyqRzA5l0fln48H2cLxglQuNkxu3b9Oy0zO0VcljfTZorhUhUIqC6HZD2CfFJYfLverrFYxPmCs5JA==}
+ /@tanstack/react-router@1.26.18(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-P6rainPEU27AZmuKNS47cC98K/taGKMlQAWCVkE/dXCoDaFzY7U/Tk/RhLypP0QMyV2S/nmwL/VoQUXubdnFSw==}
engines: {node: '>=12'}
peerDependencies:
- react: '>=16'
- react-dom: '>=16'
+ react: '>=16.8'
+ react-dom: '>=16.8'
dependencies:
- '@tanstack/history': 1.15.13
+ '@tanstack/history': 1.26.10
'@tanstack/react-store': 0.2.1(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@@ -2962,14 +2796,14 @@ packages:
react-dom: 18.2.0(react@18.2.0)
use-sync-external-store: 1.2.0(react@18.2.0)
- /@tanstack/router-devtools@1.18.1(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-2Jg2wA38qU/QcJThhSnOK+GcakoX1yjuE8bLbLbiztHa1PxsY3lOqzJdEXaVdKTyuiUy+JU11B8TLU4SPPZfMQ==}
+ /@tanstack/router-devtools@1.26.18(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-5+W3No0BDd9VQVvBPirPmHhpqW8S4HDgeHK3Z2u/gagoegSXl6a5/aiNpGgygewOGVQOsXLwz/7ejRqwNUjeAQ==}
engines: {node: '>=12'}
peerDependencies:
- react: '>=16'
- react-dom: '>=16'
+ react: '>=16.8'
+ react-dom: '>=16.8'
dependencies:
- '@tanstack/react-router': 1.18.1(react-dom@18.2.0)(react@18.2.0)
+ '@tanstack/react-router': 1.26.18(react-dom@18.2.0)(react@18.2.0)
clsx: 2.1.0
date-fns: 2.30.0
goober: 2.1.14(csstype@3.1.3)
@@ -2979,36 +2813,59 @@ packages:
- csstype
dev: true
- /@tanstack/router-generator@1.18.1:
- resolution: {integrity: sha512-7nyeXcSaCnYhOdgY2CpEtQGccDLpo73xmoXL+DNrQiugjuqkoBQ7JGNEXIQQcH8lPra+gU4TeVS1vlRav2F/Dg==}
+ /@tanstack/router-generator@1.26.16:
+ resolution: {integrity: sha512-WrfWwmcsRS+pSZ+NJky71NdfHkmep0nJW0claIbyKjW1d3uoCWRNNqlO/DTc3iq0uegnqPL36YGt8RfPwTOCCA==}
engines: {node: '>=12'}
dependencies:
prettier: 3.2.5
zod: 3.22.4
dev: true
- /@tanstack/router-vite-plugin@1.18.1:
- resolution: {integrity: sha512-gGlU5TbeQZWYERQVmjjTiZxPsrL2Id51YbL5MFQ41HBRmNMRPl4Xom32sc8ZzwADw8YXA9uPcRqRYFBLQDABSA==}
+ /@tanstack/router-vite-plugin@1.26.16(vite@5.2.8):
+ resolution: {integrity: sha512-djFWmqrYEFSeBIkH8wCEccSqFe/5wCKcqMcDWHB7KWVOMUcTJLsgXE4mxvIx8xoIi/5Fcvc6PlkqRBSgrFrqwg==}
engines: {node: '>=12'}
dependencies:
- '@tanstack/router-generator': 1.18.1
+ '@babel/core': 7.24.4
+ '@babel/generator': 7.24.4
+ '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4)
+ '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4)
+ '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.4)
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.1
+ '@babel/types': 7.24.0
+ '@tanstack/router-generator': 1.26.16
+ '@types/babel__core': 7.20.5
+ '@types/babel__generator': 7.6.8
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.5
+ '@vitejs/plugin-react': 4.2.1(vite@5.2.8)
+ zod: 3.22.4
+ transitivePeerDependencies:
+ - supports-color
+ - vite
dev: true
/@tanstack/store@0.1.3:
resolution: {integrity: sha512-GnolmC8Fr4mvsHE1fGQmR3Nm0eBO3KnZjDU0a+P3TeQNM/dDscFGxtA7p31NplQNW3KwBw4t1RVFmz0VeKLxcw==}
- /@tauri-apps/api@2.0.0-beta.2:
- resolution: {integrity: sha512-4r1r6kgttzIWxJ3HxkZQH+b7EiUtKhdUCPbi0KSalD+2T3j6klw+v8VyxhKwEdjM/eo60NE+J33v1E/Urq8puw==}
+ /@tauri-apps/api@2.0.0-beta.4:
+ resolution: {integrity: sha512-Nxtj28NYUo5iwYkpYslxmOPkdI2WkELU2e3UH9nbJm9Ydki2CQwJVGQxx4EANtdZcMNsEsUzRqaDTvEUYH1l6w==}
engines: {node: '>= 18', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
dev: false
- /@tauri-apps/api@2.0.0-beta.3:
- resolution: {integrity: sha512-gDSJzKpBs6efXw2ZWqjl9QVNImY5GR5qygXqB7JK4y7prcQInxnTj2ARFR0vD4wuzkrUHGrlIKraiJJPHWJ9vg==}
+ /@tauri-apps/api@2.0.0-beta.6:
+ resolution: {integrity: sha512-ay3kAXYQoqC3rX4Vr3y6uGwrBhRPM7UQqZ9wr1VYzN6lkcMIcu7+UBvytmcfXDlVctqFoMQJafn6+dK/Oqh8+Q==}
engines: {node: '>= 18', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
dev: false
- /@tauri-apps/cli-darwin-arm64@2.0.0-beta.6:
- resolution: {integrity: sha512-G1KJhWB8SgITE2iwWmOoyMhykljz7sGxQL5BnNLHLeyNvc6DwkgQ0AObkmFTz2JLnstWQ/kKyg/uoQNMNA/wyQ==}
+ /@tauri-apps/api@2.0.0-beta.7:
+ resolution: {integrity: sha512-cM7SJQP4DBkLLMOdybLFYUURWn/tng2FEdAnXlu42f3NhFxKL4KVeeQTkuwlgC7ePwwwvDSqiXGiF+dKOadY7w==}
+ engines: {node: '>= 18', npm: '>= 6.6.0', yarn: '>= 1.19.1'}
+ dev: false
+
+ /@tauri-apps/cli-darwin-arm64@2.0.0-beta.12:
+ resolution: {integrity: sha512-+Ksrxc4QQE1R62OreCybM8PNnF090qhf+ZeRZTZ9JxOujz4Tq/RiE1vC5nRlDu+Cd3pL63fZ2TsANj2PnpN+qw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
@@ -3016,8 +2873,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-darwin-x64@2.0.0-beta.6:
- resolution: {integrity: sha512-Dju4V53dO7KVvmMqXZeNp2tfMOEVDCORf40ZnP9zrE58mvqoEHbri4F+m+UN+fSdEOzic12nSGXDO/nilqs+aA==}
+ /@tauri-apps/cli-darwin-x64@2.0.0-beta.12:
+ resolution: {integrity: sha512-KEkcJp7jfWMEiRFTJ3/yJhy8EFwgJPNGnNYjKTD5CAba9wMexxs23U7YLAWdSNrbSgPAox0pBqXaSj6p2HH0Wg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
@@ -3025,8 +2882,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-beta.6:
- resolution: {integrity: sha512-w4dmL9VZD2UaDYRE6XRmIPxg2XJDT5Zn+76NGVFiZjsZniEh2c0KP0Ytd0nA1jn1cphgn0RDJkRqtPvT5nGQoA==}
+ /@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-beta.12:
+ resolution: {integrity: sha512-EUDen1XNF/WfG5hjTZ6P/8IcpYPFm2Ox/FwlBPlePKZJrc+/3IveME/oyC3wrloscodV41yL2ise4SZuJtNAHA==}
engines: {node: '>= 10'}
cpu: [arm]
os: [linux]
@@ -3034,8 +2891,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-linux-arm64-gnu@2.0.0-beta.6:
- resolution: {integrity: sha512-0oVOSUg1wtoy+qOLjF3uQRxgtUFoqrRpb6cSebTfe4NaHHfF6qKGtZdK/Po0+jQ6RItz3iUV2bgy7Evx3lVFMw==}
+ /@tauri-apps/cli-linux-arm64-gnu@2.0.0-beta.12:
+ resolution: {integrity: sha512-VUhCBB6kaQmi7MyXTRccqemmz7s5n15Z718OIW1n6wI68oh0IsvC9KsrbDfgOLZVG6RXzmtzyXwnaIFQAgl+Cg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -3043,8 +2900,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-linux-arm64-musl@2.0.0-beta.6:
- resolution: {integrity: sha512-l0sH61OysOK17lL9Je/AS+Bs1a2zafg2te/G7WVi4Z1uFuSirMjPzCFJBT4/vY53AeyuRNja+XhszLdf0ud0BQ==}
+ /@tauri-apps/cli-linux-arm64-musl@2.0.0-beta.12:
+ resolution: {integrity: sha512-eus/fGCQZPcvwEa2HH2TJh1Xb2FeeVrnxL6lQseLPkgD7Wcu5mWz07AlLCMDOreUobb5vyOmm0L7d1HMIPrvEQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -3052,8 +2909,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-linux-x64-gnu@2.0.0-beta.6:
- resolution: {integrity: sha512-RkDhQQv34Qr5xrjoaRclTpHFf/YQdH6ftSTaUKhEdaVDEJPUbVZUxj70f58b1bV6kuokvT3r5whb9I4lfCBZZw==}
+ /@tauri-apps/cli-linux-x64-gnu@2.0.0-beta.12:
+ resolution: {integrity: sha512-C4SkDnjuhFSdSgsK8KNRj2b/oe/j1vrvI8+ZxUj+/o1jK71A2eiCN8pJlyMZYCN8wZUksGazxaFz62g0jceAEg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -3061,8 +2918,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-linux-x64-musl@2.0.0-beta.6:
- resolution: {integrity: sha512-d2s7uTjejf44VmGEmbSeERB1cbIkx3o7lyzPBnwLcluxi21xEVIa8SLKDR8iLZdovdWkJEre+nz/ViaBQw8nHA==}
+ /@tauri-apps/cli-linux-x64-musl@2.0.0-beta.12:
+ resolution: {integrity: sha512-V8NlJ8wgNcMfKTGOubgfjRyyJVQsZxpOZkGjdfn/YK0UNdOC6iLuqxIki47hbnoJMqvuxa37lr7Z1JVawOMUyw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -3070,8 +2927,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-win32-arm64-msvc@2.0.0-beta.6:
- resolution: {integrity: sha512-KZ+ByWOr46YR7j2C/EsJObjmUnMw3y9rzm3UU0DLE84ty8x7/TSVrIoV6W7DsgduLf7kKyy9dQTyFUNK+A5d7Q==}
+ /@tauri-apps/cli-win32-arm64-msvc@2.0.0-beta.12:
+ resolution: {integrity: sha512-dIsE5U4JRoVImW0PX9K82/dMjwugqc3DmgKbFKLYXgTFmSNaTNdojI/5VOPmbOIMJ8BNGDF8sjS80I0PZuEqvw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
@@ -3079,8 +2936,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-win32-ia32-msvc@2.0.0-beta.6:
- resolution: {integrity: sha512-CPCAxMZ8XtWsZ875/YQAnFCrkeFnGqw5on2D4PHmkZRhrOyoFCa0R65Q0cWCHzX6M/fmo40QkSJiASR87RCRJg==}
+ /@tauri-apps/cli-win32-ia32-msvc@2.0.0-beta.12:
+ resolution: {integrity: sha512-vTNrGzVV/LclD+4u+IOOwl1Ia2CqwZYK6AmMLp0ROLzbSn/9ROJJYe47V5VAZrnMjThEdb9fRL0FPYPk9yDaNA==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
@@ -3088,8 +2945,8 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli-win32-x64-msvc@2.0.0-beta.6:
- resolution: {integrity: sha512-YcfbicO3DQcJEd5eOJ4ydwzHwaF3KlWhH+yZZbhnpzdfl+BK/PlEs6sGUoBW2h1RJ9lLlDK51RNMZGq9O0QaYg==}
+ /@tauri-apps/cli-win32-x64-msvc@2.0.0-beta.12:
+ resolution: {integrity: sha512-Z/++lJ1FraoN1ZaNxYuCynNm7SyEGC+yd/adYQvhaQyudZa5HW/8eFkLx8FRcIQkEkSqLBkHf9VpwjnTDBVlwQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -3097,123 +2954,113 @@ packages:
dev: true
optional: true
- /@tauri-apps/cli@2.0.0-beta.6:
- resolution: {integrity: sha512-4DwhpXI51NnAYkDlROMvCJ7S+M7efuaA5zqcBStodr0NaKyB4buuf8zkCSpqdMW4gXBXDHDwi1Mbm9G1L7LyDA==}
+ /@tauri-apps/cli@2.0.0-beta.12:
+ resolution: {integrity: sha512-MFh4Z093O+PXWI6KFR8E2zIOgpJ4zL8waDhFXVQgBpqiD4ieiqywjmbmNIWkVqYBGAia7ZI0juxpkZSyXT4f1A==}
engines: {node: '>= 10'}
hasBin: true
optionalDependencies:
- '@tauri-apps/cli-darwin-arm64': 2.0.0-beta.6
- '@tauri-apps/cli-darwin-x64': 2.0.0-beta.6
- '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-beta.6
- '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-beta.6
- '@tauri-apps/cli-linux-arm64-musl': 2.0.0-beta.6
- '@tauri-apps/cli-linux-x64-gnu': 2.0.0-beta.6
- '@tauri-apps/cli-linux-x64-musl': 2.0.0-beta.6
- '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-beta.6
- '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-beta.6
- '@tauri-apps/cli-win32-x64-msvc': 2.0.0-beta.6
+ '@tauri-apps/cli-darwin-arm64': 2.0.0-beta.12
+ '@tauri-apps/cli-darwin-x64': 2.0.0-beta.12
+ '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-beta.12
+ '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-beta.12
+ '@tauri-apps/cli-linux-arm64-musl': 2.0.0-beta.12
+ '@tauri-apps/cli-linux-x64-gnu': 2.0.0-beta.12
+ '@tauri-apps/cli-linux-x64-musl': 2.0.0-beta.12
+ '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-beta.12
+ '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-beta.12
+ '@tauri-apps/cli-win32-x64-msvc': 2.0.0-beta.12
dev: true
- /@tauri-apps/plugin-autostart@2.0.0-beta.1:
- resolution: {integrity: sha512-p9dcHGGvbZkupE2N+9dS/b9SibStBauOaRZP6kV7H9SRV2un/+sDVnCA2R0VfdJhDO7m3yMZzuwN3mjMDRd8QQ==}
+ /@tauri-apps/plugin-autostart@2.0.0-beta.2:
+ resolution: {integrity: sha512-lrbXKEFuH79mz3abTwZpFW3wi4rVpyivD85uIdKxhM7vj4XwyVJKYfz9/1K435NP6DsHBdEqzfGxENfJCBCtLQ==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-clipboard-manager@2.0.0-beta.1:
- resolution: {integrity: sha512-nuC3aODbKrDadj2191ceSyobbh7vaU6EtNPnscSXv5nksRr5ZoarxtITk827UpOW14NmRQft7RDHKXY5Xr9Eew==}
+ /@tauri-apps/plugin-clipboard-manager@2.1.0-beta.0:
+ resolution: {integrity: sha512-ySIo5NG58a7r9FheG3BO2tfNGoBHQD8J1bY8z8UpafkzgsVnEdlELBMrnx9FKlcM+y5Bbshnf+AJEOjp73/9nA==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.6
dev: false
- /@tauri-apps/plugin-dialog@2.0.0-beta.1:
- resolution: {integrity: sha512-nVZv2m67NaEU05SRbe59heFaZ5wlew9pgd/oi2yL8yUM+46abo9prky/eyXb1HzF8n66yRSaSkNcX1GZou5pNQ==}
+ /@tauri-apps/plugin-dialog@2.0.0-beta.2:
+ resolution: {integrity: sha512-WugTn/8d5jYA0GL1JRIJgA1OSxG0h2V4PSZZzehgA3v7rPlIU6w9s2+dSRqj55aMj6hm3Az9YbQqC18nuaHkpw==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-fs@2.0.0-beta.1:
- resolution: {integrity: sha512-FGBzluMLMT4PGk7oJ8io/m+C2pd9kN5GrUDDayFKAd9D8/SaE8cqIJAhfq0VTfYGy1SeqFvP6gJFbdkS4PB8Jg==}
+ /@tauri-apps/plugin-fs@2.0.0-beta.2:
+ resolution: {integrity: sha512-jqeRBrm0h9QUoep5OzHx5R0vgFCYVAmZIy45jJpR7hHvnEgUwDU8JLUUVPvWniq6tUtxjwr1V/a0Hm9pE9V+NQ==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-http@2.0.0-beta.1:
- resolution: {integrity: sha512-17i1KL7ug39p21ThtzxcmIifTaR0odmrUEzT+BUFwMANh3IXV8iurooOcHesrKmYN7A4t0NXlaFErYLvPs+4DA==}
+ /@tauri-apps/plugin-http@2.0.0-beta.2:
+ resolution: {integrity: sha512-g/FA/w/+a2uQQlXoVTy5HXIi/YZo3q3lnxhKkwCWE/IZOMoraDlTzM/H+MB9hUaubLAnuPUMth5LaeFC9jwdRw==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-notification@2.0.0-beta.1:
- resolution: {integrity: sha512-yFMRJt3AxUW7D4fcHy2l8WWVZW4s7Gb1aupk6YFVgnrHx4sqDDDoj/NAwjvEG7wxbLav7oxk7LwYvKKuT/OpFg==}
+ /@tauri-apps/plugin-notification@2.0.0-beta.2:
+ resolution: {integrity: sha512-OxMuKawWkXGR04hALFrPhRXhA3vGRyMy+kRT3vdHoAwngZHcBGetRqm6CuW0tSNWCgwuUYXpN57636CfUReg5g==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-os@2.0.0-beta.1:
- resolution: {integrity: sha512-fQ0rPJjuAppOtRlBULIn7vc9oNgP8aIi58Q48HvrIZ2ndysxEEO5TW4hkFCU+BXB/b6Y24lwhLBiC8kCzUcLew==}
+ /@tauri-apps/plugin-os@2.0.0-beta.2:
+ resolution: {integrity: sha512-rhJ/sEYvEAeMUQt6UiFODi5dT6F/ciNZYBQrbFTwhIqwQ2fp87dmzsscMy7FQ9LOor8AW+kL1KWoadfgzA/mSA==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-process@2.0.0-beta.1:
- resolution: {integrity: sha512-rrKHWQ6zWeC7uTXXcSIcTvWCPcX/oPC2KzR4s6PAbzOkPFusRDWVgWvpfp5byN1KQ3znYkS7x0BOhWsPNbfeMw==}
+ /@tauri-apps/plugin-process@2.0.0-beta.2:
+ resolution: {integrity: sha512-CLF3Figv68fk+mqdV1q8bufFlcQS3SSTiNX8Lc7FbSD211XOWShgiGm4D6QMUkFBxgXzZICWh/mrYnWdv3aYQA==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-shell@2.0.0-beta.1:
- resolution: {integrity: sha512-yMf9CMHCRkGnx0pv420MptEeUdk+bVrXyM5zwFisy75GBhXgvEEtSjAkubTsC0jkzLfn4EInizaW2GER9ub7cQ==}
+ /@tauri-apps/plugin-shell@2.0.0-beta.2:
+ resolution: {integrity: sha512-9rWsfN7Wt+EuWmpmNnK8bCs+04fzhEYrHtWyLIAYxb9diFdcJrEoctCP9YM2v+Uf8/y8qFC7VCbZ/9VQHANymQ==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-sql@2.0.0-beta.1:
- resolution: {integrity: sha512-Ty9s+vGSTJ+D/zu8EcGY17/4OU/7j4T1AiVRCEsdC0Ty3ubbaH4LuWoiO2pg4GZdgKPvnWmGcLkvtIdHXj6kMw==}
+ /@tauri-apps/plugin-updater@2.0.0-beta.2:
+ resolution: {integrity: sha512-T8EkAXawbyV/6/Lcf1VVIWhtGuals63zKn+udYNqlC8CRM5iYQ+8bM8Nmy2E+pIzkkx93d1t6/8geFitLZPmKw==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
- /@tauri-apps/plugin-updater@2.0.0-beta.1:
- resolution: {integrity: sha512-Pfb0mtzG72EPH5xR4WZGVRXyFz521uDb0a451inSKnb0ELcRlfKukRzLZEfuCtxgUAUw8cVX6sn16OduE4AkDg==}
+ /@tauri-apps/plugin-upload@2.0.0-beta.2:
+ resolution: {integrity: sha512-DJB7cGhsw+mT//OUkS0f1PpIxWdVyJT3gKHzgCcJCJUJPpQaVYjUzlxARTk820H+7EuRHtmzOmXOo6P+8ZeOZg==}
dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
- dev: false
-
- /@tauri-apps/plugin-upload@2.0.0-beta.1:
- resolution: {integrity: sha512-Teh1iMbNjo8U0VrhkA2QVYiNNiHmds572WS9rPajCvg9X9CJ6IPdABw0fSzK2XThfadabsgbsYL1BYnvTnpO5g==}
- dependencies:
- '@tauri-apps/api': 2.0.0-beta.2
+ '@tauri-apps/api': 2.0.0-beta.4
dev: false
/@types/babel__core@7.20.5:
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
dependencies:
- '@babel/parser': 7.24.0
+ '@babel/parser': 7.24.4
'@babel/types': 7.24.0
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.5
- dev: false
/@types/babel__generator@7.6.8:
resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
dependencies:
'@babel/types': 7.24.0
- dev: false
/@types/babel__template@7.4.4:
resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
dependencies:
- '@babel/parser': 7.24.0
+ '@babel/parser': 7.24.4
'@babel/types': 7.24.0
- dev: false
/@types/babel__traverse@7.20.5:
resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
dependencies:
'@babel/types': 7.24.0
- dev: false
/@types/debug@4.1.12:
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
@@ -3237,11 +3084,11 @@ packages:
/@types/lodash-es@4.17.12:
resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
dependencies:
- '@types/lodash': 4.14.202
+ '@types/lodash': 4.17.0
dev: false
- /@types/lodash@4.14.202:
- resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==}
+ /@types/lodash@4.17.0:
+ resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==}
dev: false
/@types/mdast@4.0.3:
@@ -3260,24 +3107,20 @@ packages:
'@types/unist': 2.0.10
dev: false
- /@types/prop-types@15.7.11:
- resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
+ /@types/prop-types@15.7.12:
+ resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
- /@types/react-dom@18.2.19:
- resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==}
+ /@types/react-dom@18.2.24:
+ resolution: {integrity: sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg==}
dependencies:
- '@types/react': 18.2.61
+ '@types/react': 18.2.75
- /@types/react@18.2.61:
- resolution: {integrity: sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==}
+ /@types/react@18.2.75:
+ resolution: {integrity: sha512-+DNnF7yc5y0bHkBTiLKqXFe+L4B3nvOphiMY3tuA5X10esmjqk7smyBZzbGTy2vsiy/Bnzj8yFIBL8xhRacoOg==}
dependencies:
- '@types/prop-types': 15.7.11
- '@types/scheduler': 0.16.8
+ '@types/prop-types': 15.7.12
csstype: 3.1.3
- /@types/scheduler@0.16.8:
- resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
-
/@types/unist@2.0.10:
resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
dev: false
@@ -3290,43 +3133,59 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: false
- /@vitejs/plugin-react-swc@3.6.0(vite@5.1.4):
+ /@vitejs/plugin-react-swc@3.6.0(vite@5.2.8):
resolution: {integrity: sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==}
peerDependencies:
vite: ^4 || ^5
dependencies:
- '@swc/core': 1.4.2
- vite: 5.1.4
+ '@swc/core': 1.4.13
+ vite: 5.2.8
transitivePeerDependencies:
- '@swc/helpers'
dev: true
- /@volar/kit@2.0.4(typescript@5.3.3):
- resolution: {integrity: sha512-USRx/o0jKz7o8+lEKWMxWqbqvC46XFrf3IE6CZBYzRo9kM7RERQLwUYaoT2bOcHt5DQWublpnTgdgHMm37Gysg==}
+ /@vitejs/plugin-react@4.2.1(vite@5.2.8):
+ resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0
+ dependencies:
+ '@babel/core': 7.24.4
+ '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4)
+ '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4)
+ '@types/babel__core': 7.20.5
+ react-refresh: 0.14.0
+ vite: 5.2.8
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@volar/kit@2.1.6(typescript@5.4.4):
+ resolution: {integrity: sha512-dSuXChDGM0nSG/0fxqlNfadjpAeeo1P1SJPBQ+pDf8H1XrqeJq5gIhxRTEbiS+dyNIG69ATq1CArkbCif+oxJw==}
peerDependencies:
typescript: '*'
dependencies:
- '@volar/language-service': 2.0.4
- '@volar/typescript': 2.0.4
+ '@volar/language-service': 2.1.6
+ '@volar/typescript': 2.1.6
typesafe-path: 0.2.2
- typescript: 5.3.3
+ typescript: 5.4.4
vscode-languageserver-textdocument: 1.0.11
vscode-uri: 3.0.8
dev: false
- /@volar/language-core@2.0.4:
- resolution: {integrity: sha512-VhC8i03P0x9LKGLTBi81xNTNWm40yxQ/Iba8IpH+LFr+Yb7c/D7fF90Cvf31MzPDM4G5rjIOlCfs+eQKPBkwQw==}
+ /@volar/language-core@2.1.6:
+ resolution: {integrity: sha512-pAlMCGX/HatBSiDFMdMyqUshkbwWbLxpN/RL7HCQDOo2gYBE+uS+nanosLc1qR6pTQ/U8q00xt8bdrrAFPSC0A==}
dependencies:
- '@volar/source-map': 2.0.4
+ '@volar/source-map': 2.1.6
dev: false
- /@volar/language-server@2.0.4:
- resolution: {integrity: sha512-VnljhooQjT6RhmvwwJK9+3YYs2ovFmav4IVNHiQgnTMfiOiyABzcghwvJrJrI39rJDI6LNOWF7BYUJq7K07BKQ==}
+ /@volar/language-server@2.1.6:
+ resolution: {integrity: sha512-0w+FV8ro37hVb3qE4ONo3VbS5kEQXv4H/D2xCePyY5dRw6XnbJAPFNKvoxI9mxHTPonvIG1si5rN9MSGSKtgZQ==}
dependencies:
- '@volar/language-core': 2.0.4
- '@volar/language-service': 2.0.4
- '@volar/snapshot-document': 2.0.4
- '@volar/typescript': 2.0.4
+ '@volar/language-core': 2.1.6
+ '@volar/language-service': 2.1.6
+ '@volar/snapshot-document': 2.1.6
+ '@volar/typescript': 2.1.6
'@vscode/l10n': 0.0.16
path-browserify: 1.0.1
request-light: 0.7.0
@@ -3336,39 +3195,39 @@ packages:
vscode-uri: 3.0.8
dev: false
- /@volar/language-service@2.0.4:
- resolution: {integrity: sha512-DoanyU9I9Nl85lUytDl8jgyk+nrUDR5CFNVMrxWXGXclP4WTqBayBgSFAeF1L/5AwP3MywmWoK4GLAEVvl8D+Q==}
+ /@volar/language-service@2.1.6:
+ resolution: {integrity: sha512-1OpbbPQ6wUIumwMP5r45y8utVEmvq1n6BC8JHqGKsuFr9RGFIldDBlvA/xuO3MDKhjmmPGPHKb54kg1/YN78ow==}
dependencies:
- '@volar/language-core': 2.0.4
+ '@volar/language-core': 2.1.6
vscode-languageserver-protocol: 3.17.5
vscode-languageserver-textdocument: 1.0.11
vscode-uri: 3.0.8
dev: false
- /@volar/snapshot-document@2.0.4:
- resolution: {integrity: sha512-YzgdmvpdRFxiBFCOVWga67naAtbPtKmPaFtGnmxWx+KXrjGkpUXT/2tzeKn5FLdtoYV+DRTdpMdP/45ArnVwZQ==}
+ /@volar/snapshot-document@2.1.6:
+ resolution: {integrity: sha512-YNYk1sCOrGg7VHbZM+1It97q0GWhFxdqIwnxSNFoL0X1LuSRXoCT2DRb/aa1J6aBpPMbKqSFUWHGQEAFUnc4Zw==}
dependencies:
vscode-languageserver-protocol: 3.17.5
vscode-languageserver-textdocument: 1.0.11
dev: false
- /@volar/source-map@2.0.4:
- resolution: {integrity: sha512-BbxUinEMoJZqrHsSj1aBa0boCBnN3BoXnf7j9IBwjxosxGXOhCvqmH2L9raJemadaKjeVR8ZQLhV7AOhyoHt/Q==}
+ /@volar/source-map@2.1.6:
+ resolution: {integrity: sha512-TeyH8pHHonRCHYI91J7fWUoxi0zWV8whZTVRlsWHSYfjm58Blalkf9LrZ+pj6OiverPTmrHRkBsG17ScQyWECw==}
dependencies:
muggle-string: 0.4.1
dev: false
- /@volar/typescript@2.0.4:
- resolution: {integrity: sha512-KF7yh7GIo4iWuAQOKf/ONeFHdQA+wFriitW8LtGZB4iOOT6MdlRlYNsRL8do7XxmXvsBKcs4jTMtGn+uZRwlWg==}
+ /@volar/typescript@2.1.6:
+ resolution: {integrity: sha512-JgPGhORHqXuyC3r6skPmPHIZj4LoMmGlYErFTuPNBq9Nhc9VTv7ctHY7A3jMN3ngKEfRrfnUcwXHztvdSQqNfw==}
dependencies:
- '@volar/language-core': 2.0.4
+ '@volar/language-core': 2.1.6
path-browserify: 1.0.1
dev: false
/@vscode/emmet-helper@2.9.2:
resolution: {integrity: sha512-MaGuyW+fa13q3aYsluKqclmh62Hgp0BpKIqS66fCxfOaBcVQ1OnMQxRRgQUYnCkxFISAQlkJ0qWWPyXjro1Qrg==}
dependencies:
- emmet: 2.4.6
+ emmet: 2.4.7
jsonc-parser: 2.3.1
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-types: 3.17.5
@@ -3408,7 +3267,6 @@ packages:
engines: {node: '>=4'}
dependencies:
color-convert: 1.9.3
- dev: false
/ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
@@ -3443,8 +3301,8 @@ packages:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: false
- /aria-hidden@1.2.3:
- resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==}
+ /aria-hidden@1.2.4:
+ resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
engines: {node: '>=10'}
dependencies:
tslib: 2.6.2
@@ -3460,40 +3318,39 @@ packages:
resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==}
dev: false
- /astro-seo-meta@4.1.0(astro@4.4.9):
+ /astro-seo-meta@4.1.0(astro@4.5.18):
resolution: {integrity: sha512-v5qULt/c2hp9u6JtRyZeWTeb6YC82XDMzVcEf7XlRSuvs3C6KUQxeIOp5j+uOIek42CZHcyhbWzQF+FoRbQlfg==}
peerDependencies:
astro: ^4.0.0
dependencies:
- astro: 4.4.9(typescript@5.3.3)
+ astro: 4.5.18(typescript@5.4.4)
dev: false
- /astro-seo-schema@4.0.0(astro@4.4.9)(schema-dts@1.1.2):
+ /astro-seo-schema@4.0.0(astro@4.5.18)(schema-dts@1.1.2):
resolution: {integrity: sha512-ZcpxuQWSlyOVru+sN5LwUHqfrQpOEyv6Ksxq6WBNhycEHE0AEgGdiHkfhAmQbVqT4HXM8bmZOZlYlwwsYkfPAw==}
peerDependencies:
astro: ^4.0.0
schema-dts: ^1.1.0
dependencies:
- astro: 4.4.9(typescript@5.3.3)
- schema-dts: 1.1.2(typescript@5.3.3)
+ astro: 4.5.18(typescript@5.4.4)
+ schema-dts: 1.1.2(typescript@5.4.4)
dev: false
- /astro@4.4.9(typescript@5.3.3):
- resolution: {integrity: sha512-FTWhzKjao7rHHiF/CqPqPS18AFad+fmUcYUFhWWIsYETHcc9g0IIIiv6cHXUE7g6mEZf7ycAa+WdboeEHUhraQ==}
+ /astro@4.5.18(typescript@5.4.4):
+ resolution: {integrity: sha512-iytLnUfyUneKMjIQdj79zzniByXtcmGNDobIV/gjGsatC9vAyPqeCT8TbMqfkRBMeYGs+S/wCzSoPqaaMJiQnw==}
engines: {node: '>=18.14.1', npm: '>=6.14.0'}
hasBin: true
dependencies:
- '@astrojs/compiler': 2.6.0
- '@astrojs/internal-helpers': 0.2.1
- '@astrojs/markdown-remark': 4.2.1
+ '@astrojs/compiler': 2.7.1
+ '@astrojs/internal-helpers': 0.4.0
+ '@astrojs/markdown-remark': 5.0.0
'@astrojs/telemetry': 3.0.4
- '@babel/core': 7.24.0
- '@babel/generator': 7.23.6
- '@babel/parser': 7.24.0
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.0)
- '@babel/traverse': 7.24.0
+ '@babel/core': 7.24.4
+ '@babel/generator': 7.24.4
+ '@babel/parser': 7.24.4
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4)
+ '@babel/traverse': 7.24.1
'@babel/types': 7.24.0
- '@medv/finder': 3.2.0
'@types/babel__core': 7.20.5
acorn: 8.11.3
aria-query: 5.3.0
@@ -3511,42 +3368,41 @@ packages:
diff: 5.2.0
dlv: 1.1.3
dset: 3.1.3
- es-module-lexer: 1.4.1
+ es-module-lexer: 1.5.0
esbuild: 0.19.12
estree-walker: 3.0.3
execa: 8.0.1
fast-glob: 3.3.2
- flattie: 1.1.0
+ flattie: 1.1.1
github-slugger: 2.0.0
gray-matter: 4.0.3
html-escaper: 3.0.3
http-cache-semantics: 4.1.1
js-yaml: 4.1.0
kleur: 4.1.5
- magic-string: 0.30.7
- mdast-util-to-hast: 13.0.2
+ magic-string: 0.30.9
mime: 3.0.0
ora: 7.0.1
p-limit: 5.0.0
p-queue: 8.0.1
- path-to-regexp: 6.2.1
+ path-to-regexp: 6.2.2
preferred-pm: 3.1.3
prompts: 2.4.2
rehype: 13.0.1
resolve: 1.22.8
semver: 7.6.0
- shikiji: 0.9.19
- shikiji-core: 0.9.19
+ shiki: 1.3.0
string-width: 7.1.0
strip-ansi: 7.1.0
- tsconfck: 3.0.2(typescript@5.3.3)
+ tsconfck: 3.0.3(typescript@5.4.4)
unist-util-visit: 5.0.0
vfile: 6.0.1
- vite: 5.1.4
- vitefu: 0.2.5(vite@5.1.4)
+ vite: 5.2.8
+ vitefu: 0.2.5(vite@5.2.8)
which-pm: 2.1.1
yargs-parser: 21.1.1
zod: 3.22.4
+ zod-to-json-schema: 3.22.5(zod@3.22.4)
optionalDependencies:
sharp: 0.32.6
transitivePeerDependencies:
@@ -3561,19 +3417,19 @@ packages:
- typescript
dev: false
- /autoprefixer@10.4.18(postcss@8.4.35):
- resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==}
+ /autoprefixer@10.4.19(postcss@8.4.38):
+ resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
engines: {node: ^10 || ^12 || >=14}
hasBin: true
peerDependencies:
postcss: ^8.1.0
dependencies:
browserslist: 4.23.0
- caniuse-lite: 1.0.30001591
+ caniuse-lite: 1.0.30001607
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.0.0
- postcss: 8.4.35
+ postcss: 8.4.38
postcss-value-parser: 4.2.0
/axobject-query@4.0.0:
@@ -3595,34 +3451,33 @@ packages:
/balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
- /bare-events@2.2.1:
- resolution: {integrity: sha512-9GYPpsPFvrWBkelIhOhTWtkeZxVxZOdb3VnFTCzlOo3OjvmTvzLoZFUT8kNFACx0vJej6QPney1Cf9BvzCNE/A==}
+ /bare-events@2.2.2:
+ resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==}
requiresBuild: true
dev: false
optional: true
- /bare-fs@2.2.1:
- resolution: {integrity: sha512-+CjmZANQDFZWy4PGbVdmALIwmt33aJg8qTkVjClU6X4WmZkTPBDxRHiBn7fpqEWEfF3AC2io++erpViAIQbSjg==}
+ /bare-fs@2.2.3:
+ resolution: {integrity: sha512-amG72llr9pstfXOBOHve1WjiuKKAMnebcmMbPWDZ7BCevAoJLpugjuAPRsDINEyjT0a6tbaVx3DctkXIRbLuJw==}
requiresBuild: true
dependencies:
- bare-events: 2.2.1
- bare-os: 2.2.0
- bare-path: 2.1.0
+ bare-events: 2.2.2
+ bare-path: 2.1.1
streamx: 2.16.1
dev: false
optional: true
- /bare-os@2.2.0:
- resolution: {integrity: sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==}
+ /bare-os@2.2.1:
+ resolution: {integrity: sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==}
requiresBuild: true
dev: false
optional: true
- /bare-path@2.1.0:
- resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==}
+ /bare-path@2.1.1:
+ resolution: {integrity: sha512-OHM+iwRDRMDBsSW7kl3dO62JyHdBKO3B25FB9vNQBPcGHMo4+eA8Yj41Lfbk3pS/seDY+siNge0LdRTulAau/A==}
requiresBuild: true
dependencies:
- bare-os: 2.2.0
+ bare-os: 2.2.1
dev: false
optional: true
@@ -3638,8 +3493,8 @@ packages:
resolution: {integrity: sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==}
dev: false
- /binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ /binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
/bitcoin-units@1.0.0:
@@ -3696,8 +3551,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
- caniuse-lite: 1.0.30001591
- electron-to-chromium: 1.4.690
+ caniuse-lite: 1.0.30001607
+ electron-to-chromium: 1.4.731
node-releases: 2.0.14
update-browserslist-db: 1.0.13(browserslist@4.23.0)
@@ -3734,8 +3589,8 @@ packages:
engines: {node: '>=14.16'}
dev: false
- /caniuse-lite@1.0.30001591:
- resolution: {integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==}
+ /caniuse-lite@1.0.30001607:
+ resolution: {integrity: sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==}
/ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -3748,7 +3603,6 @@ packages:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
- dev: false
/chalk@5.3.0:
resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
@@ -3845,7 +3699,6 @@ packages:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
dependencies:
color-name: 1.1.3
- dev: false
/color-convert@2.0.1:
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
@@ -3855,7 +3708,6 @@ packages:
/color-name@1.1.3:
resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
- dev: false
/color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
@@ -3903,7 +3755,6 @@ packages:
/convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- dev: false
/cookie@0.6.0:
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
@@ -3943,7 +3794,7 @@ packages:
resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
engines: {node: '>=0.11'}
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
dev: true
/dayjs@1.11.10:
@@ -3999,8 +3850,8 @@ packages:
engines: {node: '>=6'}
dev: false
- /detect-libc@2.0.2:
- resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
+ /detect-libc@2.0.3:
+ resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
engines: {node: '>=8'}
requiresBuild: true
dev: false
@@ -4051,11 +3902,11 @@ packages:
/eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- /electron-to-chromium@1.4.690:
- resolution: {integrity: sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==}
+ /electron-to-chromium@1.4.731:
+ resolution: {integrity: sha512-+TqVfZjpRz2V/5SPpmJxq9qK620SC5SqCnxQIOi7i/U08ZDcTpKbT7Xjj9FU5CbXTMUb4fywbIr8C7cGv4hcjw==}
- /emmet@2.4.6:
- resolution: {integrity: sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==}
+ /emmet@2.4.7:
+ resolution: {integrity: sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==}
dependencies:
'@emmetio/abbreviation': 2.3.3
'@emmetio/css-abbreviation': 2.1.8
@@ -4084,8 +3935,8 @@ packages:
engines: {node: '>=0.12'}
dev: false
- /es-module-lexer@1.4.1:
- resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
+ /es-module-lexer@1.5.0:
+ resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==}
dev: false
/es5-ext@0.10.64:
@@ -4144,6 +3995,37 @@ packages:
'@esbuild/win32-arm64': 0.19.12
'@esbuild/win32-ia32': 0.19.12
'@esbuild/win32-x64': 0.19.12
+ dev: false
+
+ /esbuild@0.20.2:
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
+ engines: {node: '>=12'}
+ hasBin: true
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
/escalade@3.1.2:
resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
@@ -4152,7 +4034,6 @@ packages:
/escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
- dev: false
/escape-string-regexp@5.0.0:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
@@ -4192,11 +4073,6 @@ packages:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
dev: false
- /events@3.3.0:
- resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
- engines: {node: '>=0.8.x'}
- dev: false
-
/execa@8.0.1:
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
engines: {node: '>=16.17'}
@@ -4294,8 +4170,8 @@ packages:
pkg-dir: 4.2.0
dev: false
- /flattie@1.1.0:
- resolution: {integrity: sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw==}
+ /flattie@1.1.1:
+ resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==}
engines: {node: '>=8'}
dev: false
@@ -4316,12 +4192,15 @@ packages:
/fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
- /framer-motion@11.0.8(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-1KSGNuqe1qZkS/SWQlDnqK2VCVzRVEoval379j0FiUBJAZoqgwyvqFkfvJbgW2IPFo4wX16K+M0k5jO23lCIjA==}
+ /framer-motion@11.0.25(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-mRt7vQGzA7++wTgb+PW1TrlXXgndqR6hCiJ48fXr2X9alte2hPQiAq556HRwDCt0Q5X98MNvcSe4KUa27Gm5Lg==}
peerDependencies:
+ '@emotion/is-prop-valid': '*'
react: ^18.0.0
react-dom: ^18.0.0
peerDependenciesMeta:
+ '@emotion/is-prop-valid':
+ optional: true
react:
optional: true
react-dom:
@@ -4330,8 +4209,6 @@ packages:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
tslib: 2.6.2
- optionalDependencies:
- '@emotion/is-prop-valid': 0.8.8
dev: false
/fs-constants@1.0.0:
@@ -4358,7 +4235,6 @@ packages:
/gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
- dev: false
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
@@ -4384,7 +4260,7 @@ packages:
resolution: {integrity: sha512-qHO+QmPiI1bEw0Y/m+WMAAx/UoEEXLZwEx0DVaKMtlHNrKbMeV960LryIpd+E2Ykb9XkVHmVtpbCsmul3GhR0g==}
engines: {node: '>=16'}
dependencies:
- normalize-url: 8.0.0
+ normalize-url: 8.0.1
super-regex: 0.2.0
url-regex-safe: 4.0.0
transitivePeerDependencies:
@@ -4413,21 +4289,20 @@ packages:
dependencies:
is-glob: 4.0.3
- /glob@10.3.10:
- resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
+ /glob@10.3.12:
+ resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==}
engines: {node: '>=16 || 14 >=14.17'}
hasBin: true
dependencies:
foreground-child: 3.1.1
jackspeak: 2.3.6
- minimatch: 9.0.3
+ minimatch: 9.0.4
minipass: 7.0.4
- path-scurry: 1.10.1
+ path-scurry: 1.10.2
/globals@11.12.0:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
- dev: false
/globrex@0.1.2:
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
@@ -4458,10 +4333,9 @@ packages:
/has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
- dev: false
- /hasown@2.0.1:
- resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==}
+ /hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
dependencies:
function-bind: 1.1.2
@@ -4484,12 +4358,18 @@ packages:
'@types/unist': 3.0.2
devlop: 1.1.0
hastscript: 8.0.0
- property-information: 6.4.1
+ property-information: 6.5.0
vfile: 6.0.1
vfile-location: 5.0.2
web-namespaces: 2.0.1
dev: false
+ /hast-util-is-element@3.0.0:
+ resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
+ dependencies:
+ '@types/hast': 3.0.4
+ dev: false
+
/hast-util-parse-selector@4.0.0:
resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
dependencies:
@@ -4505,7 +4385,7 @@ packages:
hast-util-from-parse5: 8.0.1
hast-util-to-parse5: 8.0.0
html-void-elements: 3.0.0
- mdast-util-to-hast: 13.0.2
+ mdast-util-to-hast: 13.1.0
parse5: 7.1.2
unist-util-position: 5.0.0
unist-util-visit: 5.0.0
@@ -4514,8 +4394,8 @@ packages:
zwitch: 2.0.4
dev: false
- /hast-util-to-html@9.0.0:
- resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==}
+ /hast-util-to-html@9.0.1:
+ resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==}
dependencies:
'@types/hast': 3.0.4
'@types/unist': 3.0.2
@@ -4524,10 +4404,10 @@ packages:
hast-util-raw: 9.0.2
hast-util-whitespace: 3.0.0
html-void-elements: 3.0.0
- mdast-util-to-hast: 13.0.2
- property-information: 6.4.1
+ mdast-util-to-hast: 13.1.0
+ property-information: 6.5.0
space-separated-tokens: 2.0.2
- stringify-entities: 4.0.3
+ stringify-entities: 4.0.4
zwitch: 2.0.4
dev: false
@@ -4537,12 +4417,21 @@ packages:
'@types/hast': 3.0.4
comma-separated-tokens: 2.0.3
devlop: 1.1.0
- property-information: 6.4.1
+ property-information: 6.5.0
space-separated-tokens: 2.0.2
web-namespaces: 2.0.1
zwitch: 2.0.4
dev: false
+ /hast-util-to-text@4.0.1:
+ resolution: {integrity: sha512-RHL7Vo2n06ZocCFWqmbyhZ1pCYX/mSKdywt9YD5U6Hquu5syV+dImCXFKLFt02JoK5QxkQFS0PoVdFdPXuPffQ==}
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.2
+ hast-util-is-element: 3.0.0
+ unist-util-find-after: 5.0.0
+ dev: false
+
/hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
dependencies:
@@ -4555,12 +4444,12 @@ packages:
'@types/hast': 3.0.4
comma-separated-tokens: 2.0.3
hast-util-parse-selector: 4.0.0
- property-information: 6.4.1
+ property-information: 6.5.0
space-separated-tokens: 2.0.2
dev: false
- /html-entities@2.4.0:
- resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
+ /html-entities@2.5.2:
+ resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
dev: false
/html-escaper@3.0.3:
@@ -4589,21 +4478,21 @@ packages:
/i18next-resources-to-backend@1.2.0:
resolution: {integrity: sha512-8f1l03s+QxDmCfpSXCh9V+AFcxAwIp0UaroWuyOx+hmmv8484GcELHs+lnu54FrNij8cDBEXvEwhzZoXsKcVpg==}
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
dev: false
- /i18next@23.10.0:
- resolution: {integrity: sha512-/TgHOqsa7/9abUKJjdPeydoyDc0oTi/7u9F8lMSj6ufg4cbC1Oj3f/Jja7zj7WRIhEQKB7Q4eN6y68I9RDxxGQ==}
+ /i18next@23.11.1:
+ resolution: {integrity: sha512-mXw4A24BiPZKRsbb9ewgSvjYd6fxFCNwJyfK6nYfSTIAX2GkCWcb598m3DFkDZmqADatvuASrKo6qwORz3VwTQ==}
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
dev: false
/ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
dev: false
- /immer@10.0.3:
- resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==}
+ /immer@10.0.4:
+ resolution: {integrity: sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==}
dev: false
/import-meta-resolve@4.0.0:
@@ -4641,7 +4530,7 @@ packages:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
dependencies:
- binary-extensions: 2.2.0
+ binary-extensions: 2.3.0
/is-buffer@2.0.5:
resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
@@ -4651,7 +4540,7 @@ packages:
/is-core-module@2.13.1:
resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
dependencies:
- hasown: 2.0.1
+ hasown: 2.0.2
/is-docker@3.0.0:
resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
@@ -4772,13 +4661,11 @@ packages:
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
engines: {node: '>=4'}
hasBin: true
- dev: false
/json5@2.2.3:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
- dev: false
/jsonc-parser@2.3.1:
resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==}
@@ -4799,8 +4686,8 @@ packages:
engines: {node: '>=6'}
dev: false
- /light-bolt11-decoder@3.0.0:
- resolution: {integrity: sha512-AKvOigD2pmC8ktnn2TIqdJu0K0qk6ukUmTvHwF3JNkm8uWCqt18Ijn33A/a7gaRZ4PghJ59X+8+MXrzLKdBTmQ==}
+ /light-bolt11-decoder@3.1.1:
+ resolution: {integrity: sha512-sLg/KCwYkgsHWkefWd6KqpCHrLFWWaXTOX3cf6yD2hAzL0SLpX+lFcaFK2spkjbgzG6hhijKfORDc9WoUHwX0A==}
dependencies:
'@scure/base': 1.1.1
dev: false
@@ -4886,7 +4773,6 @@ packages:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
dependencies:
yallist: 3.1.1
- dev: false
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
@@ -4895,8 +4781,8 @@ packages:
yallist: 4.0.0
dev: false
- /magic-string@0.30.7:
- resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==}
+ /magic-string@0.30.9:
+ resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
@@ -5018,8 +4904,8 @@ packages:
unist-util-is: 6.0.0
dev: false
- /mdast-util-to-hast@13.0.2:
- resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==}
+ /mdast-util-to-hast@13.1.0:
+ resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==}
dependencies:
'@types/hast': 3.0.4
'@types/mdast': 4.0.3
@@ -5029,6 +4915,7 @@ packages:
trim-lines: 3.0.1
unist-util-position: 5.0.0
unist-util-visit: 5.0.0
+ vfile: 6.0.1
dev: false
/mdast-util-to-markdown@2.1.0:
@@ -5050,8 +4937,8 @@ packages:
'@types/mdast': 4.0.3
dev: false
- /media-chrome@2.2.5:
- resolution: {integrity: sha512-59peAYFlL9ZlFVkKJmIgIDNMkQr4nauYTwIQhLg3khmGfO6/25VNEI8Yn0aUMLb5IFB2gzjcPmfu1ktfOhQ8Ag==}
+ /media-chrome@3.2.0:
+ resolution: {integrity: sha512-hJC8UWlRYqib02NhZbjB/CZsQYV7zpDRVgX4F2z2p+Foh+TPw64MXri9Na1fZA1xIrI52E5s6x8kAhqYr6dd9w==}
dev: false
/merge-stream@2.0.0:
@@ -5349,8 +5236,8 @@ packages:
engines: {node: '>=15.14.0'}
dev: false
- /minimatch@9.0.3:
- resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ /minimatch@9.0.4:
+ resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
brace-expansion: 2.0.1
@@ -5394,8 +5281,8 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- /nanoid@5.0.6:
- resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==}
+ /nanoid@5.0.7:
+ resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==}
engines: {node: ^18 || >=20}
hasBin: true
dev: false
@@ -5416,8 +5303,8 @@ packages:
'@types/nlcst': 1.0.4
dev: false
- /node-abi@3.56.0:
- resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==}
+ /node-abi@3.57.0:
+ resolution: {integrity: sha512-Dp+A9JWxRaKuHP35H77I4kCKesDy5HUDEmScia2FyncMTOXASMyg251F5PhFoDA5uqBrDDffiLpbqnrZmNXW+g==}
engines: {node: '>=10'}
requiresBuild: true
dependencies:
@@ -5461,12 +5348,12 @@ packages:
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
engines: {node: '>=0.10.0'}
- /normalize-url@8.0.0:
- resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==}
+ /normalize-url@8.0.1:
+ resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==}
engines: {node: '>=14.16'}
dev: false
- /nostr-tools@1.17.0(typescript@5.3.3):
+ /nostr-tools@1.17.0(typescript@5.4.4):
resolution: {integrity: sha512-LZmR8GEWKZeElbFV5Xte75dOeE9EFUW/QLI1Ncn3JKn0kFddDKEfBbFN8Mu4TMs+L4HR/WTPha2l+PPuRnJcMw==}
peerDependencies:
typescript: '>=5.0.0'
@@ -5480,24 +5367,24 @@ packages:
'@scure/base': 1.1.1
'@scure/bip32': 1.3.1
'@scure/bip39': 1.2.1
- typescript: 5.3.3
+ typescript: 5.4.4
dev: false
- /nostr-tools@2.3.1(typescript@5.3.3):
- resolution: {integrity: sha512-qjKx2C3EzwiQOe2LPSPyCnp07pGz1pWaWjDXcm+L2y2c8iTECbvlzujDANm3nJUjWL5+LVRUVDovTZ1a/DC4Bg==}
+ /nostr-tools@2.4.0(typescript@5.4.4):
+ resolution: {integrity: sha512-xQC7XdGeh0gLyprcKhvx5lwr7OQ+ZOiQ9C6GpzlVAj+EBv+AiN8kySb57t3uJoG1HK15oT9jf++MmQLwhp1xNQ==}
peerDependencies:
typescript: '>=5.0.0'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
- '@noble/ciphers': 0.5.1
+ '@noble/ciphers': 0.5.2
'@noble/curves': 1.2.0
'@noble/hashes': 1.3.1
'@scure/base': 1.1.1
'@scure/bip32': 1.3.1
'@scure/bip39': 1.2.1
- typescript: 5.3.3
+ typescript: 5.4.4
optionalDependencies:
nostr-wasm: 0.1.0
dev: false
@@ -5648,15 +5535,15 @@ packages:
/path-parse@1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
- /path-scurry@1.10.1:
- resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
+ /path-scurry@1.10.2:
+ resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
lru-cache: 10.2.0
minipass: 7.0.4
- /path-to-regexp@6.2.1:
- resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
+ /path-to-regexp@6.2.2:
+ resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==}
dev: false
/picocolors@1.0.0:
@@ -5686,27 +5573,27 @@ packages:
find-up: 4.1.0
dev: false
- /postcss-import@15.1.0(postcss@8.4.35):
+ /postcss-import@15.1.0(postcss@8.4.38):
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
engines: {node: '>=14.0.0'}
peerDependencies:
postcss: ^8.0.0
dependencies:
- postcss: 8.4.35
+ postcss: 8.4.38
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.8
- /postcss-js@4.0.1(postcss@8.4.35):
+ /postcss-js@4.0.1(postcss@8.4.38):
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
engines: {node: ^12 || ^14 || >= 16}
peerDependencies:
postcss: ^8.4.21
dependencies:
camelcase-css: 2.0.1
- postcss: 8.4.35
+ postcss: 8.4.38
- /postcss-load-config@4.0.2(postcss@8.4.35):
+ /postcss-load-config@4.0.2(postcss@8.4.38):
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
engines: {node: '>= 14'}
peerDependencies:
@@ -5719,17 +5606,17 @@ packages:
optional: true
dependencies:
lilconfig: 3.1.1
- postcss: 8.4.35
- yaml: 2.4.0
+ postcss: 8.4.38
+ yaml: 2.4.1
- /postcss-nested@6.0.1(postcss@8.4.35):
+ /postcss-nested@6.0.1(postcss@8.4.38):
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
engines: {node: '>=12.0'}
peerDependencies:
postcss: ^8.2.14
dependencies:
- postcss: 8.4.35
- postcss-selector-parser: 6.0.15
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
/postcss-selector-parser@6.0.10:
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
@@ -5739,8 +5626,8 @@ packages:
util-deprecate: 1.0.2
dev: true
- /postcss-selector-parser@6.0.15:
- resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
+ /postcss-selector-parser@6.0.16:
+ resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
engines: {node: '>=4'}
dependencies:
cssesc: 3.0.0
@@ -5749,13 +5636,13 @@ packages:
/postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- /postcss@8.4.35:
- resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
+ /postcss@8.4.38:
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.7
picocolors: 1.0.0
- source-map-js: 1.0.2
+ source-map-js: 1.2.0
/prebuild-install@7.1.2:
resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==}
@@ -5763,13 +5650,13 @@ packages:
hasBin: true
requiresBuild: true
dependencies:
- detect-libc: 2.0.2
+ detect-libc: 2.0.3
expand-template: 2.0.3
github-from-package: 0.0.0
minimist: 1.2.8
mkdirp-classic: 0.5.3
napi-build-utils: 1.0.2
- node-abi: 3.56.0
+ node-abi: 3.57.0
pump: 3.0.0
rc: 1.2.8
simple-get: 4.0.1
@@ -5807,8 +5694,8 @@ packages:
sisteransi: 1.0.5
dev: false
- /property-information@6.4.1:
- resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==}
+ /property-information@6.5.0:
+ resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
dev: false
/pump@3.0.0:
@@ -5837,8 +5724,8 @@ packages:
dev: false
optional: true
- /ranges-apply@7.0.15:
- resolution: {integrity: sha512-YMYWexEb5+irsSRGCV4JnWflhc5TvMNbaZrqNTXQYD6vA6hk60CrPZyd5bxTUoZ8Phd1v80UIQJCoxh+bSiHdg==}
+ /ranges-apply@7.0.16:
+ resolution: {integrity: sha512-4rGJHOyA7qatiMDg3vcETkc/TVBPU86/xZRTXff6o7a2neYLmj0EXUUAlhLVuiWAzTPHDPHOQxtk8EDrIF4ohg==}
engines: {node: '>=14.18.0'}
dependencies:
ranges-merge: 9.0.15
@@ -5907,8 +5794,8 @@ packages:
react: 18.2.0
scheduler: 0.23.0
- /react-hook-form@7.51.0(react@18.2.0):
- resolution: {integrity: sha512-BggOy5j58RdhdMzzRUHGOYhSz1oeylFAv6jUSG86OvCIvlAvS7KvnRY7yoAf2pfEiPN7BesnR0xx73nEk3qIiw==}
+ /react-hook-form@7.51.2(react@18.2.0):
+ resolution: {integrity: sha512-y++lwaWjtzDt/XNnyGDQy6goHskFualmDlf+jzEZvjvz6KWDf7EboL7pUvRCzPTJd0EOPpdekYaQLEvvG6m6HA==}
engines: {node: '>=12.22.0'}
peerDependencies:
react: ^16.8.0 || ^17 || ^18
@@ -5926,8 +5813,8 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: false
- /react-i18next@14.0.5(i18next@23.10.0)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-5+bQSeEtgJrMBABBL5lO7jPdSNAbeAZ+MlFWDw//7FnVacuVu3l9EeWFzBQvZsKy+cihkbThWOAThEdH8YjGEw==}
+ /react-i18next@14.1.0(i18next@23.11.1)(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-3KwX6LHpbvGQ+sBEntjV4sYW3Zovjjl3fpoHbUwSgFHf0uRBcbeCBLR5al6ikncI5+W0EFb71QXZmfop+J6NrQ==}
peerDependencies:
i18next: '>= 23.2.3'
react: '>= 16.8.0'
@@ -5939,15 +5826,20 @@ packages:
react-native:
optional: true
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
html-parse-stringify: 3.0.1
- i18next: 23.10.0
+ i18next: 23.11.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
- /react-remove-scroll-bar@2.3.5(@types/react@18.2.61)(react@18.2.0):
- resolution: {integrity: sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==}
+ /react-refresh@0.14.0:
+ resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /react-remove-scroll-bar@2.3.6(@types/react@18.2.75)(react@18.2.0):
+ resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -5956,13 +5848,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.61
+ '@types/react': 18.2.75
react: 18.2.0
- react-style-singleton: 2.2.1(@types/react@18.2.61)(react@18.2.0)
+ react-style-singleton: 2.2.1(@types/react@18.2.75)(react@18.2.0)
tslib: 2.6.2
dev: false
- /react-remove-scroll@2.5.5(@types/react@18.2.61)(react@18.2.0):
+ /react-remove-scroll@2.5.5(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==}
engines: {node: '>=10'}
peerDependencies:
@@ -5972,13 +5864,13 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.61
+ '@types/react': 18.2.75
react: 18.2.0
- react-remove-scroll-bar: 2.3.5(@types/react@18.2.61)(react@18.2.0)
- react-style-singleton: 2.2.1(@types/react@18.2.61)(react@18.2.0)
+ react-remove-scroll-bar: 2.3.6(@types/react@18.2.75)(react@18.2.0)
+ react-style-singleton: 2.2.1(@types/react@18.2.75)(react@18.2.0)
tslib: 2.6.2
- use-callback-ref: 1.3.1(@types/react@18.2.61)(react@18.2.0)
- use-sidecar: 1.1.2(@types/react@18.2.61)(react@18.2.0)
+ use-callback-ref: 1.3.2(@types/react@18.2.75)(react@18.2.0)
+ use-sidecar: 1.1.2(@types/react@18.2.75)(react@18.2.0)
dev: false
/react-string-replace@1.1.1:
@@ -5986,7 +5878,7 @@ packages:
engines: {node: '>=0.12.0'}
dev: false
- /react-style-singleton@2.2.1(@types/react@18.2.61)(react@18.2.0):
+ /react-style-singleton@2.2.1(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
engines: {node: '>=10'}
peerDependencies:
@@ -5996,7 +5888,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.61
+ '@types/react': 18.2.75
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.2.0
@@ -6052,7 +5944,7 @@ packages:
resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==}
dependencies:
'@types/hast': 3.0.4
- hast-util-to-html: 9.0.0
+ hast-util-to-html: 9.0.1
unified: 11.0.4
dev: false
@@ -6094,7 +5986,7 @@ packages:
dependencies:
'@types/hast': 3.0.4
'@types/mdast': 4.0.3
- mdast-util-to-hast: 13.0.2
+ mdast-util-to-hast: 13.1.0
unified: 11.0.4
vfile: 6.0.1
dev: false
@@ -6184,26 +6076,28 @@ packages:
resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
dev: false
- /rollup@4.12.0:
- resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==}
+ /rollup@4.14.1:
+ resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.12.0
- '@rollup/rollup-android-arm64': 4.12.0
- '@rollup/rollup-darwin-arm64': 4.12.0
- '@rollup/rollup-darwin-x64': 4.12.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.12.0
- '@rollup/rollup-linux-arm64-gnu': 4.12.0
- '@rollup/rollup-linux-arm64-musl': 4.12.0
- '@rollup/rollup-linux-riscv64-gnu': 4.12.0
- '@rollup/rollup-linux-x64-gnu': 4.12.0
- '@rollup/rollup-linux-x64-musl': 4.12.0
- '@rollup/rollup-win32-arm64-msvc': 4.12.0
- '@rollup/rollup-win32-ia32-msvc': 4.12.0
- '@rollup/rollup-win32-x64-msvc': 4.12.0
+ '@rollup/rollup-android-arm-eabi': 4.14.1
+ '@rollup/rollup-android-arm64': 4.14.1
+ '@rollup/rollup-darwin-arm64': 4.14.1
+ '@rollup/rollup-darwin-x64': 4.14.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.14.1
+ '@rollup/rollup-linux-arm64-gnu': 4.14.1
+ '@rollup/rollup-linux-arm64-musl': 4.14.1
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.14.1
+ '@rollup/rollup-linux-s390x-gnu': 4.14.1
+ '@rollup/rollup-linux-x64-gnu': 4.14.1
+ '@rollup/rollup-linux-x64-musl': 4.14.1
+ '@rollup/rollup-win32-arm64-msvc': 4.14.1
+ '@rollup/rollup-win32-ia32-msvc': 4.14.1
+ '@rollup/rollup-win32-x64-msvc': 4.14.1
fsevents: 2.3.3
/run-parallel@1.2.0:
@@ -6220,12 +6114,12 @@ packages:
dependencies:
loose-envify: 1.4.0
- /schema-dts@1.1.2(typescript@5.3.3):
+ /schema-dts@1.1.2(typescript@5.4.4):
resolution: {integrity: sha512-MpNwH0dZJHinVxk9bT8XUdjKTxMYrA5bLtrrGmFA6PTLwlOKnhi67XoRd6/ty+Djt6ZC0slR57qFhZDNMI6DhQ==}
peerDependencies:
typescript: '>=4.1.0'
dependencies:
- typescript: 5.3.3
+ typescript: 5.4.4
dev: false
/scroll-into-view-if-needed@3.1.0:
@@ -6245,7 +6139,6 @@ packages:
/semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- dev: false
/semver@7.6.0:
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
@@ -6261,7 +6154,7 @@ packages:
requiresBuild: true
dependencies:
color: 4.2.3
- detect-libc: 2.0.2
+ detect-libc: 2.0.3
node-addon-api: 6.1.0
prebuild-install: 7.1.2
semver: 7.6.0
@@ -6281,14 +6174,10 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- /shikiji-core@0.9.19:
- resolution: {integrity: sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==}
- dev: false
-
- /shikiji@0.9.19:
- resolution: {integrity: sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==}
+ /shiki@1.3.0:
+ resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==}
dependencies:
- shikiji-core: 0.9.19
+ '@shikijs/core': 1.3.0
dev: false
/signal-exit@3.0.7:
@@ -6327,8 +6216,8 @@ packages:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
dev: false
- /slate-react@0.101.6(react-dom@18.2.0)(react@18.2.0)(slate@0.101.5):
- resolution: {integrity: sha512-aMtp9FY127hKWTkCcTBonfKIwKJC2ESPqFdw2o/RuOk3RMQRwsWay8XTOHx8OBGOHanI2fsKaTAPF5zxOLA1Qg==}
+ /slate-react@0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0):
+ resolution: {integrity: sha512-SAcFsK5qaOxXjm0hr/t2pvIxfRv6HJGzmWkG58TdH4LdJCsgKS1n6hQOakHPlRVCwPgwvngB6R+t3pPjv8MqwA==}
peerDependencies:
react: '>=18.2.0'
react-dom: '>=18.2.0'
@@ -6336,7 +6225,7 @@ packages:
dependencies:
'@juggle/resize-observer': 3.4.0
'@types/is-hotkey': 0.1.10
- '@types/lodash': 4.14.202
+ '@types/lodash': 4.17.0
direction: 1.0.4
is-hotkey: 0.2.0
is-plain-object: 5.0.0
@@ -6344,20 +6233,20 @@ packages:
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
scroll-into-view-if-needed: 3.1.0
- slate: 0.101.5
+ slate: 0.102.0
tiny-invariant: 1.3.1
dev: false
- /slate@0.101.5:
- resolution: {integrity: sha512-ZZt1ia8ayRqxtpILRMi2a4MfdvwdTu64CorxTVq9vNSd0GQ/t3YDkze6wKjdeUtENmBlq5wNIDInZbx38Hfu5Q==}
+ /slate@0.102.0:
+ resolution: {integrity: sha512-RT+tHgqOyZVB1oFV9Pv99ajwh4OUCN9p28QWdnDTIzaN/kZxMsHeQN39UNAgtkZTVVVygFqeg7/R2jiptCvfyA==}
dependencies:
- immer: 10.0.3
+ immer: 10.0.4
is-plain-object: 5.0.0
tiny-warning: 1.0.3
dev: false
- /sonner@1.4.3(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-SArYlHbkjqRuLiR0iGY2ZSr09oOrxw081ZZkQPfXrs8aZQLIBOLOdzTYxGJB5yIZ7qL56UEPmrX1YqbODwG0Lw==}
+ /sonner@1.4.41(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ==}
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
@@ -6366,8 +6255,8 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: false
- /source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ /source-map-js@1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
engines: {node: '>=0.10.0'}
/space-separated-tokens@2.0.2:
@@ -6392,7 +6281,7 @@ packages:
fast-fifo: 1.3.2
queue-tick: 1.0.1
optionalDependencies:
- bare-events: 2.2.1
+ bare-events: 2.2.2
dev: false
optional: true
@@ -6409,15 +6298,15 @@ packages:
rfdc: 1.3.1
dev: false
- /string-strip-html@13.4.6:
- resolution: {integrity: sha512-I1uUTS/BGQ/3jj+9WF6GENATSUPy9UruqVHdvAikOqlvFvlOAQL8M3qjoLu60Usp2x3yJpnAYtUTzDYiDdqXqg==}
+ /string-strip-html@13.4.8:
+ resolution: {integrity: sha512-vlcRAtx5DN6zXGUx3EYGFg0/JOQWM65mqLgDaBHviQPP+ovUFzqZ30iQ+674JHWr9wNgnzFGxx9TGipPZMnZXg==}
engines: {node: '>=14.18.0'}
dependencies:
'@types/lodash-es': 4.17.12
codsen-utils: 1.6.4
- html-entities: 2.4.0
+ html-entities: 2.5.2
lodash-es: 4.17.21
- ranges-apply: 7.0.15
+ ranges-apply: 7.0.16
ranges-push: 7.0.15
string-left-right: 6.0.17
dev: false
@@ -6467,8 +6356,8 @@ packages:
safe-buffer: 5.2.1
dev: false
- /stringify-entities@4.0.3:
- resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==}
+ /stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
dependencies:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
@@ -6515,7 +6404,7 @@ packages:
dependencies:
'@jridgewell/gen-mapping': 0.3.5
commander: 4.1.1
- glob: 10.3.10
+ glob: 10.3.12
lines-and-columns: 1.2.4
mz: 2.7.0
pirates: 4.0.6
@@ -6535,29 +6424,28 @@ packages:
engines: {node: '>=4'}
dependencies:
has-flag: 3.0.0
- dev: false
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- /tailwind-merge@2.2.1:
- resolution: {integrity: sha512-o+2GTLkthfa5YUt4JxPfzMIpQzZ3adD1vLVkvKE1Twl9UAhGsEbIZhHHZVRttyW177S8PDJI3bTQNaebyofK3Q==}
+ /tailwind-merge@2.2.2:
+ resolution: {integrity: sha512-tWANXsnmJzgw6mQ07nE3aCDkCK4QdT3ThPMCzawoYA2Pws7vSTCvz3Vrjg61jVUGfFZPJzxEP+NimbcW+EdaDw==}
dependencies:
- '@babel/runtime': 7.24.0
+ '@babel/runtime': 7.24.4
dev: true
- /tailwind-scrollbar@3.1.0(tailwindcss@3.4.1):
+ /tailwind-scrollbar@3.1.0(tailwindcss@3.4.3):
resolution: {integrity: sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==}
engines: {node: '>=12.13.0'}
peerDependencies:
tailwindcss: 3.x
dependencies:
- tailwindcss: 3.4.1
+ tailwindcss: 3.4.3
dev: true
- /tailwindcss@3.4.1:
- resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==}
+ /tailwindcss@3.4.3:
+ resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
@@ -6575,12 +6463,12 @@ packages:
normalize-path: 3.0.0
object-hash: 3.0.0
picocolors: 1.0.0
- postcss: 8.4.35
- postcss-import: 15.1.0(postcss@8.4.35)
- postcss-js: 4.0.1(postcss@8.4.35)
- postcss-load-config: 4.0.2(postcss@8.4.35)
- postcss-nested: 6.0.1(postcss@8.4.35)
- postcss-selector-parser: 6.0.15
+ postcss: 8.4.38
+ postcss-import: 15.1.0(postcss@8.4.38)
+ postcss-js: 4.0.1(postcss@8.4.38)
+ postcss-load-config: 4.0.2(postcss@8.4.38)
+ postcss-nested: 6.0.1(postcss@8.4.38)
+ postcss-selector-parser: 6.0.16
resolve: 1.22.8
sucrase: 3.35.0
transitivePeerDependencies:
@@ -6604,8 +6492,8 @@ packages:
pump: 3.0.0
tar-stream: 3.1.7
optionalDependencies:
- bare-fs: 2.2.1
- bare-path: 2.1.0
+ bare-fs: 2.2.3
+ bare-path: 2.1.1
dev: false
optional: true
@@ -6660,15 +6548,14 @@ packages:
/tiny-warning@1.0.3:
resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
- /tlds@1.250.0:
- resolution: {integrity: sha512-rWsBfFCWKrjM/o2Q1TTUeYQv6tHSd/umUutDjVs6taTuEgRDIreVYIBgWRWW4ot7jp6n0UVUuxhTLWBtUmPu/w==}
+ /tlds@1.252.0:
+ resolution: {integrity: sha512-GA16+8HXvqtfEnw/DTcwB0UU354QE1n3+wh08oFjr6Znl7ZLAeUgYzCcK+/CCrOyE0vnHR8/pu3XXG3vDijXpQ==}
hasBin: true
dev: false
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
- dev: false
/to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
@@ -6687,8 +6574,8 @@ packages:
/ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- /tsconfck@3.0.2(typescript@5.3.3):
- resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==}
+ /tsconfck@3.0.3(typescript@5.4.4):
+ resolution: {integrity: sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA==}
engines: {node: ^18 || >=20}
hasBin: true
peerDependencies:
@@ -6697,7 +6584,7 @@ packages:
typescript:
optional: true
dependencies:
- typescript: 5.3.3
+ typescript: 5.4.4
/tseep@1.2.1:
resolution: {integrity: sha512-VFnsNcPGC4qFJ1nxbIPSjTmtRZOhlqLmtwRqtLVos8mbRHki8HO9cy9Z1e89EiWyxFmq6LBviI9TQjijxw/mEw==}
@@ -6707,8 +6594,8 @@ packages:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
dev: false
- /tstl@2.5.13:
- resolution: {integrity: sha512-h9wayHHFI5+yqt8iau0vqH96cTNhezhZ/Fk/hrIdpfkiMu3lg9nzyvMfs5bIdX51IVzZO6DudLqhkL/rVXpT6g==}
+ /tstl@2.5.16:
+ resolution: {integrity: sha512-+O2ybLVLKcBwKm4HymCEwZIT0PpwS3gCYnxfSDEjJEKADvIFruaQjd3m7CAKNU1c7N3X3WjVz87re7TA2A5FUw==}
dev: false
/tunnel-agent@0.6.0:
@@ -6719,64 +6606,64 @@ packages:
dev: false
optional: true
- /turbo-darwin-64@1.12.4:
- resolution: {integrity: sha512-dBwFxhp9isTa9RS/fz2gDVk5wWhKQsPQMozYhjM7TT4jTrnYn0ZJMzr7V3B/M/T8QF65TbniW7w1gtgxQgX5Zg==}
+ /turbo-darwin-64@1.13.2:
+ resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /turbo-darwin-arm64@1.12.4:
- resolution: {integrity: sha512-1Uo5iI6xsJ1j9ObsqxYRsa3W26mEbUe6fnj4rQYV6kDaqYD54oAMJ6hM53q9rB8JvFxwdrUXGp3PwTw9A0qqkA==}
+ /turbo-darwin-arm64@1.13.2:
+ resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /turbo-linux-64@1.12.4:
- resolution: {integrity: sha512-ONg2aSqKP7LAQOg7ysmU5WpEQp4DGNxSlAiR7um+LKtbmC/UxogbR5+T+Uuq6zGuQ5kJyKjWJ4NhtvUswOqBsA==}
+ /turbo-linux-64@1.13.2:
+ resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /turbo-linux-arm64@1.12.4:
- resolution: {integrity: sha512-9FPufkwdgfIKg/9jj87Cdtftw8o36y27/S2vLN7FTR2pp9c0MQiTBOLVYadUr1FlShupddmaMbTkXEhyt9SdrA==}
+ /turbo-linux-arm64@1.13.2:
+ resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /turbo-windows-64@1.12.4:
- resolution: {integrity: sha512-2mOtxHW5Vjh/5rDVu/aFwsMzI+chs8XcEuJHlY1sYOpEymYTz+u6AXbnzRvwZFMrLKr7J7fQOGl+v96sLKbNdA==}
+ /turbo-windows-64@1.13.2:
+ resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /turbo-windows-arm64@1.12.4:
- resolution: {integrity: sha512-nOY5wae9qnxPOpT1fRuYO0ks6dTwpKMPV6++VkDkamFDLFHUDVM/9kmD2UTeh1yyrKnrZksbb9zmShhmfj1wog==}
+ /turbo-windows-arm64@1.13.2:
+ resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /turbo@1.12.4:
- resolution: {integrity: sha512-yUJ7elEUSToiGwFZogXpYKJpQ0BvaMbkEuQECIWtkBLcmWzlMOt6bActsIm29oN83mRU0WbzGt4e8H1KHWedhg==}
+ /turbo@1.13.2:
+ resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==}
hasBin: true
optionalDependencies:
- turbo-darwin-64: 1.12.4
- turbo-darwin-arm64: 1.12.4
- turbo-linux-64: 1.12.4
- turbo-linux-arm64: 1.12.4
- turbo-windows-64: 1.12.4
- turbo-windows-arm64: 1.12.4
+ turbo-darwin-64: 1.13.2
+ turbo-darwin-arm64: 1.13.2
+ turbo-linux-64: 1.13.2
+ turbo-linux-arm64: 1.13.2
+ turbo-windows-64: 1.13.2
+ turbo-windows-arm64: 1.13.2
dev: true
/type-fest@2.19.0:
@@ -6808,8 +6695,8 @@ packages:
resolution: {integrity: sha512-Jp57Qyy8wXeMkdNuZiglE6v2Cypg13eDA1chHwDG6kq51X7gk4K7P7HaDdzZKCxkegXkVHNcPD0n5aW6OZH3aA==}
dev: false
- /typescript@5.3.3:
- resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
+ /typescript@5.4.4:
+ resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==}
engines: {node: '>=14.17'}
hasBin: true
@@ -6841,6 +6728,13 @@ packages:
vfile: 6.0.1
dev: false
+ /unist-util-find-after@5.0.0:
+ resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
+ dependencies:
+ '@types/unist': 3.0.2
+ unist-util-is: 6.0.0
+ dev: false
+
/unist-util-is@5.2.1:
resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
dependencies:
@@ -6866,6 +6760,13 @@ packages:
'@types/unist': 3.0.2
dev: false
+ /unist-util-remove-position@5.0.0:
+ resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
+ dependencies:
+ '@types/unist': 3.0.2
+ unist-util-visit: 5.0.0
+ dev: false
+
/unist-util-stringify-position@3.0.3:
resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
dependencies:
@@ -6938,11 +6839,11 @@ packages:
optional: true
dependencies:
ip-regex: 4.3.0
- tlds: 1.250.0
+ tlds: 1.252.0
dev: false
- /use-callback-ref@1.3.1(@types/react@18.2.61)(react@18.2.0):
- resolution: {integrity: sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==}
+ /use-callback-ref@1.3.2(@types/react@18.2.75)(react@18.2.0):
+ resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -6951,7 +6852,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.61
+ '@types/react': 18.2.75
react: 18.2.0
tslib: 2.6.2
dev: false
@@ -6965,7 +6866,7 @@ packages:
react: 18.2.0
dev: false
- /use-sidecar@1.1.2(@types/react@18.2.61)(react@18.2.0):
+ /use-sidecar@1.1.2(@types/react@18.2.75)(react@18.2.0):
resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
engines: {node: '>=10'}
peerDependencies:
@@ -6975,7 +6876,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@types/react': 18.2.61
+ '@types/react': 18.2.75
detect-node-es: 1.1.0
react: 18.2.0
tslib: 2.6.2
@@ -7047,8 +6948,8 @@ packages:
vfile-message: 4.0.2
dev: false
- /virtua@0.27.5(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-VeiK2eMCHDmNJvP1GO+DB8rX5ACAxrzFRMGIcqoZK+eqnS25C6lSnuZO4XXLK+RmFkPAoHApMZZTf5ngrpcSMw==}
+ /virtua@0.29.2(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-VkmzGNX3zL3wljQsHD6wmS6DmfKffAOaG5Vw7aQX6O4aExc3c/TZHM9a+TF93xQAuk/EfFgClOfgHwx1/XbQoA==}
peerDependencies:
react: '>=16.14.0'
react-dom: '>=16.14.0'
@@ -7068,22 +6969,22 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: false
- /vite-plugin-top-level-await@1.4.1(vite@5.1.4):
+ /vite-plugin-top-level-await@1.4.1(vite@5.2.8):
resolution: {integrity: sha512-hogbZ6yT7+AqBaV6lK9JRNvJDn4/IJvHLu6ET06arNfo0t2IsyCaon7el9Xa8OumH+ESuq//SDf8xscZFE0rWw==}
peerDependencies:
vite: '>=2.8'
dependencies:
'@rollup/plugin-virtual': 3.0.2
- '@swc/core': 1.4.2
+ '@swc/core': 1.4.13
uuid: 9.0.1
- vite: 5.1.4
+ vite: 5.2.8
transitivePeerDependencies:
- '@swc/helpers'
- rollup
dev: true
- /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@5.1.4):
- resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==}
+ /vite-tsconfig-paths@4.3.2(typescript@5.4.4)(vite@5.2.8):
+ resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==}
peerDependencies:
vite: '*'
peerDependenciesMeta:
@@ -7092,15 +6993,15 @@ packages:
dependencies:
debug: 4.3.4
globrex: 0.1.2
- tsconfck: 3.0.2(typescript@5.3.3)
- vite: 5.1.4
+ tsconfck: 3.0.3(typescript@5.4.4)
+ vite: 5.2.8
transitivePeerDependencies:
- supports-color
- typescript
dev: true
- /vite@5.1.4:
- resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==}
+ /vite@5.2.8:
+ resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -7127,13 +7028,13 @@ packages:
terser:
optional: true
dependencies:
- esbuild: 0.19.12
- postcss: 8.4.35
- rollup: 4.12.0
+ esbuild: 0.20.2
+ postcss: 8.4.38
+ rollup: 4.14.1
optionalDependencies:
fsevents: 2.3.3
- /vitefu@0.2.5(vite@5.1.4):
+ /vitefu@0.2.5(vite@5.2.8):
resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
peerDependencies:
vite: ^3.0.0 || ^4.0.0 || ^5.0.0
@@ -7141,7 +7042,7 @@ packages:
vite:
optional: true
dependencies:
- vite: 5.1.4
+ vite: 5.2.8
dev: false
/void-elements@3.1.0:
@@ -7149,49 +7050,51 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /volar-service-css@0.0.30(@volar/language-service@2.0.4):
- resolution: {integrity: sha512-jui+1N0HBfjW43tRfhyZp0axhBee4997BRyX4os8xQm/7cjD2KjAuyz92nMIPRt1QDoG4/7uQT28xNhy0TPJTA==}
+ /volar-service-css@0.0.34(@volar/language-service@2.1.6):
+ resolution: {integrity: sha512-C7ua0j80ZD7bsgALAz/cA1bykPehoIa5n+3+Ccr+YLpj0fypqw9iLUmGLX11CqzqNCO2XFGe/1eXB/c+SWrF/g==}
peerDependencies:
- '@volar/language-service': ~2.0.1
+ '@volar/language-service': ~2.1.0
peerDependenciesMeta:
'@volar/language-service':
optional: true
dependencies:
- '@volar/language-service': 2.0.4
- vscode-css-languageservice: 6.2.12
+ '@volar/language-service': 2.1.6
+ vscode-css-languageservice: 6.2.13
+ vscode-languageserver-textdocument: 1.0.11
vscode-uri: 3.0.8
dev: false
- /volar-service-emmet@0.0.30(@volar/language-service@2.0.4):
- resolution: {integrity: sha512-HEeIrmqQ/DTfuQDI9ER5+YReXXjE9f7W6MlBmn5biUuPyizVTGfuILN8pJhmYvmPHCA7qHhU7CJqwE9DAh9AJg==}
+ /volar-service-emmet@0.0.34(@volar/language-service@2.1.6):
+ resolution: {integrity: sha512-ubQvMCmHPp8Ic82LMPkgrp9ot+u2p/RDd0RyT0EykRkZpWsagHUF5HWkVheLfiMyx2rFuWx/+7qZPOgypx6h6g==}
peerDependencies:
- '@volar/language-service': ~2.0.1
+ '@volar/language-service': ~2.1.0
peerDependenciesMeta:
'@volar/language-service':
optional: true
dependencies:
- '@volar/language-service': 2.0.4
+ '@volar/language-service': 2.1.6
'@vscode/emmet-helper': 2.9.2
- volar-service-html: 0.0.30(@volar/language-service@2.0.4)
+ vscode-html-languageservice: 5.2.0
dev: false
- /volar-service-html@0.0.30(@volar/language-service@2.0.4):
- resolution: {integrity: sha512-wW3TEeRTeHv/3mC8Ik6T62SwewMWFungb8ydyEK/2GDHEntBEG/J9wtuh01/J0kYqPerhlT9zhdGB6PGYHAGuA==}
+ /volar-service-html@0.0.34(@volar/language-service@2.1.6):
+ resolution: {integrity: sha512-kMEneea1tQbiRcyKavqdrSVt8zV06t+0/3pGkjO3gV6sikXTNShIDkdtB4Tq9vE2cQdM50TuS7utVV7iysUxHw==}
peerDependencies:
- '@volar/language-service': ~2.0.1
+ '@volar/language-service': ~2.1.0
peerDependenciesMeta:
'@volar/language-service':
optional: true
dependencies:
- '@volar/language-service': 2.0.4
- vscode-html-languageservice: 5.1.2
+ '@volar/language-service': 2.1.6
+ vscode-html-languageservice: 5.2.0
+ vscode-languageserver-textdocument: 1.0.11
vscode-uri: 3.0.8
dev: false
- /volar-service-prettier@0.0.30(@volar/language-service@2.0.4):
- resolution: {integrity: sha512-Qdc5Zc0y4hJmJbpIQ52cSDjs0uvVug/e2nuL/XZWPJM6Cr5/3RjjoRVKtDQbKItFYlGk+JH+LSXvwQeD5TXZqg==}
+ /volar-service-prettier@0.0.34(@volar/language-service@2.1.6):
+ resolution: {integrity: sha512-BNfJ8FwfPi1Wm/JkuzNjraOLdtKieGksNT/bDyquygVawv1QUzO2HB1hiMKfZGdcSFG5ZL9R0j7bBfRTfXA2gg==}
peerDependencies:
- '@volar/language-service': ~2.0.1
+ '@volar/language-service': ~2.1.0
prettier: ^2.2 || ^3.0
peerDependenciesMeta:
'@volar/language-service':
@@ -7199,42 +7102,39 @@ packages:
prettier:
optional: true
dependencies:
- '@volar/language-service': 2.0.4
+ '@volar/language-service': 2.1.6
vscode-uri: 3.0.8
dev: false
- /volar-service-typescript-twoslash-queries@0.0.30(@volar/language-service@2.0.4):
- resolution: {integrity: sha512-ahj6woBxhkZu7icQR58x5TnUaS8ZRKn7a+UvY+andmiTWsOaSu85zj36+LPZgZQi1MG+BtjNwUjKoxtZiN51PA==}
+ /volar-service-typescript-twoslash-queries@0.0.34(@volar/language-service@2.1.6):
+ resolution: {integrity: sha512-XAY2YtWKUp6ht89gxt3L5Dr46LU45d/VlBkj1KXUwNlinpoWiGN4Nm3B6DRF3VoBThAnQgm4c7WD0S+5yTzh+w==}
peerDependencies:
- '@volar/language-service': ~2.0.1
+ '@volar/language-service': ~2.1.0
peerDependenciesMeta:
'@volar/language-service':
optional: true
dependencies:
- '@volar/language-service': 2.0.4
+ '@volar/language-service': 2.1.6
dev: false
- /volar-service-typescript@0.0.30(@volar/language-service@2.0.4)(@volar/typescript@2.0.4):
- resolution: {integrity: sha512-jA8c0Mhy9rgAsrgtwocK95Smws1M2E0MxlQ/SVo/rmOGH32cX9UGgI0IENWKa3yagp/khfoemOIQDz/KNhI3zg==}
+ /volar-service-typescript@0.0.34(@volar/language-service@2.1.6):
+ resolution: {integrity: sha512-NbAry0w8ZXFgGsflvMwmPDCzgJGx3C+eYxFEbldaumkpTAJiywECWiUbPIOfmEHgpOllUKSnhwtLlWFK4YnfQg==}
peerDependencies:
- '@volar/language-service': ~2.0.1
- '@volar/typescript': ~2.0.1
+ '@volar/language-service': ~2.1.0
peerDependenciesMeta:
'@volar/language-service':
optional: true
dependencies:
- '@volar/language-service': 2.0.4
- '@volar/typescript': 2.0.4
+ '@volar/language-service': 2.1.6
path-browserify: 1.0.1
semver: 7.6.0
typescript-auto-import-cache: 0.3.2
vscode-languageserver-textdocument: 1.0.11
vscode-nls: 5.2.0
- vscode-uri: 3.0.8
dev: false
- /vscode-css-languageservice@6.2.12:
- resolution: {integrity: sha512-PS9r7HgNjqzRl3v91sXpCyZPc8UDotNo6gntFNtGCKPhGA9Frk7g/VjX1Mbv3F00pn56D+rxrFzR9ep4cawOgA==}
+ /vscode-css-languageservice@6.2.13:
+ resolution: {integrity: sha512-2rKWXfH++Kxd9Z4QuEgd1IF7WmblWWU7DScuyf1YumoGLkY9DW6wF/OTlhOyO2rN63sWHX2dehIpKBbho4ZwvA==}
dependencies:
'@vscode/l10n': 0.0.18
vscode-languageserver-textdocument: 1.0.11
@@ -7242,8 +7142,8 @@ packages:
vscode-uri: 3.0.8
dev: false
- /vscode-html-languageservice@5.1.2:
- resolution: {integrity: sha512-wkWfEx/IIR3s2P5yD4aTGHiOb8IAzFxgkSt1uSC3itJ4oDAm23yG7o0L29JljUdnXDDgLafPAvhv8A2I/8riHw==}
+ /vscode-html-languageservice@5.2.0:
+ resolution: {integrity: sha512-cdNMhyw57/SQzgUUGSIMQ66jikqEN6nBNyhx5YuOyj9310+eY9zw8Q0cXpiKzDX8aHYFewQEXRnigl06j/TVwQ==}
dependencies:
'@vscode/l10n': 0.0.18
vscode-languageserver-textdocument: 1.0.11
@@ -7302,7 +7202,7 @@ packages:
/websocket-polyfill@0.0.3:
resolution: {integrity: sha512-pF3kR8Uaoau78MpUmFfzbIRxXj9PeQrCuPepGE6JIsfsJ/o/iXr07Q2iQNzKSSblQJ0FiGWlS64N4pVSm+O3Dg==}
dependencies:
- tstl: 2.5.13
+ tstl: 2.5.16
websocket: 1.0.34
transitivePeerDependencies:
- supports-color
@@ -7391,14 +7291,13 @@ packages:
/yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- dev: false
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
dev: false
- /yaml@2.4.0:
- resolution: {integrity: sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==}
+ /yaml@2.4.1:
+ resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==}
engines: {node: '>= 14'}
hasBin: true
@@ -7430,6 +7329,14 @@ packages:
engines: {node: '>=12.20'}
dev: false
+ /zod-to-json-schema@3.22.5(zod@3.22.4):
+ resolution: {integrity: sha512-+akaPo6a0zpVCCseDed504KBJUQpEW5QZw7RMneNmKw+fGaML1Z9tUNLnHHAC8x6dzVRO1eB2oEMyZRnuBZg7Q==}
+ peerDependencies:
+ zod: ^3.22.4
+ dependencies:
+ zod: 3.22.4
+ dev: false
+
/zod@3.22.4:
resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index 4694becd..92b6f630 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -52,9 +52,9 @@ dependencies = [
[[package]]
name = "ahash"
-version = "0.8.10"
+version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b79b82693f705137f8fb9b37871d99e4f9a7df12b917eed79c3d3954830a60b"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
"once_cell",
@@ -64,9 +64,9 @@ dependencies = [
[[package]]
name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
dependencies = [
"memchr",
]
@@ -157,15 +157,15 @@ dependencies = [
[[package]]
name = "anyhow"
-version = "1.0.80"
+version = "1.0.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
[[package]]
name = "arboard"
-version = "3.3.1"
+version = "3.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1faa3c733d9a3dd6fbaf85da5d162a2e03b2e0033a90dceb0e2a90fdd1e5380a"
+checksum = "a2041f1943049c7978768d84e6d0fd95de98b76d6c4727b09e78ec253d29fa58"
dependencies = [
"clipboard-win",
"core-graphics",
@@ -180,17 +180,11 @@ dependencies = [
"x11rb",
]
-[[package]]
-name = "as-raw-xcb-connection"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b"
-
[[package]]
name = "ashpd"
-version = "0.8.0"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b22517ee647547c01a687cf9b76074e1c91334032a4324f7243c6ee0f949390"
+checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093"
dependencies = [
"enumflags2",
"futures-channel",
@@ -219,8 +213,8 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb"
dependencies = [
- "event-listener 5.2.0",
- "event-listener-strategy 0.5.0",
+ "event-listener 5.3.0",
+ "event-listener-strategy 0.5.1",
"futures-core",
"pin-project-lite",
]
@@ -232,23 +226,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3"
dependencies = [
"concurrent-queue",
- "event-listener 5.2.0",
- "event-listener-strategy 0.5.0",
+ "event-listener 5.3.0",
+ "event-listener-strategy 0.5.1",
"futures-core",
"pin-project-lite",
]
[[package]]
name = "async-executor"
-version = "1.8.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
+checksum = "5f98c37cf288e302c16ef6c8472aad1e034c6c84ce5ea7b8101c98eb4a802fee"
dependencies = [
"async-lock 3.3.0",
"async-task",
"concurrent-queue",
- "fastrand 2.0.1",
- "futures-lite 2.2.0",
+ "fastrand 2.0.2",
+ "futures-lite 2.3.0",
"slab",
]
@@ -272,7 +266,7 @@ checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1"
dependencies = [
"async-lock 3.3.0",
"blocking",
- "futures-lite 2.2.0",
+ "futures-lite 2.3.0",
]
[[package]]
@@ -297,18 +291,18 @@ dependencies = [
[[package]]
name = "async-io"
-version = "2.3.1"
+version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65"
+checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884"
dependencies = [
"async-lock 3.3.0",
"cfg-if",
"concurrent-queue",
"futures-io",
- "futures-lite 2.2.0",
+ "futures-lite 2.3.0",
"parking",
- "polling 3.5.0",
- "rustix 0.38.31",
+ "polling 3.6.0",
+ "rustix 0.38.32",
"slab",
"tracing",
"windows-sys 0.52.0",
@@ -347,37 +341,39 @@ dependencies = [
"cfg-if",
"event-listener 3.1.0",
"futures-lite 1.13.0",
- "rustix 0.38.31",
+ "rustix 0.38.32",
"windows-sys 0.48.0",
]
[[package]]
name = "async-process"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "451e3cf68011bd56771c79db04a9e333095ab6349f7e47592b788e9b98720cc8"
+checksum = "d999d925640d51b662b7b4e404224dd81de70f4aa4a199383c2c5e5b86885fa3"
dependencies = [
"async-channel",
- "async-io 2.3.1",
+ "async-io 2.3.2",
"async-lock 3.3.0",
"async-signal",
+ "async-task",
"blocking",
"cfg-if",
- "event-listener 5.2.0",
- "futures-lite 2.2.0",
- "rustix 0.38.31",
+ "event-listener 5.3.0",
+ "futures-lite 2.3.0",
+ "rustix 0.38.32",
+ "tracing",
"windows-sys 0.52.0",
]
[[package]]
name = "async-recursion"
-version = "1.0.5"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
+checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -386,13 +382,13 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
dependencies = [
- "async-io 2.3.1",
+ "async-io 2.3.2",
"async-lock 2.8.0",
"atomic-waker",
"cfg-if",
"futures-core",
"futures-io",
- "rustix 0.38.31",
+ "rustix 0.38.32",
"signal-hook-registry",
"slab",
"windows-sys 0.48.0",
@@ -406,13 +402,13 @@ checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
[[package]]
name = "async-trait"
-version = "0.1.77"
+version = "0.1.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9"
+checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -479,6 +475,15 @@ dependencies = [
"system-deps",
]
+[[package]]
+name = "atomic-destructor"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4653a42bf04120a1d4e92452e006b4e3af4ab4afff8fb4af0f1bbb98418adf3e"
+dependencies = [
+ "tracing",
+]
+
[[package]]
name = "atomic-waker"
version = "1.1.2"
@@ -498,15 +503,15 @@ dependencies = [
[[package]]
name = "autocfg"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]]
name = "backtrace"
-version = "0.3.69"
+version = "0.3.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
dependencies = [
"addr2line",
"cc",
@@ -523,6 +528,12 @@ version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+[[package]]
+name = "base64"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
+
[[package]]
name = "base64ct"
version = "1.6.0"
@@ -535,15 +546,6 @@ version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445"
-[[package]]
-name = "bincode"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
-dependencies = [
- "serde",
-]
-
[[package]]
name = "bip39"
version = "2.0.0"
@@ -599,9 +601,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.4.2"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
dependencies = [
"serde",
]
@@ -655,18 +657,18 @@ dependencies = [
"async-channel",
"async-lock 3.3.0",
"async-task",
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
"futures-io",
- "futures-lite 2.2.0",
+ "futures-lite 2.3.0",
"piper",
"tracing",
]
[[package]]
name = "brotli"
-version = "3.4.0"
+version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f"
+checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391"
dependencies = [
"alloc-no-stdlib",
"alloc-stdlib",
@@ -685,29 +687,15 @@ dependencies = [
[[package]]
name = "bumpalo"
-version = "3.15.3"
+version = "3.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
[[package]]
name = "bytemuck"
-version = "1.14.3"
+version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
-dependencies = [
- "bytemuck_derive",
-]
-
-[[package]]
-name = "bytemuck_derive"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.52",
-]
+checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15"
[[package]]
name = "byteorder"
@@ -717,9 +705,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
-version = "1.5.0"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
dependencies = [
"serde",
]
@@ -751,7 +739,7 @@ version = "0.18.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"cairo-sys-rs",
"glib 0.18.5",
"libc",
@@ -781,9 +769,9 @@ dependencies = [
[[package]]
name = "cargo-platform"
-version = "0.1.7"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
dependencies = [
"serde",
]
@@ -809,7 +797,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a969e13a7589e9e3e4207e153bae624ade2b5622fb4684a4923b23ec3d57719"
dependencies = [
"serde",
- "toml 0.8.10",
+ "toml 0.8.12",
]
[[package]]
@@ -823,10 +811,11 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.88"
+version = "1.0.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc"
+checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41"
dependencies = [
+ "jobserver",
"libc",
]
@@ -901,9 +890,9 @@ dependencies = [
[[package]]
name = "chrono"
-version = "0.4.34"
+version = "0.4.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
+checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
dependencies = [
"android-tzdata",
"iana-time-zone",
@@ -934,23 +923,23 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.1"
+version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
-version = "4.5.1"
+version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
- "strsim 0.11.0",
+ "strsim 0.11.1",
]
[[package]]
@@ -961,9 +950,9 @@ checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
[[package]]
name = "clipboard-win"
-version = "5.2.0"
+version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f9a0700e0127ba15d1d52dd742097f821cd9c65939303a44d970465040a297"
+checksum = "d517d4b86184dbb111d3556a10f1c8a04da7428d2987bf1081602bf11c3aa9ee"
dependencies = [
"error-code",
]
@@ -1059,9 +1048,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "core-graphics"
-version = "0.23.1"
+version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
+checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
@@ -1149,7 +1138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
dependencies = [
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -1159,7 +1148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c"
dependencies = [
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -1213,7 +1202,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim 0.10.0",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -1224,7 +1213,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -1378,7 +1367,7 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
dependencies = [
- "libloading 0.8.2",
+ "libloading 0.8.3",
]
[[package]]
@@ -1401,52 +1390,16 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
-name = "downcast-rs"
-version = "1.2.0"
+name = "dpi"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-
-[[package]]
-name = "drm"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde"
+checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53"
dependencies = [
- "bitflags 2.4.2",
- "bytemuck",
- "drm-ffi",
- "drm-fourcc",
- "rustix 0.38.31",
-]
-
-[[package]]
-name = "drm-ffi"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6"
-dependencies = [
- "drm-sys",
- "rustix 0.38.31",
-]
-
-[[package]]
-name = "drm-fourcc"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
-
-[[package]]
-name = "drm-sys"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176"
-dependencies = [
- "libc",
- "linux-raw-sys 0.6.4",
+ "serde",
]
[[package]]
@@ -1484,16 +1437,16 @@ checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
[[package]]
name = "embed-resource"
-version = "2.4.1"
+version = "2.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bde55e389bea6a966bd467ad1ad7da0ae14546a5bc794d16d1e55e7fca44881"
+checksum = "c6985554d0688b687c5cb73898a34fbe3ad6c24c58c238a4d91d5e840670ee9d"
dependencies = [
"cc",
"memchr",
"rustc_version",
- "toml 0.8.10",
+ "toml 0.8.12",
"vswhom",
- "winreg 0.51.0",
+ "winreg 0.52.0",
]
[[package]]
@@ -1535,7 +1488,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -1590,9 +1543,9 @@ dependencies = [
[[package]]
name = "event-listener"
-version = "5.2.0"
+version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91"
+checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24"
dependencies = [
"concurrent-queue",
"parking",
@@ -1611,11 +1564,11 @@ dependencies = [
[[package]]
name = "event-listener-strategy"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291"
+checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3"
dependencies = [
- "event-listener 5.2.0",
+ "event-listener 5.3.0",
"pin-project-lite",
]
@@ -1642,9 +1595,9 @@ dependencies = [
[[package]]
name = "fastrand"
-version = "2.0.1"
+version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
[[package]]
name = "fdeflate"
@@ -1661,7 +1614,7 @@ version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f"
dependencies = [
- "memoffset 0.9.0",
+ "memoffset 0.9.1",
"rustc_version",
]
@@ -1730,7 +1683,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -1829,11 +1782,11 @@ dependencies = [
[[package]]
name = "futures-lite"
-version = "2.2.0"
+version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba"
+checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
dependencies = [
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
"futures-core",
"futures-io",
"parking",
@@ -1848,7 +1801,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -1991,16 +1944,15 @@ dependencies = [
[[package]]
name = "generator"
-version = "0.7.6"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5b25e5b3e733153bcab35ee4671b46604b42516163cae442d1601cb716f2ac5"
+checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e"
dependencies = [
"cc",
- "cfg-if",
"libc",
"log",
"rustversion",
- "windows 0.53.0",
+ "windows 0.48.0",
]
[[package]]
@@ -2036,9 +1988,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.12"
+version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
dependencies = [
"cfg-if",
"js-sys",
@@ -2126,7 +2078,7 @@ version = "0.18.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"futures-channel",
"futures-core",
"futures-executor",
@@ -2150,7 +2102,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb1a9325847aa46f1e96ffea37611b9d51fc4827e67f79e7de502a297560a67b"
dependencies = [
"anyhow",
- "heck",
+ "heck 0.4.1",
"proc-macro-crate 1.3.1",
"proc-macro-error",
"proc-macro2",
@@ -2164,12 +2116,12 @@ version = "0.18.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
dependencies = [
- "heck",
+ "heck 0.4.1",
"proc-macro-crate 2.0.0",
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -2281,22 +2233,22 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
name = "h2"
-version = "0.3.24"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
+checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8"
dependencies = [
"bytes",
"fnv",
"futures-core",
"futures-sink",
"futures-util",
- "http 0.2.11",
- "indexmap 2.2.5",
+ "http 0.2.12",
+ "indexmap 2.2.6",
"slab",
"tokio",
"tokio-util",
@@ -2334,6 +2286,12 @@ 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.3.9"
@@ -2386,24 +2344,24 @@ dependencies = [
[[package]]
name = "http"
-version = "0.2.11"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1"
dependencies = [
"bytes",
"fnv",
- "itoa 1.0.10",
+ "itoa 1.0.11",
]
[[package]]
name = "http"
-version = "1.0.0"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
dependencies = [
"bytes",
"fnv",
- "itoa 1.0.10",
+ "itoa 1.0.11",
]
[[package]]
@@ -2413,7 +2371,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
dependencies = [
"bytes",
- "http 0.2.11",
+ "http 0.2.12",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "http-body"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
+dependencies = [
+ "bytes",
+ "http 1.1.0",
+]
+
+[[package]]
+name = "http-body-util"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "http 1.1.0",
+ "http-body 1.0.0",
"pin-project-lite",
]
@@ -2446,11 +2427,11 @@ dependencies = [
"futures-core",
"futures-util",
"h2",
- "http 0.2.11",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"httparse",
"httpdate",
- "itoa 1.0.10",
+ "itoa 1.0.11",
"pin-project-lite",
"socket2 0.5.6",
"tokio",
@@ -2459,6 +2440,25 @@ dependencies = [
"want",
]
+[[package]]
+name = "hyper"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "httparse",
+ "itoa 1.0.11",
+ "pin-project-lite",
+ "smallvec",
+ "tokio",
+ "want",
+]
+
[[package]]
name = "hyper-rustls"
version = "0.24.2"
@@ -2466,8 +2466,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
- "http 0.2.11",
- "hyper",
+ "http 0.2.12",
+ "hyper 0.14.28",
"rustls 0.21.10",
"tokio",
"tokio-rustls 0.24.1",
@@ -2475,15 +2475,38 @@ dependencies = [
[[package]]
name = "hyper-tls"
-version = "0.5.0"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
+checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
dependencies = [
"bytes",
- "hyper",
+ "http-body-util",
+ "hyper 1.2.0",
+ "hyper-util",
"native-tls",
"tokio",
"tokio-native-tls",
+ "tower-service",
+]
+
+[[package]]
+name = "hyper-util"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "hyper 1.2.0",
+ "pin-project-lite",
+ "socket2 0.5.6",
+ "tokio",
+ "tower",
+ "tower-service",
+ "tracing",
]
[[package]]
@@ -2562,9 +2585,9 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.2.5"
+version = "2.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4"
+checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
dependencies = [
"equivalent",
"hashbrown 0.14.3",
@@ -2646,9 +2669,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]]
name = "itoa"
-version = "1.0.10"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "javascriptcore-rs"
@@ -2695,6 +2718,15 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
+[[package]]
+name = "jobserver"
+version = "0.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6"
+dependencies = [
+ "libc",
+]
+
[[package]]
name = "jpeg-decoder"
version = "0.3.1"
@@ -2703,9 +2735,9 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
[[package]]
name = "js-sys"
-version = "0.3.68"
+version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
dependencies = [
"wasm-bindgen",
]
@@ -2728,7 +2760,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"serde",
"unicode-segmentation",
]
@@ -2808,9 +2840,9 @@ dependencies = [
[[package]]
name = "libloading"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2caa5afb8bf9f3a2652760ce7d4f62d21c4d5a423e68466fca30df82f2330164"
+checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
dependencies = [
"cfg-if",
"windows-targets 0.52.4",
@@ -2818,13 +2850,12 @@ dependencies = [
[[package]]
name = "libredox"
-version = "0.0.1"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"libc",
- "redox_syscall",
]
[[package]]
@@ -2840,9 +2871,9 @@ dependencies = [
[[package]]
name = "libz-sys"
-version = "1.1.15"
+version = "1.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
+checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"
dependencies = [
"cc",
"libc",
@@ -2852,12 +2883,9 @@ dependencies = [
[[package]]
name = "line-wrap"
-version = "0.1.1"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9"
-dependencies = [
- "safemem",
-]
+checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e"
[[package]]
name = "linux-keyutils"
@@ -2865,7 +2893,7 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"libc",
]
@@ -2881,12 +2909,6 @@ version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
-[[package]]
-name = "linux-raw-sys"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0b5399f6804fbab912acbd8878ed3532d506b7c951b8f9f164ef90fef39e3f4"
-
[[package]]
name = "lnurl-pay"
version = "0.3.0"
@@ -2894,7 +2916,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b628658116d331c9567f6cb22415d726125ff6e328d1fb1b422b1b58afeaec21"
dependencies = [
"bech32",
- "reqwest",
+ "reqwest 0.11.27",
"serde",
"serde_json",
]
@@ -2943,8 +2965,11 @@ dependencies = [
name = "lume"
version = "4.0.0"
dependencies = [
+ "cocoa",
"keyring",
"nostr-sdk",
+ "objc",
+ "rand 0.8.5",
"serde",
"serde_json",
"tauri",
@@ -3038,18 +3063,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
[[package]]
name = "memchr"
-version = "2.7.1"
+version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
-
-[[package]]
-name = "memmap2"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322"
-dependencies = [
- "libc",
-]
+checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
[[package]]
name = "memoffset"
@@ -3062,9 +3078,9 @@ dependencies = [
[[package]]
name = "memoffset"
-version = "0.9.0"
+version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
dependencies = [
"autocfg",
]
@@ -3104,12 +3120,13 @@ dependencies = [
[[package]]
name = "muda"
-version = "0.11.5"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c47e7625990fc1af2226ea4f34fb2412b03c12639fcb91868581eb3a6893453"
+checksum = "f428b4e9db3d17e2f809dfb1ff9ddfbbf16c71790d1656d10aee320877e1392f"
dependencies = [
"cocoa",
"crossbeam-channel",
+ "dpi",
"gtk",
"keyboard-types",
"objc",
@@ -3175,9 +3192,9 @@ checksum = "e664971378a3987224f7a0e10059782035e89899ae403718ee07de85bec42afe"
[[package]]
name = "new_debug_unreachable"
-version = "1.0.4"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
+checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
[[package]]
name = "nix"
@@ -3197,11 +3214,11 @@ version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"cfg-if",
"cfg_aliases 0.1.1",
"libc",
- "memoffset 0.9.0",
+ "memoffset 0.9.1",
]
[[package]]
@@ -3212,23 +3229,23 @@ checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
[[package]]
name = "nostr"
-version = "0.28.1"
+version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62abb4201e9d6b8b25660bebcad7bc0eb0cf25ecf9fd139c8d8c36ac455d37da"
+checksum = "25e4e34578e8cc2b4050c6224a0c422b23ba1e61f2602b4e320c221ac3cbbc2e"
dependencies = [
"aes 0.8.4",
- "base64",
+ "base64 0.21.7",
"bip39",
"bitcoin",
"cbc",
"chacha20",
"chacha20poly1305",
- "getrandom 0.2.12",
+ "getrandom 0.2.14",
"instant",
"js-sys",
"negentropy",
"once_cell",
- "reqwest",
+ "reqwest 0.11.27",
"scrypt",
"serde",
"serde_json",
@@ -3242,9 +3259,9 @@ dependencies = [
[[package]]
name = "nostr-database"
-version = "0.28.1"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "174b81445708157ecaa41f0439a2a0ce6df70f45ddc7a333c4a310347c09a990"
+checksum = "8e15ab55f96ea5e560af0c75f1d942b1064266d443d11b2afbe51ca9ad78a018"
dependencies = [
"async-trait",
"flatbuffers",
@@ -3257,12 +3274,13 @@ dependencies = [
[[package]]
name = "nostr-relay-pool"
-version = "0.28.2"
+version = "0.29.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1621a53bf1bde6fee89726be371931b96542d49e58a221f22c24ea02fb913c4e"
+checksum = "e8efc437bcf8c433887a9897dfb6f99914170f656a2a66398e737b3050c2aa34"
dependencies = [
"async-utility",
"async-wsocket",
+ "atomic-destructor",
"nostr",
"nostr-database",
"thiserror",
@@ -3272,9 +3290,9 @@ dependencies = [
[[package]]
name = "nostr-sdk"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "531fbbb39aef79311b60488f2d4aacc5f8156d76a5fb1bb110486746b3cfe873"
+checksum = "81ed0ab9cbc3b20d3dba99337f2e0739f052ebe32133d690e212022a06a22044"
dependencies = [
"async-utility",
"lnurl-pay",
@@ -3292,9 +3310,9 @@ dependencies = [
[[package]]
name = "nostr-signer"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "305c33e0ddde9c4288af000cc3fee665190a4ebef4841ce5bcb3eb4a2f473e62"
+checksum = "307bdc7c26887d7e65632e66872989a19892dfe9f2c6dbd9a1d3f959c5c524d5"
dependencies = [
"async-utility",
"nostr",
@@ -3305,9 +3323,9 @@ dependencies = [
[[package]]
name = "nostr-sqlite"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b342a7b19d8bd2ab6509bc088c9b52c64211f5ce92462fe40b59c7562c9ea16"
+checksum = "18c5603492cafe1adc89e0948abe0d9d5d7a0d66f497ec6fa2cf1ddf96232bac"
dependencies = [
"async-trait",
"deadpool-sqlite",
@@ -3321,9 +3339,9 @@ dependencies = [
[[package]]
name = "nostr-zapper"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523d787e19fbca8ad6ae4edf42db266a89d24aa3bfb1ce558ab87f3c5d10e2d5"
+checksum = "061d5eb00b430747a984ea9e41cd82c849832151b4263d8230c9c220dc2c62f8"
dependencies = [
"async-trait",
"nostr",
@@ -3454,9 +3472,9 @@ dependencies = [
[[package]]
name = "nwc"
-version = "0.28.1"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc11612a16af0252701ebd71d202e60343606e70a10bba875674dbddd36237e5"
+checksum = "d1894ffe54a1e5adf8dbb22b5a290c0748ec4a88aa07fa69c4359010edea49ed"
dependencies = [
"async-utility",
"nostr",
@@ -3528,9 +3546,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "open"
-version = "4.2.0"
+version = "5.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a083c0c7e5e4a8ec4176346cf61f67ac674e8bfb059d9226e1c54a96b377c12"
+checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32"
dependencies = [
"is-wsl",
"libc",
@@ -3543,7 +3561,7 @@ version = "0.10.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"cfg-if",
"foreign-types 0.3.2",
"libc",
@@ -3560,7 +3578,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -3580,9 +3598,9 @@ dependencies = [
[[package]]
name = "openssl-sys"
-version = "0.9.101"
+version = "0.9.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff"
+checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
dependencies = [
"cc",
"libc",
@@ -3603,13 +3621,13 @@ dependencies = [
[[package]]
name = "os_info"
-version = "3.7.0"
+version = "3.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
+checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092"
dependencies = [
"log",
"serde",
- "winapi",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -3852,7 +3870,7 @@ dependencies = [
"phf_shared 0.11.2",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -3883,10 +3901,30 @@ dependencies = [
]
[[package]]
-name = "pin-project-lite"
-version = "0.2.13"
+name = "pin-project"
+version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.58",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
[[package]]
name = "pin-utils"
@@ -3901,7 +3939,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4"
dependencies = [
"atomic-waker",
- "fastrand 2.0.1",
+ "fastrand 2.0.2",
"futures-io",
]
@@ -3913,12 +3951,12 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
[[package]]
name = "plist"
-version = "1.6.0"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef"
+checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9"
dependencies = [
- "base64",
- "indexmap 2.2.5",
+ "base64 0.21.7",
+ "indexmap 2.2.6",
"line-wrap",
"quick-xml 0.31.0",
"serde",
@@ -3956,14 +3994,15 @@ dependencies = [
[[package]]
name = "polling"
-version = "3.5.0"
+version = "3.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9"
+checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6"
dependencies = [
"cfg-if",
"concurrent-queue",
+ "hermit-abi",
"pin-project-lite",
- "rustix 0.38.31",
+ "rustix 0.38.32",
"tracing",
"windows-sys 0.52.0",
]
@@ -4057,9 +4096,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
-version = "1.0.78"
+version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
dependencies = [
"unicode-ident",
]
@@ -4084,9 +4123,9 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.35"
+version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
dependencies = [
"proc-macro2",
]
@@ -4151,7 +4190,7 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.12",
+ "getrandom 0.2.14",
]
[[package]]
@@ -4206,25 +4245,25 @@ dependencies = [
[[package]]
name = "redox_users"
-version = "0.4.4"
+version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4"
+checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
dependencies = [
- "getrandom 0.2.12",
+ "getrandom 0.2.14",
"libredox",
"thiserror",
]
[[package]]
name = "regex"
-version = "1.10.3"
+version = "1.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
dependencies = [
"aho-corasick",
"memchr",
- "regex-automata 0.4.5",
- "regex-syntax 0.8.2",
+ "regex-automata 0.4.6",
+ "regex-syntax 0.8.3",
]
[[package]]
@@ -4238,13 +4277,13 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.5"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
dependencies = [
"aho-corasick",
"memchr",
- "regex-syntax 0.8.2",
+ "regex-syntax 0.8.3",
]
[[package]]
@@ -4255,44 +4294,41 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
[[package]]
name = "regex-syntax"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
[[package]]
name = "reqwest"
-version = "0.11.24"
+version = "0.11.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
dependencies = [
- "base64",
+ "base64 0.21.7",
"bytes",
"encoding_rs",
"futures-core",
"futures-util",
"h2",
- "http 0.2.11",
- "http-body",
- "hyper",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "hyper 0.14.28",
"hyper-rustls",
- "hyper-tls",
"ipnet",
"js-sys",
"log",
"mime",
- "native-tls",
"once_cell",
"percent-encoding",
"pin-project-lite",
"rustls 0.21.10",
- "rustls-pemfile",
+ "rustls-pemfile 1.0.4",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper",
"system-configuration",
"tokio",
- "tokio-native-tls",
"tokio-rustls 0.24.1",
"tokio-socks",
"tokio-util",
@@ -4307,10 +4343,51 @@ dependencies = [
]
[[package]]
-name = "rfd"
-version = "0.14.0"
+name = "reqwest"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "373d2fc6310e2d14943d4e66ebed5b774a2b6b3b1610e7377edf124fb2760d6b"
+checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19"
+dependencies = [
+ "base64 0.22.0",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.0",
+ "http-body-util",
+ "hyper 1.2.0",
+ "hyper-tls",
+ "hyper-util",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls-pemfile 2.1.2",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "tokio",
+ "tokio-native-tls",
+ "tokio-util",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "wasm-streams",
+ "web-sys",
+ "winreg 0.52.0",
+]
+
+[[package]]
+name = "rfd"
+version = "0.14.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251"
dependencies = [
"ashpd",
"block",
@@ -4338,7 +4415,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
dependencies = [
"cc",
"cfg-if",
- "getrandom 0.2.12",
+ "getrandom 0.2.14",
"libc",
"spin",
"untrusted",
@@ -4351,7 +4428,7 @@ version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"fallible-iterator",
"fallible-streaming-iterator",
"hashlink",
@@ -4390,11 +4467,11 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.31"
+version = "0.38.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"errno",
"libc",
"linux-raw-sys 0.4.13",
@@ -4415,9 +4492,9 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.22.2"
+version = "0.22.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
+checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
dependencies = [
"log",
"ring",
@@ -4433,14 +4510,24 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
- "base64",
+ "base64 0.21.7",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
+dependencies = [
+ "base64 0.22.0",
+ "rustls-pki-types",
]
[[package]]
name = "rustls-pki-types"
-version = "1.3.1"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ede67b28608b4c60685c7d54122d4400d90f62b40caee7700e700380a390fa8"
+checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
[[package]]
name = "rustls-webpki"
@@ -4465,9 +4552,9 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.14"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
[[package]]
name = "ryu"
@@ -4475,12 +4562,6 @@ version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
-[[package]]
-name = "safemem"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
-
[[package]]
name = "salsa20"
version = "0.10.2"
@@ -4610,9 +4691,9 @@ dependencies = [
[[package]]
name = "security-framework"
-version = "2.9.2"
+version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
@@ -4623,9 +4704,9 @@ dependencies = [
[[package]]
name = "security-framework-sys"
-version = "2.9.1"
+version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
dependencies = [
"core-foundation-sys",
"libc",
@@ -4683,7 +4764,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -4699,25 +4780,25 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.114"
+version = "1.0.115"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"
dependencies = [
- "indexmap 2.2.5",
- "itoa 1.0.10",
+ "indexmap 2.2.6",
+ "itoa 1.0.11",
"ryu",
"serde",
]
[[package]]
name = "serde_repr"
-version = "0.1.18"
+version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
+checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -4736,22 +4817,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
- "itoa 1.0.10",
+ "itoa 1.0.11",
"ryu",
"serde",
]
[[package]]
name = "serde_with"
-version = "3.6.1"
+version = "3.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270"
+checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a"
dependencies = [
- "base64",
+ "base64 0.21.7",
"chrono",
"hex",
"indexmap 1.9.3",
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
"serde",
"serde_derive",
"serde_json",
@@ -4761,14 +4842,14 @@ dependencies = [
[[package]]
name = "serde_with_macros"
-version = "3.6.1"
+version = "3.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d"
+checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655"
dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -4876,9 +4957,9 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "socket2"
@@ -4906,29 +4987,20 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "071916a85d1db274b4ed57af3a14afb66bd836ae7f82ebb6f1fd3455107830d9"
dependencies = [
- "as-raw-xcb-connection",
"bytemuck",
"cfg_aliases 0.2.0",
"cocoa",
"core-graphics",
- "drm",
- "fastrand 2.0.1",
"foreign-types 0.5.0",
"js-sys",
"log",
- "memmap2",
"objc",
"raw-window-handle 0.6.0",
"redox_syscall",
- "rustix 0.38.31",
- "tiny-xlib",
"wasm-bindgen",
- "wayland-backend",
- "wayland-client",
"wayland-sys",
"web-sys",
"windows-sys 0.52.0",
- "x11rb",
]
[[package]]
@@ -5018,9 +5090,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "strsim"
-version = "0.11.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "subtle"
@@ -5034,7 +5106,7 @@ version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bbdb58577b6301f8d17ae2561f32002a5bae056d444e0f69e611e504a276204"
dependencies = [
- "base64",
+ "base64 0.21.7",
"serde",
"serde_json",
]
@@ -5052,9 +5124,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.52"
+version = "2.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07"
+checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"
dependencies = [
"proc-macro2",
"quote",
@@ -5099,22 +5171,22 @@ dependencies = [
[[package]]
name = "system-deps"
-version = "6.2.0"
+version = "6.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349"
dependencies = [
"cfg-expr",
- "heck",
+ "heck 0.5.0",
"pkg-config",
- "toml 0.8.10",
+ "toml 0.8.12",
"version-compare",
]
[[package]]
name = "tao"
-version = "0.26.1"
+version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccba570365293ca309d60f30fdac2c5271b732dc762e6154e59c85d2c762a0a1"
+checksum = "bd5b6ec2c43abd15155f040c765001098f50f425414b679225d471a1cd782753"
dependencies = [
"bitflags 1.3.2",
"cocoa",
@@ -5123,10 +5195,10 @@ dependencies = [
"crossbeam-channel",
"dispatch",
"dlopen2",
+ "dpi",
"gdkwayland-sys",
"gdkx11-sys",
"gtk",
- "image",
"instant",
"jni",
"lazy_static",
@@ -5138,14 +5210,12 @@ dependencies = [
"objc",
"once_cell",
"parking_lot",
- "png",
"raw-window-handle 0.6.0",
"scopeguard",
"tao-macros",
"unicode-segmentation",
"url",
- "windows 0.52.0",
- "windows-implement",
+ "windows 0.54.0",
"windows-version",
"x11-dl",
]
@@ -5180,9 +5250,9 @@ checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
[[package]]
name = "tauri"
-version = "2.0.0-beta.8"
+version = "2.0.0-beta.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2bd3d5ccf5316833c0f71c645c25585bddf997a16bea652bf3eab8114273cff"
+checksum = "a50fb0bdb687486415224f8be47c78993e9f3ea575ee0d5177c90d0c71842f4a"
dependencies = [
"anyhow",
"bytes",
@@ -5190,11 +5260,11 @@ dependencies = [
"dirs-next",
"embed_plist",
"futures-util",
- "getrandom 0.2.12",
+ "getrandom 0.2.14",
"glob",
"gtk",
- "heck",
- "http 0.2.11",
+ "heck 0.4.1",
+ "http 1.1.0",
"http-range",
"jni",
"libc",
@@ -5204,13 +5274,12 @@ dependencies = [
"objc",
"percent-encoding",
"raw-window-handle 0.6.0",
- "reqwest",
+ "reqwest 0.12.3",
"serde",
"serde_json",
"serde_repr",
"serialize-to-javascript",
"state",
- "static_assertions",
"swift-rs",
"tauri-build",
"tauri-macros",
@@ -5221,23 +5290,24 @@ dependencies = [
"tokio",
"tray-icon",
"url",
+ "urlpattern",
"webkit2gtk",
"webview2-com",
"window-vibrancy",
- "windows 0.52.0",
+ "windows 0.54.0",
]
[[package]]
name = "tauri-build"
-version = "2.0.0-beta.6"
+version = "2.0.0-beta.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ca30dbed856449b41abed13a5a46655ea2196075e09e99e22fe8ed0958b6aee"
+checksum = "82a46303cc4bce0b17ad95965cbd8326e3511b9d2cb6fb13a4a4c98a11b0dcaf"
dependencies = [
"anyhow",
"cargo_toml",
"dirs-next",
"glob",
- "heck",
+ "heck 0.4.1",
"json-patch",
"schemars",
"semver",
@@ -5245,17 +5315,17 @@ dependencies = [
"serde_json",
"tauri-utils",
"tauri-winres",
- "toml 0.8.10",
+ "toml 0.8.12",
"walkdir",
]
[[package]]
name = "tauri-codegen"
-version = "2.0.0-beta.6"
+version = "2.0.0-beta.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf4ed45a0d2a1723ef4ea71d1aa5809c4a8bcaa92de77f6c9a8f4d4f28c5d86a"
+checksum = "f1665f6a986842061a67cb9dcbe2fa27076c1a616f6525fc06de9d6d52838d63"
dependencies = [
- "base64",
+ "base64 0.22.0",
"brotli",
"ico",
"json-patch",
@@ -5267,7 +5337,7 @@ dependencies = [
"serde",
"serde_json",
"sha2",
- "syn 2.0.52",
+ "syn 2.0.58",
"tauri-utils",
"thiserror",
"time",
@@ -5278,23 +5348,23 @@ dependencies = [
[[package]]
name = "tauri-macros"
-version = "2.0.0-beta.6"
+version = "2.0.0-beta.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0a75661fb86b350141e78ad54ce9c60346149afc5cbf41de2ca60a1ebc252b3"
+checksum = "b0c1558fc42cc2a1735cfd5edb2954c735d4516f8ba31c58b7180ba8a2bc18de"
dependencies = [
- "heck",
+ "heck 0.4.1",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
"tauri-codegen",
"tauri-utils",
]
[[package]]
name = "tauri-plugin"
-version = "2.0.0-beta.6"
+version = "2.0.0-beta.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9530f0f0d809e77ff9a93da5ff2483faf8fef2cb8ed125ca7b0172cb92685d4"
+checksum = "31ab1ac6122bf2ca5fc4ebb8aadff619f3b172477d2baf8134cf1d7f0e249a12"
dependencies = [
"anyhow",
"glob",
@@ -5303,15 +5373,15 @@ dependencies = [
"serde",
"serde_json",
"tauri-utils",
- "toml 0.8.10",
+ "toml 0.8.12",
"walkdir",
]
[[package]]
name = "tauri-plugin-autostart"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a19866b4eac5bd88b1e92e45c0af9906dd98705fa18b50d899d3b0e32a39edf"
+checksum = "bf61e9ffbc86ddca1e1bc513f85ffc6b864e2e7ad25eee0c69c938384fb0478f"
dependencies = [
"auto-launch",
"log",
@@ -5324,9 +5394,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-cli"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df28f12dcff443122f36212f4a2f2e8dd4975dc3e8a31daef50c0b62898106cc"
+checksum = "0b079f01e923f7d3bf175e8d31b18861e6580f4b57ce0fdc16fbf69f9acd158c"
dependencies = [
"clap",
"log",
@@ -5339,9 +5409,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-clipboard-manager"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f23317c713c5e7b29692c394219d81e5cab150cf1fa414877426da7071f84d6"
+checksum = "b8cf4b7fde295126b30b8279aa2addedda7689027a6a7fc4cdf9bea43a86ad84"
dependencies = [
"arboard",
"log",
@@ -5354,9 +5424,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-dialog"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ed2ac81ffb8fd76d854578784491bbf8d8baba274fa9e18c0bbdc4ba00b0013"
+checksum = "e734642af7b5b2d107212a3c087480990d9d995290a67e4fdfd4815abf603969"
dependencies = [
"glib 0.16.9",
"log",
@@ -5372,9 +5442,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-fs"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a556b50d761ec405087bf67e82b3936ddeaf39d4d602a443e2a0d2df6cdb2a"
+checksum = "7718012d8e2ec7070aab9dbf1747c1575dca1ec00fb4fc6fb59e8d70eee5b3b3"
dependencies = [
"anyhow",
"glob",
@@ -5391,14 +5461,14 @@ dependencies = [
[[package]]
name = "tauri-plugin-http"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f5c00ebdfdab74d9669460665a1158dacd0cc692bf95a3b7d7e5160ebbd8ad0"
+checksum = "0f7f516a45d008e21ead191fa24f50ec38e9719caa7ab7758dcada1ad08aa887"
dependencies = [
"data-url",
- "glob",
- "http 0.2.11",
- "reqwest",
+ "http 0.2.12",
+ "regex",
+ "reqwest 0.11.27",
"schemars",
"serde",
"serde_json",
@@ -5407,13 +5477,14 @@ dependencies = [
"tauri-plugin-fs",
"thiserror",
"url",
+ "urlpattern",
]
[[package]]
name = "tauri-plugin-notification"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a65c040c7f2b764aa03cc1bed36973a90bc08917936c944ec0885bdf5eeaa2fe"
+checksum = "2ea37304d8bf7d875d0208f9c81b6af68d75dcd0f30c6910b10157739bd19353"
dependencies = [
"log",
"mac-notification-sys",
@@ -5432,9 +5503,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-os"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f9bd936030047ce0143dda585f908f4e8433089c4aa95ef182959283483abfb"
+checksum = "c02dc0a2037ef113d9d9db85edceab6f95f83ae111e4d989d6bc1df79c8ab4cf"
dependencies = [
"gethostname",
"log",
@@ -5450,9 +5521,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-process"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "324d724d8e12b90681acf7a855e2f73f84825e500ed297ba66b2326ef58527b4"
+checksum = "11215c3615299090e97f37341ae4b01f518bc1d43e9c4391144c0e5e3b7d4f01"
dependencies = [
"tauri",
"tauri-plugin",
@@ -5460,9 +5531,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-shell"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb42a100bd4b6adad6f07455f54c5916d32be79d81e5914478ece45a04560cad"
+checksum = "5624537650f627707f3bd9c6562efe2116c7fb043fcfc2e3d10f802d7870a1cd"
dependencies = [
"encoding_rs",
"log",
@@ -5480,9 +5551,9 @@ dependencies = [
[[package]]
name = "tauri-plugin-store"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f023f235e8d505f4e6b6a5f15374e7e77e02223f5d56ba6bdcf4fb2dcfc66d96"
+checksum = "0142026264556b634203155a0751474e2e1aeed0c38707dd6ce2abe435160ff8"
dependencies = [
"log",
"serde",
@@ -5494,18 +5565,18 @@ dependencies = [
[[package]]
name = "tauri-plugin-updater"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "587dfbe753c43e5db6c7f82b399c7c9f548c744ce7485d0f41a55ad7bb31d23c"
+checksum = "106ed17da7442061bf3c0577cd22091424d1a64c86569064e99e7466d97dca65"
dependencies = [
- "base64",
+ "base64 0.21.7",
"dirs-next",
"flate2",
"futures-util",
- "http 0.2.11",
+ "http 0.2.12",
"minisign-verify",
"percent-encoding",
- "reqwest",
+ "reqwest 0.11.27",
"semver",
"serde",
"serde_json",
@@ -5517,19 +5588,20 @@ dependencies = [
"time",
"tokio",
"url",
+ "windows-sys 0.52.0",
"zip",
]
[[package]]
name = "tauri-plugin-upload"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b0782e222836265338709ad356ffdd58e01c22462f0af4ab728bbf2978efeb3"
+checksum = "cabab78c05046f04d7479a42219ee976f89c559626fd3af7e093e393b32290db"
dependencies = [
"futures-util",
"log",
"read-progress-stream",
- "reqwest",
+ "reqwest 0.11.27",
"serde",
"serde_json",
"tauri",
@@ -5541,12 +5613,11 @@ dependencies = [
[[package]]
name = "tauri-plugin-window-state"
-version = "2.0.0-beta.1"
+version = "2.0.0-beta.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18ea69612514fd82a41e42079a7783f78a326c413aaede065f0a8000922f5449"
+checksum = "6373bc6cd9d53619b34bdb453e8f71739d621589f53f25013a2df1867f54857d"
dependencies = [
- "bincode",
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
"log",
"serde",
"serde_json",
@@ -5557,12 +5628,13 @@ dependencies = [
[[package]]
name = "tauri-runtime"
-version = "2.0.0-beta.6"
+version = "2.0.0-beta.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0381b4b96e1f4f39a24ca6472c9b016151b103a54b1425233007fdbc26cf20a8"
+checksum = "612e05de1382575b32b5220b546861256f630f37ac64c29cab252592861b9bd4"
dependencies = [
+ "dpi",
"gtk",
- "http 0.2.11",
+ "http 1.1.0",
"jni",
"raw-window-handle 0.6.0",
"serde",
@@ -5570,19 +5642,20 @@ dependencies = [
"tauri-utils",
"thiserror",
"url",
- "windows 0.52.0",
+ "windows 0.54.0",
]
[[package]]
name = "tauri-runtime-wry"
-version = "2.0.0-beta.6"
+version = "2.0.0-beta.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eef6a8373c9936b33a58c1bdbdd76fe4603d00ebe72304c0777bf0674e455aa"
+checksum = "2f73672897b5396cb05c2f21b12b66ecfd4b51fae619dd35387467660d6c00fb"
dependencies = [
"cocoa",
"gtk",
- "http 0.2.11",
+ "http 1.1.0",
"jni",
+ "log",
"percent-encoding",
"raw-window-handle 0.6.0",
"softbuffer",
@@ -5592,22 +5665,22 @@ dependencies = [
"url",
"webkit2gtk",
"webview2-com",
- "windows 0.52.0",
+ "windows 0.54.0",
"wry",
]
[[package]]
name = "tauri-utils"
-version = "2.0.0-beta.6"
+version = "2.0.0-beta.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92e35e2f9a5ee8539d00dde621f176647747736a388a07c3083a0cc1b96ba6d7"
+checksum = "0a148adf8077e1891c8b7d1c2be90c1c8eb8c7a071c35bb8edbdfe7cd9d8e23c"
dependencies = [
"brotli",
"cargo_metadata",
"ctor",
"dunce",
"glob",
- "heck",
+ "heck 0.4.1",
"html5ever",
"infer",
"json-patch",
@@ -5617,6 +5690,7 @@ dependencies = [
"phf 0.11.2",
"proc-macro2",
"quote",
+ "regex",
"schemars",
"semver",
"serde",
@@ -5624,8 +5698,9 @@ dependencies = [
"serde_with",
"swift-rs",
"thiserror",
- "toml 0.8.10",
+ "toml 0.8.12",
"url",
+ "urlpattern",
"walkdir",
]
@@ -5656,8 +5731,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
dependencies = [
"cfg-if",
- "fastrand 2.0.1",
- "rustix 0.38.31",
+ "fastrand 2.0.2",
+ "rustix 0.38.32",
"windows-sys 0.52.0",
]
@@ -5680,22 +5755,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
[[package]]
name = "thiserror"
-version = "1.0.57"
+version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.57"
+version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -5726,7 +5801,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
dependencies = [
"deranged",
- "itoa 1.0.10",
+ "itoa 1.0.11",
"num-conv",
"powerfmt",
"serde",
@@ -5750,18 +5825,6 @@ dependencies = [
"time-core",
]
-[[package]]
-name = "tiny-xlib"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d"
-dependencies = [
- "as-raw-xcb-connection",
- "ctor",
- "libloading 0.8.2",
- "tracing",
-]
-
[[package]]
name = "tinyvec"
version = "1.6.0"
@@ -5779,9 +5842,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.36.0"
+version = "1.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
dependencies = [
"backtrace",
"bytes",
@@ -5805,7 +5868,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -5834,7 +5897,7 @@ version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
dependencies = [
- "rustls 0.22.2",
+ "rustls 0.22.3",
"rustls-pki-types",
"tokio",
]
@@ -5859,7 +5922,7 @@ checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38"
dependencies = [
"futures-util",
"log",
- "rustls 0.22.2",
+ "rustls 0.22.3",
"rustls-pki-types",
"tokio",
"tokio-rustls 0.25.0",
@@ -5895,14 +5958,14 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.10"
+version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
+checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
- "toml_edit 0.22.6",
+ "toml_edit 0.22.9",
]
[[package]]
@@ -5920,7 +5983,7 @@ version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
"serde",
"serde_spanned",
"toml_datetime",
@@ -5933,7 +5996,7 @@ version = "0.20.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81"
dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
"toml_datetime",
"winnow 0.5.40",
]
@@ -5944,24 +6007,46 @@ version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1"
dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
"toml_datetime",
"winnow 0.5.40",
]
[[package]]
name = "toml_edit"
-version = "0.22.6"
+version = "0.22.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
dependencies = [
- "indexmap 2.2.5",
+ "indexmap 2.2.6",
"serde",
"serde_spanned",
"toml_datetime",
"winnow 0.6.5",
]
+[[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "pin-project",
+ "pin-project-lite",
+ "tokio",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
[[package]]
name = "tower-service"
version = "0.3.2"
@@ -5974,6 +6059,7 @@ version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
+ "log",
"pin-project-lite",
"tracing-attributes",
"tracing-core",
@@ -5987,7 +6073,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -6031,9 +6117,9 @@ dependencies = [
[[package]]
name = "tray-icon"
-version = "0.11.3"
+version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a4d9ddd4a7c0f3b6862af1c4911b529a49db4ee89310d3a258859c2f5053fdd"
+checksum = "a97ec55956c54569e74209ae9d29a7a79193b252d17a6ac28bcffd4c11a384ad"
dependencies = [
"cocoa",
"core-graphics",
@@ -6073,11 +6159,11 @@ dependencies = [
"byteorder",
"bytes",
"data-encoding",
- "http 1.0.0",
+ "http 1.1.0",
"httparse",
"log",
"rand 0.8.5",
- "rustls 0.22.2",
+ "rustls 0.22.3",
"rustls-pki-types",
"sha1",
"thiserror",
@@ -6097,11 +6183,52 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
dependencies = [
- "memoffset 0.9.0",
+ "memoffset 0.9.1",
"tempfile",
"winapi",
]
+[[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-bidi"
version = "0.3.15"
@@ -6157,6 +6284,19 @@ dependencies = [
"serde",
]
+[[package]]
+name = "urlpattern"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9bd5ff03aea02fa45b13a7980151fe45009af1980ba69f651ec367121a31609"
+dependencies = [
+ "derive_more",
+ "regex",
+ "serde",
+ "unic-ucd-ident",
+ "url",
+]
+
[[package]]
name = "utf-8"
version = "0.7.6"
@@ -6171,11 +6311,11 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "uuid"
-version = "1.7.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
dependencies = [
- "getrandom 0.2.12",
+ "getrandom 0.2.14",
]
[[package]]
@@ -6192,9 +6332,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version-compare"
-version = "0.1.1"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b"
[[package]]
name = "version_check"
@@ -6261,9 +6401,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.91"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -6271,24 +6411,24 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.91"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.41"
+version = "0.4.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97"
+checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
dependencies = [
"cfg-if",
"js-sys",
@@ -6298,9 +6438,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.91"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -6308,22 +6448,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.91"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.91"
+version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
[[package]]
name = "wasm-streams"
@@ -6355,43 +6495,6 @@ dependencies = [
"web-sys",
]
-[[package]]
-name = "wayland-backend"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40"
-dependencies = [
- "cc",
- "downcast-rs",
- "rustix 0.38.31",
- "scoped-tls",
- "smallvec",
- "wayland-sys",
-]
-
-[[package]]
-name = "wayland-client"
-version = "0.31.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f"
-dependencies = [
- "bitflags 2.4.2",
- "rustix 0.38.31",
- "wayland-backend",
- "wayland-scanner",
-]
-
-[[package]]
-name = "wayland-scanner"
-version = "0.31.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283"
-dependencies = [
- "proc-macro2",
- "quick-xml 0.31.0",
- "quote",
-]
-
[[package]]
name = "wayland-sys"
version = "0.31.1"
@@ -6400,15 +6503,14 @@ checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af"
dependencies = [
"dlib",
"log",
- "once_cell",
"pkg-config",
]
[[package]]
name = "web-sys"
-version = "0.3.68"
+version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446"
+checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -6489,14 +6591,14 @@ dependencies = [
[[package]]
name = "webview2-com"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0ae9c7e420783826cf769d2c06ac9ba462f450eca5893bb8c6c6529a4e5dd33"
+checksum = "38d5949fc3f537e90240c3e4f78dda2fa0431b671d50845a2f582173ef8a1201"
dependencies = [
"webview2-com-macros",
"webview2-com-sys",
- "windows 0.52.0",
- "windows-core 0.52.0",
+ "windows 0.54.0",
+ "windows-core 0.54.0",
"windows-implement",
"windows-interface",
]
@@ -6509,18 +6611,18 @@ checksum = "ac1345798ecd8122468840bcdf1b95e5dc6d2206c5e4b0eafa078d061f59c9bc"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
name = "webview2-com-sys"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6ad85fceee6c42fa3d61239eba5a11401bf38407a849ed5ea1b407df08cca72"
+checksum = "cd1eaa1be63d6fdcadf893c40d7d53c889a6342b3a94930d34e6964d5bb7e8db"
dependencies = [
"thiserror",
- "windows 0.52.0",
- "windows-core 0.52.0",
+ "windows 0.54.0",
+ "windows-core 0.54.0",
]
[[package]]
@@ -6573,6 +6675,15 @@ dependencies = [
"windows-version",
]
+[[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets 0.48.5",
+]
+
[[package]]
name = "windows"
version = "0.51.1"
@@ -6585,26 +6696,16 @@ dependencies = [
[[package]]
name = "windows"
-version = "0.52.0"
+version = "0.54.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
+checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49"
dependencies = [
- "windows-core 0.52.0",
+ "windows-core 0.54.0",
"windows-implement",
"windows-interface",
"windows-targets 0.52.4",
]
-[[package]]
-name = "windows"
-version = "0.53.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538"
-dependencies = [
- "windows-core 0.53.0",
- "windows-targets 0.52.4",
-]
-
[[package]]
name = "windows-core"
version = "0.51.1"
@@ -6625,9 +6726,9 @@ dependencies = [
[[package]]
name = "windows-core"
-version = "0.53.0"
+version = "0.54.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dcc5b895a6377f1ab9fa55acedab1fd5ac0db66ad1e6c7f47e28a22e446a5dd"
+checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65"
dependencies = [
"windows-result",
"windows-targets 0.52.4",
@@ -6635,24 +6736,24 @@ dependencies = [
[[package]]
name = "windows-implement"
-version = "0.52.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946"
+checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
name = "windows-interface"
-version = "0.52.0"
+version = "0.53.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1"
+checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -6910,9 +7011,9 @@ dependencies = [
[[package]]
name = "winreg"
-version = "0.51.0"
+version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc"
+checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
dependencies = [
"cfg-if",
"windows-sys 0.48.0",
@@ -6920,26 +7021,26 @@ dependencies = [
[[package]]
name = "wry"
-version = "0.37.0"
+version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b717040ba9771fd88eb428c6ea6b555f8e734ff8534f02c13e8f10d97f5935e"
+checksum = "4eca9d50437c04fc67e82c196ddd31d8e35794150713ae2d647f3a58c7f45d1a"
dependencies = [
- "base64",
+ "base64 0.21.7",
"block",
"cfg_aliases 0.1.1",
"cocoa",
"core-graphics",
"crossbeam-channel",
+ "dpi",
"dunce",
"gdkx11",
"gtk",
"html5ever",
- "http 0.2.11",
+ "http 1.1.0",
"javascriptcore-rs",
"jni",
"kuchikiki",
"libc",
- "log",
"ndk",
"ndk-context",
"ndk-sys",
@@ -6948,8 +7049,6 @@ dependencies = [
"once_cell",
"percent-encoding",
"raw-window-handle 0.6.0",
- "serde",
- "serde_json",
"sha2",
"soup3",
"tao-macros",
@@ -6957,8 +7056,7 @@ dependencies = [
"webkit2gtk",
"webkit2gtk-sys",
"webview2-com",
- "windows 0.52.0",
- "windows-implement",
+ "windows 0.54.0",
"windows-version",
"x11-dl",
]
@@ -6990,12 +7088,8 @@ version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a"
dependencies = [
- "as-raw-xcb-connection",
"gethostname",
- "libc",
- "libloading 0.8.2",
- "once_cell",
- "rustix 0.38.31",
+ "rustix 0.38.32",
"x11rb-protocol",
]
@@ -7013,7 +7107,7 @@ checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
dependencies = [
"libc",
"linux-raw-sys 0.4.13",
- "rustix 0.38.31",
+ "rustix 0.38.32",
]
[[package]]
@@ -7087,16 +7181,16 @@ dependencies = [
"async-broadcast 0.7.0",
"async-executor",
"async-fs 2.1.1",
- "async-io 2.3.1",
+ "async-io 2.3.2",
"async-lock 3.3.0",
- "async-process 2.1.0",
+ "async-process 2.2.0",
"async-recursion",
"async-task",
"async-trait",
"blocking",
"derivative",
"enumflags2",
- "event-listener 5.2.0",
+ "event-listener 5.3.0",
"futures-core",
"futures-sink",
"futures-util",
@@ -7185,7 +7279,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.52",
+ "syn 2.0.58",
]
[[package]]
@@ -7235,9 +7329,9 @@ dependencies = [
[[package]]
name = "zstd-sys"
-version = "2.0.9+zstd.1.5.5"
+version = "2.0.10+zstd.1.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656"
+checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa"
dependencies = [
"cc",
"pkg-config",
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
index 335fd1aa..c05857a8 100644
--- a/src-tauri/Cargo.toml
+++ b/src-tauri/Cargo.toml
@@ -11,11 +11,12 @@ rust-version = "1.68"
tauri-build = { version = "2.0.0-beta", features = [] }
[dependencies]
-nostr-sdk = { version = "0.28", features = ["sqlite"] }
+nostr-sdk = { version = "0.29", features = ["sqlite"] }
tokio = { version = "1", features = ["full"] }
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
tauri = { version = "2.0.0-beta", features = [
+ "unstable",
"tray-icon",
"macos-private-api",
"native-tls-vendored",
@@ -38,6 +39,11 @@ tauri-plugin-window-state = "2.0.0-beta"
webpage = { version = "2.0", features = ["serde"] }
keyring = "2"
+[target.'cfg(target_os = "macos")'.dependencies]
+cocoa = "0.25.0"
+objc = "0.2.7"
+rand = "0.8.5"
+
[profile.release]
codegen-units = 1
lto = true
diff --git a/src-tauri/capabilities/main.json b/src-tauri/capabilities/main.json
index 9421989f..8e54fdce 100644
--- a/src-tauri/capabilities/main.json
+++ b/src-tauri/capabilities/main.json
@@ -6,12 +6,12 @@
"windows": [
"main",
"splash",
- "editor",
"settings",
"nwc",
"zap-*",
"event-*",
"user-*",
+ "editor-*",
"column-*"
],
"permissions": [
@@ -30,11 +30,16 @@
"updater:allow-check",
"updater:default",
"window:allow-start-dragging",
+ "window:allow-create",
+ "window:allow-close",
"store:allow-get",
"clipboard-manager:allow-write",
"clipboard-manager:allow-read",
"webview:allow-create-webview-window",
"webview:allow-create-webview",
+ "webview:allow-set-webview-size",
+ "webview:allow-set-webview-position",
+ "webview:allow-webview-close",
"dialog:allow-open",
"fs:allow-read-file",
"shell:allow-open",
@@ -54,6 +59,9 @@
"allow": [
{
"path": "$RESOURCE/locales/*"
+ },
+ {
+ "path": "$RESOURCE/resources/*"
}
]
}
diff --git a/src-tauri/gen/schemas/acl-manifests.json b/src-tauri/gen/schemas/acl-manifests.json
index d07dae63..c4b55abb 100644
--- a/src-tauri/gen/schemas/acl-manifests.json
+++ b/src-tauri/gen/schemas/acl-manifests.json
@@ -1 +1 @@
-{"app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"autostart":{"default_permission":null,"permissions":{"allow-disable":{"identifier":"allow-disable","description":"Enables the disable command without any pre-configured scope.","commands":{"allow":["disable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-enable":{"identifier":"allow-enable","description":"Enables the enable command without any pre-configured scope.","commands":{"allow":["enable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-disable":{"identifier":"deny-disable","description":"Denies the disable command without any pre-configured scope.","commands":{"allow":[],"deny":["disable"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-enable":{"identifier":"deny-enable","description":"Denies the enable command without any pre-configured scope.","commands":{"allow":[],"deny":["enable"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"cli":{"default_permission":{"identifier":"default","description":"Allows reading the CLI matches","permissions":["allow-cli-matches"]},"permissions":{"allow-cli-matches":{"identifier":"allow-cli-matches","description":"Enables the cli_matches command without any pre-configured scope.","commands":{"allow":["cli_matches"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-cli-matches":{"identifier":"deny-cli-matches","description":"Denies the cli_matches command without any pre-configured scope.","commands":{"allow":[],"deny":["cli_matches"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"clipboard-manager":{"default_permission":null,"permissions":{"allow-read":{"identifier":"allow-read","description":"Enables the read command without any pre-configured scope.","commands":{"allow":["read"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-write":{"identifier":"allow-write","description":"Enables the write command without any pre-configured scope.","commands":{"allow":["write"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-read":{"identifier":"deny-read","description":"Denies the read command without any pre-configured scope.","commands":{"allow":[],"deny":["read"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-write":{"identifier":"deny-write","description":"Denies the write command without any pre-configured scope.","commands":{"allow":[],"deny":["write"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"dialog":{"default_permission":null,"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"fs":{"default_permission":{"identifier":"default","description":"# Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n","permissions":["read-all","scope-app-recursive","deny-default"]},"permissions":{"allow-copy-file":{"identifier":"allow-copy-file","description":"Enables the copy_file command without any pre-configured scope.","commands":{"allow":["copy_file"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-exists":{"identifier":"allow-exists","description":"Enables the exists command without any pre-configured scope.","commands":{"allow":["exists"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-fstat":{"identifier":"allow-fstat","description":"Enables the fstat command without any pre-configured scope.","commands":{"allow":["fstat"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-ftruncate":{"identifier":"allow-ftruncate","description":"Enables the ftruncate command without any pre-configured scope.","commands":{"allow":["ftruncate"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-lstat":{"identifier":"allow-lstat","description":"Enables the lstat command without any pre-configured scope.","commands":{"allow":["lstat"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-mkdir":{"identifier":"allow-mkdir","description":"Enables the mkdir command without any pre-configured scope.","commands":{"allow":["mkdir"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-read":{"identifier":"allow-read","description":"Enables the read command without any pre-configured scope.","commands":{"allow":["read"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-read-dir":{"identifier":"allow-read-dir","description":"Enables the read_dir command without any pre-configured scope.","commands":{"allow":["read_dir"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-read-file":{"identifier":"allow-read-file","description":"Enables the read_file command without any pre-configured scope.","commands":{"allow":["read_file"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-read-text-file":{"identifier":"allow-read-text-file","description":"Enables the read_text_file command without any pre-configured scope.","commands":{"allow":["read_text_file"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-read-text-file-lines":{"identifier":"allow-read-text-file-lines","description":"Enables the read_text_file_lines command without any pre-configured scope.","commands":{"allow":["read_text_file_lines"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-read-text-file-lines-next":{"identifier":"allow-read-text-file-lines-next","description":"Enables the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":["read_text_file_lines_next"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-rename":{"identifier":"allow-rename","description":"Enables the rename command without any pre-configured scope.","commands":{"allow":["rename"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-seek":{"identifier":"allow-seek","description":"Enables the seek command without any pre-configured scope.","commands":{"allow":["seek"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-stat":{"identifier":"allow-stat","description":"Enables the stat command without any pre-configured scope.","commands":{"allow":["stat"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-truncate":{"identifier":"allow-truncate","description":"Enables the truncate command without any pre-configured scope.","commands":{"allow":["truncate"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-unwatch":{"identifier":"allow-unwatch","description":"Enables the unwatch command without any pre-configured scope.","commands":{"allow":["unwatch"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-watch":{"identifier":"allow-watch","description":"Enables the watch command without any pre-configured scope.","commands":{"allow":["watch"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-write":{"identifier":"allow-write","description":"Enables the write command without any pre-configured scope.","commands":{"allow":["write"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-write-file":{"identifier":"allow-write-file","description":"Enables the write_file command without any pre-configured scope.","commands":{"allow":["write_file"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-write-text-file":{"identifier":"allow-write-text-file","description":"Enables the write_text_file command without any pre-configured scope.","commands":{"allow":["write_text_file"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-copy-file":{"identifier":"deny-copy-file","description":"Denies the copy_file command without any pre-configured scope.","commands":{"allow":[],"deny":["copy_file"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-exists":{"identifier":"deny-exists","description":"Denies the exists command without any pre-configured scope.","commands":{"allow":[],"deny":["exists"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-fstat":{"identifier":"deny-fstat","description":"Denies the fstat command without any pre-configured scope.","commands":{"allow":[],"deny":["fstat"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-ftruncate":{"identifier":"deny-ftruncate","description":"Denies the ftruncate command without any pre-configured scope.","commands":{"allow":[],"deny":["ftruncate"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-lstat":{"identifier":"deny-lstat","description":"Denies the lstat command without any pre-configured scope.","commands":{"allow":[],"deny":["lstat"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-mkdir":{"identifier":"deny-mkdir","description":"Denies the mkdir command without any pre-configured scope.","commands":{"allow":[],"deny":["mkdir"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-read":{"identifier":"deny-read","description":"Denies the read command without any pre-configured scope.","commands":{"allow":[],"deny":["read"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-read-dir":{"identifier":"deny-read-dir","description":"Denies the read_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["read_dir"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-read-file":{"identifier":"deny-read-file","description":"Denies the read_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_file"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-read-text-file":{"identifier":"deny-read-text-file","description":"Denies the read_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-read-text-file-lines":{"identifier":"deny-read-text-file-lines","description":"Denies the read_text_file_lines command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-read-text-file-lines-next":{"identifier":"deny-read-text-file-lines-next","description":"Denies the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines_next"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-rename":{"identifier":"deny-rename","description":"Denies the rename command without any pre-configured scope.","commands":{"allow":[],"deny":["rename"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-seek":{"identifier":"deny-seek","description":"Denies the seek command without any pre-configured scope.","commands":{"allow":[],"deny":["seek"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-stat":{"identifier":"deny-stat","description":"Denies the stat command without any pre-configured scope.","commands":{"allow":[],"deny":["stat"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-truncate":{"identifier":"deny-truncate","description":"Denies the truncate command without any pre-configured scope.","commands":{"allow":[],"deny":["truncate"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-unwatch":{"identifier":"deny-unwatch","description":"Denies the unwatch command without any pre-configured scope.","commands":{"allow":[],"deny":["unwatch"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-watch":{"identifier":"deny-watch","description":"Denies the watch command without any pre-configured scope.","commands":{"allow":[],"deny":["watch"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-webview-data-linux":{"identifier":"deny-webview-data-linux","description":"This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.","commands":{"allow":[],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-webview-data-windows":{"identifier":"deny-webview-data-windows","description":"This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.","commands":{"allow":[],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-write":{"identifier":"deny-write","description":"Denies the write command without any pre-configured scope.","commands":{"allow":[],"deny":["write"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-write-file":{"identifier":"deny-write-file","description":"Denies the write_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_file"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-write-text-file":{"identifier":"deny-write-text-file","description":"Denies the write_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text_file"]},"platforms":["linux","macOS","windows","android","iOS"]},"read-all":{"identifier":"read-all","description":"This enables all read related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists","watch","unwatch"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"read-dirs":{"identifier":"read-dirs","description":"This enables directory read and file metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"read-files":{"identifier":"read-files","description":"This enables file read related commands without any pre-configured accessible paths.","commands":{"allow":["read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"read-meta":{"identifier":"read-meta","description":"This enables all index or metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"scope":{"identifier":"scope","description":"An empty permission you can use to modify the global scope.","commands":{"allow":[],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-app":{"identifier":"scope-app","description":"This scope permits access to all files and list content of top level directories in the `$APP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-app-index":{"identifier":"scope-app-index","description":"This scope permits to list all files and folders in the `$APP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-app-recursive":{"identifier":"scope-app-recursive","description":"This scope recursive access to the complete `$APP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appcache":{"identifier":"scope-appcache","description":"This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appcache-index":{"identifier":"scope-appcache-index","description":"This scope permits to list all files and folders in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appcache-recursive":{"identifier":"scope-appcache-recursive","description":"This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appconfig":{"identifier":"scope-appconfig","description":"This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appconfig-index":{"identifier":"scope-appconfig-index","description":"This scope permits to list all files and folders in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appconfig-recursive":{"identifier":"scope-appconfig-recursive","description":"This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appdata":{"identifier":"scope-appdata","description":"This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appdata-index":{"identifier":"scope-appdata-index","description":"This scope permits to list all files and folders in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-appdata-recursive":{"identifier":"scope-appdata-recursive","description":"This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-applocaldata":{"identifier":"scope-applocaldata","description":"This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-applocaldata-index":{"identifier":"scope-applocaldata-index","description":"This scope permits to list all files and folders in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-applocaldata-recursive":{"identifier":"scope-applocaldata-recursive","description":"This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-applog":{"identifier":"scope-applog","description":"This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-applog-index":{"identifier":"scope-applog-index","description":"This scope permits to list all files and folders in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-applog-recursive":{"identifier":"scope-applog-recursive","description":"This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-audio":{"identifier":"scope-audio","description":"This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-audio-index":{"identifier":"scope-audio-index","description":"This scope permits to list all files and folders in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-audio-recursive":{"identifier":"scope-audio-recursive","description":"This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-cache":{"identifier":"scope-cache","description":"This scope permits access to all files and list content of top level directories in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-cache-index":{"identifier":"scope-cache-index","description":"This scope permits to list all files and folders in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-cache-recursive":{"identifier":"scope-cache-recursive","description":"This scope recursive access to the complete `$CACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-config":{"identifier":"scope-config","description":"This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-config-index":{"identifier":"scope-config-index","description":"This scope permits to list all files and folders in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-config-recursive":{"identifier":"scope-config-recursive","description":"This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-data":{"identifier":"scope-data","description":"This scope permits access to all files and list content of top level directories in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-data-index":{"identifier":"scope-data-index","description":"This scope permits to list all files and folders in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-data-recursive":{"identifier":"scope-data-recursive","description":"This scope recursive access to the complete `$DATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-desktop":{"identifier":"scope-desktop","description":"This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-desktop-index":{"identifier":"scope-desktop-index","description":"This scope permits to list all files and folders in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-desktop-recursive":{"identifier":"scope-desktop-recursive","description":"This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-document":{"identifier":"scope-document","description":"This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-document-index":{"identifier":"scope-document-index","description":"This scope permits to list all files and folders in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-document-recursive":{"identifier":"scope-document-recursive","description":"This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-download":{"identifier":"scope-download","description":"This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-download-index":{"identifier":"scope-download-index","description":"This scope permits to list all files and folders in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-download-recursive":{"identifier":"scope-download-recursive","description":"This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-exe":{"identifier":"scope-exe","description":"This scope permits access to all files and list content of top level directories in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-exe-index":{"identifier":"scope-exe-index","description":"This scope permits to list all files and folders in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-exe-recursive":{"identifier":"scope-exe-recursive","description":"This scope recursive access to the complete `$EXE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-font":{"identifier":"scope-font","description":"This scope permits access to all files and list content of top level directories in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-font-index":{"identifier":"scope-font-index","description":"This scope permits to list all files and folders in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-font-recursive":{"identifier":"scope-font-recursive","description":"This scope recursive access to the complete `$FONT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-home":{"identifier":"scope-home","description":"This scope permits access to all files and list content of top level directories in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-home-index":{"identifier":"scope-home-index","description":"This scope permits to list all files and folders in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-home-recursive":{"identifier":"scope-home-recursive","description":"This scope recursive access to the complete `$HOME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-localdata":{"identifier":"scope-localdata","description":"This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-localdata-index":{"identifier":"scope-localdata-index","description":"This scope permits to list all files and folders in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-localdata-recursive":{"identifier":"scope-localdata-recursive","description":"This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-log":{"identifier":"scope-log","description":"This scope permits access to all files and list content of top level directories in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-log-index":{"identifier":"scope-log-index","description":"This scope permits to list all files and folders in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-log-recursive":{"identifier":"scope-log-recursive","description":"This scope recursive access to the complete `$LOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-picture":{"identifier":"scope-picture","description":"This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-picture-index":{"identifier":"scope-picture-index","description":"This scope permits to list all files and folders in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-picture-recursive":{"identifier":"scope-picture-recursive","description":"This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-public":{"identifier":"scope-public","description":"This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-public-index":{"identifier":"scope-public-index","description":"This scope permits to list all files and folders in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-public-recursive":{"identifier":"scope-public-recursive","description":"This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-resource":{"identifier":"scope-resource","description":"This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-resource-index":{"identifier":"scope-resource-index","description":"This scope permits to list all files and folders in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-resource-recursive":{"identifier":"scope-resource-recursive","description":"This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-runtime":{"identifier":"scope-runtime","description":"This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-runtime-index":{"identifier":"scope-runtime-index","description":"This scope permits to list all files and folders in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-runtime-recursive":{"identifier":"scope-runtime-recursive","description":"This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-temp":{"identifier":"scope-temp","description":"This scope permits access to all files and list content of top level directories in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-temp-index":{"identifier":"scope-temp-index","description":"This scope permits to list all files and folders in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-temp-recursive":{"identifier":"scope-temp-recursive","description":"This scope recursive access to the complete `$TEMP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-template":{"identifier":"scope-template","description":"This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-template-index":{"identifier":"scope-template-index","description":"This scope permits to list all files and folders in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-template-recursive":{"identifier":"scope-template-recursive","description":"This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-video":{"identifier":"scope-video","description":"This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/*"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-video-index":{"identifier":"scope-video-index","description":"This scope permits to list all files and folders in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/"}]},"platforms":["linux","macOS","windows","android","iOS"]},"scope-video-recursive":{"identifier":"scope-video-recursive","description":"This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/**"}]},"platforms":["linux","macOS","windows","android","iOS"]},"write-all":{"identifier":"write-all","description":"This enables all write related commands without any pre-configured accessible paths.","commands":{"allow":["mkdir","create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"write-files":{"identifier":"write-files","description":"This enables all file write related commands without any pre-configured accessible paths.","commands":{"allow":["create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{"allow-app-meta":{"identifier":"allow-app-meta","description":"This allows read access to metadata of the `$APP` folder, including file listing and statistics.","permissions":["read-meta","scope-app-index"]},"allow-app-meta-recursive":{"identifier":"allow-app-meta-recursive","description":"This allows read access to metadata of the `$APP` folder, including file listing and statistics.","permissions":["read-meta","scope-app-recursive"]},"allow-app-read":{"identifier":"allow-app-read","description":"This allows non-recursive read access to the `$APP` folder.","permissions":["read-all","scope-app"]},"allow-app-read-recursive":{"identifier":"allow-app-read-recursive","description":"This allows full recursive read access to the complete `$APP` folder, files and subdirectories.","permissions":["read-all","scope-app-recursive"]},"allow-app-write":{"identifier":"allow-app-write","description":"This allows non-recursive write access to the `$APP` folder.","permissions":["write-all","scope-app"]},"allow-app-write-recursive":{"identifier":"allow-app-write-recursive","description":"This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.","permissions":["write-all","scope-app-recursive"]},"allow-appcache-meta":{"identifier":"allow-appcache-meta","description":"This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-index"]},"allow-appcache-meta-recursive":{"identifier":"allow-appcache-meta-recursive","description":"This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-recursive"]},"allow-appcache-read":{"identifier":"allow-appcache-read","description":"This allows non-recursive read access to the `$APPCACHE` folder.","permissions":["read-all","scope-appcache"]},"allow-appcache-read-recursive":{"identifier":"allow-appcache-read-recursive","description":"This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["read-all","scope-appcache-recursive"]},"allow-appcache-write":{"identifier":"allow-appcache-write","description":"This allows non-recursive write access to the `$APPCACHE` folder.","permissions":["write-all","scope-appcache"]},"allow-appcache-write-recursive":{"identifier":"allow-appcache-write-recursive","description":"This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["write-all","scope-appcache-recursive"]},"allow-appconfig-meta":{"identifier":"allow-appconfig-meta","description":"This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-index"]},"allow-appconfig-meta-recursive":{"identifier":"allow-appconfig-meta-recursive","description":"This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-recursive"]},"allow-appconfig-read":{"identifier":"allow-appconfig-read","description":"This allows non-recursive read access to the `$APPCONFIG` folder.","permissions":["read-all","scope-appconfig"]},"allow-appconfig-read-recursive":{"identifier":"allow-appconfig-read-recursive","description":"This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["read-all","scope-appconfig-recursive"]},"allow-appconfig-write":{"identifier":"allow-appconfig-write","description":"This allows non-recursive write access to the `$APPCONFIG` folder.","permissions":["write-all","scope-appconfig"]},"allow-appconfig-write-recursive":{"identifier":"allow-appconfig-write-recursive","description":"This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["write-all","scope-appconfig-recursive"]},"allow-appdata-meta":{"identifier":"allow-appdata-meta","description":"This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-index"]},"allow-appdata-meta-recursive":{"identifier":"allow-appdata-meta-recursive","description":"This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-recursive"]},"allow-appdata-read":{"identifier":"allow-appdata-read","description":"This allows non-recursive read access to the `$APPDATA` folder.","permissions":["read-all","scope-appdata"]},"allow-appdata-read-recursive":{"identifier":"allow-appdata-read-recursive","description":"This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["read-all","scope-appdata-recursive"]},"allow-appdata-write":{"identifier":"allow-appdata-write","description":"This allows non-recursive write access to the `$APPDATA` folder.","permissions":["write-all","scope-appdata"]},"allow-appdata-write-recursive":{"identifier":"allow-appdata-write-recursive","description":"This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["write-all","scope-appdata-recursive"]},"allow-applocaldata-meta":{"identifier":"allow-applocaldata-meta","description":"This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-index"]},"allow-applocaldata-meta-recursive":{"identifier":"allow-applocaldata-meta-recursive","description":"This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-recursive"]},"allow-applocaldata-read":{"identifier":"allow-applocaldata-read","description":"This allows non-recursive read access to the `$APPLOCALDATA` folder.","permissions":["read-all","scope-applocaldata"]},"allow-applocaldata-read-recursive":{"identifier":"allow-applocaldata-read-recursive","description":"This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-applocaldata-recursive"]},"allow-applocaldata-write":{"identifier":"allow-applocaldata-write","description":"This allows non-recursive write access to the `$APPLOCALDATA` folder.","permissions":["write-all","scope-applocaldata"]},"allow-applocaldata-write-recursive":{"identifier":"allow-applocaldata-write-recursive","description":"This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-applocaldata-recursive"]},"allow-applog-meta":{"identifier":"allow-applog-meta","description":"This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-index"]},"allow-applog-meta-recursive":{"identifier":"allow-applog-meta-recursive","description":"This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-recursive"]},"allow-applog-read":{"identifier":"allow-applog-read","description":"This allows non-recursive read access to the `$APPLOG` folder.","permissions":["read-all","scope-applog"]},"allow-applog-read-recursive":{"identifier":"allow-applog-read-recursive","description":"This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["read-all","scope-applog-recursive"]},"allow-applog-write":{"identifier":"allow-applog-write","description":"This allows non-recursive write access to the `$APPLOG` folder.","permissions":["write-all","scope-applog"]},"allow-applog-write-recursive":{"identifier":"allow-applog-write-recursive","description":"This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["write-all","scope-applog-recursive"]},"allow-audio-meta":{"identifier":"allow-audio-meta","description":"This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-index"]},"allow-audio-meta-recursive":{"identifier":"allow-audio-meta-recursive","description":"This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-recursive"]},"allow-audio-read":{"identifier":"allow-audio-read","description":"This allows non-recursive read access to the `$AUDIO` folder.","permissions":["read-all","scope-audio"]},"allow-audio-read-recursive":{"identifier":"allow-audio-read-recursive","description":"This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["read-all","scope-audio-recursive"]},"allow-audio-write":{"identifier":"allow-audio-write","description":"This allows non-recursive write access to the `$AUDIO` folder.","permissions":["write-all","scope-audio"]},"allow-audio-write-recursive":{"identifier":"allow-audio-write-recursive","description":"This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["write-all","scope-audio-recursive"]},"allow-cache-meta":{"identifier":"allow-cache-meta","description":"This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-index"]},"allow-cache-meta-recursive":{"identifier":"allow-cache-meta-recursive","description":"This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-recursive"]},"allow-cache-read":{"identifier":"allow-cache-read","description":"This allows non-recursive read access to the `$CACHE` folder.","permissions":["read-all","scope-cache"]},"allow-cache-read-recursive":{"identifier":"allow-cache-read-recursive","description":"This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.","permissions":["read-all","scope-cache-recursive"]},"allow-cache-write":{"identifier":"allow-cache-write","description":"This allows non-recursive write access to the `$CACHE` folder.","permissions":["write-all","scope-cache"]},"allow-cache-write-recursive":{"identifier":"allow-cache-write-recursive","description":"This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.","permissions":["write-all","scope-cache-recursive"]},"allow-config-meta":{"identifier":"allow-config-meta","description":"This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-index"]},"allow-config-meta-recursive":{"identifier":"allow-config-meta-recursive","description":"This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-recursive"]},"allow-config-read":{"identifier":"allow-config-read","description":"This allows non-recursive read access to the `$CONFIG` folder.","permissions":["read-all","scope-config"]},"allow-config-read-recursive":{"identifier":"allow-config-read-recursive","description":"This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["read-all","scope-config-recursive"]},"allow-config-write":{"identifier":"allow-config-write","description":"This allows non-recursive write access to the `$CONFIG` folder.","permissions":["write-all","scope-config"]},"allow-config-write-recursive":{"identifier":"allow-config-write-recursive","description":"This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["write-all","scope-config-recursive"]},"allow-data-meta":{"identifier":"allow-data-meta","description":"This allows read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-index"]},"allow-data-meta-recursive":{"identifier":"allow-data-meta-recursive","description":"This allows read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-recursive"]},"allow-data-read":{"identifier":"allow-data-read","description":"This allows non-recursive read access to the `$DATA` folder.","permissions":["read-all","scope-data"]},"allow-data-read-recursive":{"identifier":"allow-data-read-recursive","description":"This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.","permissions":["read-all","scope-data-recursive"]},"allow-data-write":{"identifier":"allow-data-write","description":"This allows non-recursive write access to the `$DATA` folder.","permissions":["write-all","scope-data"]},"allow-data-write-recursive":{"identifier":"allow-data-write-recursive","description":"This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.","permissions":["write-all","scope-data-recursive"]},"allow-desktop-meta":{"identifier":"allow-desktop-meta","description":"This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-index"]},"allow-desktop-meta-recursive":{"identifier":"allow-desktop-meta-recursive","description":"This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-recursive"]},"allow-desktop-read":{"identifier":"allow-desktop-read","description":"This allows non-recursive read access to the `$DESKTOP` folder.","permissions":["read-all","scope-desktop"]},"allow-desktop-read-recursive":{"identifier":"allow-desktop-read-recursive","description":"This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["read-all","scope-desktop-recursive"]},"allow-desktop-write":{"identifier":"allow-desktop-write","description":"This allows non-recursive write access to the `$DESKTOP` folder.","permissions":["write-all","scope-desktop"]},"allow-desktop-write-recursive":{"identifier":"allow-desktop-write-recursive","description":"This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["write-all","scope-desktop-recursive"]},"allow-document-meta":{"identifier":"allow-document-meta","description":"This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-index"]},"allow-document-meta-recursive":{"identifier":"allow-document-meta-recursive","description":"This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-recursive"]},"allow-document-read":{"identifier":"allow-document-read","description":"This allows non-recursive read access to the `$DOCUMENT` folder.","permissions":["read-all","scope-document"]},"allow-document-read-recursive":{"identifier":"allow-document-read-recursive","description":"This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["read-all","scope-document-recursive"]},"allow-document-write":{"identifier":"allow-document-write","description":"This allows non-recursive write access to the `$DOCUMENT` folder.","permissions":["write-all","scope-document"]},"allow-document-write-recursive":{"identifier":"allow-document-write-recursive","description":"This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["write-all","scope-document-recursive"]},"allow-download-meta":{"identifier":"allow-download-meta","description":"This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-index"]},"allow-download-meta-recursive":{"identifier":"allow-download-meta-recursive","description":"This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-recursive"]},"allow-download-read":{"identifier":"allow-download-read","description":"This allows non-recursive read access to the `$DOWNLOAD` folder.","permissions":["read-all","scope-download"]},"allow-download-read-recursive":{"identifier":"allow-download-read-recursive","description":"This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["read-all","scope-download-recursive"]},"allow-download-write":{"identifier":"allow-download-write","description":"This allows non-recursive write access to the `$DOWNLOAD` folder.","permissions":["write-all","scope-download"]},"allow-download-write-recursive":{"identifier":"allow-download-write-recursive","description":"This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["write-all","scope-download-recursive"]},"allow-exe-meta":{"identifier":"allow-exe-meta","description":"This allows read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-index"]},"allow-exe-meta-recursive":{"identifier":"allow-exe-meta-recursive","description":"This allows read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-recursive"]},"allow-exe-read":{"identifier":"allow-exe-read","description":"This allows non-recursive read access to the `$EXE` folder.","permissions":["read-all","scope-exe"]},"allow-exe-read-recursive":{"identifier":"allow-exe-read-recursive","description":"This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.","permissions":["read-all","scope-exe-recursive"]},"allow-exe-write":{"identifier":"allow-exe-write","description":"This allows non-recursive write access to the `$EXE` folder.","permissions":["write-all","scope-exe"]},"allow-exe-write-recursive":{"identifier":"allow-exe-write-recursive","description":"This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.","permissions":["write-all","scope-exe-recursive"]},"allow-font-meta":{"identifier":"allow-font-meta","description":"This allows read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-index"]},"allow-font-meta-recursive":{"identifier":"allow-font-meta-recursive","description":"This allows read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-recursive"]},"allow-font-read":{"identifier":"allow-font-read","description":"This allows non-recursive read access to the `$FONT` folder.","permissions":["read-all","scope-font"]},"allow-font-read-recursive":{"identifier":"allow-font-read-recursive","description":"This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.","permissions":["read-all","scope-font-recursive"]},"allow-font-write":{"identifier":"allow-font-write","description":"This allows non-recursive write access to the `$FONT` folder.","permissions":["write-all","scope-font"]},"allow-font-write-recursive":{"identifier":"allow-font-write-recursive","description":"This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.","permissions":["write-all","scope-font-recursive"]},"allow-home-meta":{"identifier":"allow-home-meta","description":"This allows read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-index"]},"allow-home-meta-recursive":{"identifier":"allow-home-meta-recursive","description":"This allows read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-recursive"]},"allow-home-read":{"identifier":"allow-home-read","description":"This allows non-recursive read access to the `$HOME` folder.","permissions":["read-all","scope-home"]},"allow-home-read-recursive":{"identifier":"allow-home-read-recursive","description":"This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.","permissions":["read-all","scope-home-recursive"]},"allow-home-write":{"identifier":"allow-home-write","description":"This allows non-recursive write access to the `$HOME` folder.","permissions":["write-all","scope-home"]},"allow-home-write-recursive":{"identifier":"allow-home-write-recursive","description":"This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.","permissions":["write-all","scope-home-recursive"]},"allow-localdata-meta":{"identifier":"allow-localdata-meta","description":"This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-index"]},"allow-localdata-meta-recursive":{"identifier":"allow-localdata-meta-recursive","description":"This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-recursive"]},"allow-localdata-read":{"identifier":"allow-localdata-read","description":"This allows non-recursive read access to the `$LOCALDATA` folder.","permissions":["read-all","scope-localdata"]},"allow-localdata-read-recursive":{"identifier":"allow-localdata-read-recursive","description":"This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-localdata-recursive"]},"allow-localdata-write":{"identifier":"allow-localdata-write","description":"This allows non-recursive write access to the `$LOCALDATA` folder.","permissions":["write-all","scope-localdata"]},"allow-localdata-write-recursive":{"identifier":"allow-localdata-write-recursive","description":"This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-localdata-recursive"]},"allow-log-meta":{"identifier":"allow-log-meta","description":"This allows read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-index"]},"allow-log-meta-recursive":{"identifier":"allow-log-meta-recursive","description":"This allows read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-recursive"]},"allow-log-read":{"identifier":"allow-log-read","description":"This allows non-recursive read access to the `$LOG` folder.","permissions":["read-all","scope-log"]},"allow-log-read-recursive":{"identifier":"allow-log-read-recursive","description":"This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.","permissions":["read-all","scope-log-recursive"]},"allow-log-write":{"identifier":"allow-log-write","description":"This allows non-recursive write access to the `$LOG` folder.","permissions":["write-all","scope-log"]},"allow-log-write-recursive":{"identifier":"allow-log-write-recursive","description":"This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.","permissions":["write-all","scope-log-recursive"]},"allow-picture-meta":{"identifier":"allow-picture-meta","description":"This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-index"]},"allow-picture-meta-recursive":{"identifier":"allow-picture-meta-recursive","description":"This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-recursive"]},"allow-picture-read":{"identifier":"allow-picture-read","description":"This allows non-recursive read access to the `$PICTURE` folder.","permissions":["read-all","scope-picture"]},"allow-picture-read-recursive":{"identifier":"allow-picture-read-recursive","description":"This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["read-all","scope-picture-recursive"]},"allow-picture-write":{"identifier":"allow-picture-write","description":"This allows non-recursive write access to the `$PICTURE` folder.","permissions":["write-all","scope-picture"]},"allow-picture-write-recursive":{"identifier":"allow-picture-write-recursive","description":"This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["write-all","scope-picture-recursive"]},"allow-public-meta":{"identifier":"allow-public-meta","description":"This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-index"]},"allow-public-meta-recursive":{"identifier":"allow-public-meta-recursive","description":"This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-recursive"]},"allow-public-read":{"identifier":"allow-public-read","description":"This allows non-recursive read access to the `$PUBLIC` folder.","permissions":["read-all","scope-public"]},"allow-public-read-recursive":{"identifier":"allow-public-read-recursive","description":"This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["read-all","scope-public-recursive"]},"allow-public-write":{"identifier":"allow-public-write","description":"This allows non-recursive write access to the `$PUBLIC` folder.","permissions":["write-all","scope-public"]},"allow-public-write-recursive":{"identifier":"allow-public-write-recursive","description":"This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["write-all","scope-public-recursive"]},"allow-resource-meta":{"identifier":"allow-resource-meta","description":"This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-index"]},"allow-resource-meta-recursive":{"identifier":"allow-resource-meta-recursive","description":"This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-recursive"]},"allow-resource-read":{"identifier":"allow-resource-read","description":"This allows non-recursive read access to the `$RESOURCE` folder.","permissions":["read-all","scope-resource"]},"allow-resource-read-recursive":{"identifier":"allow-resource-read-recursive","description":"This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["read-all","scope-resource-recursive"]},"allow-resource-write":{"identifier":"allow-resource-write","description":"This allows non-recursive write access to the `$RESOURCE` folder.","permissions":["write-all","scope-resource"]},"allow-resource-write-recursive":{"identifier":"allow-resource-write-recursive","description":"This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["write-all","scope-resource-recursive"]},"allow-runtime-meta":{"identifier":"allow-runtime-meta","description":"This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-index"]},"allow-runtime-meta-recursive":{"identifier":"allow-runtime-meta-recursive","description":"This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-recursive"]},"allow-runtime-read":{"identifier":"allow-runtime-read","description":"This allows non-recursive read access to the `$RUNTIME` folder.","permissions":["read-all","scope-runtime"]},"allow-runtime-read-recursive":{"identifier":"allow-runtime-read-recursive","description":"This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["read-all","scope-runtime-recursive"]},"allow-runtime-write":{"identifier":"allow-runtime-write","description":"This allows non-recursive write access to the `$RUNTIME` folder.","permissions":["write-all","scope-runtime"]},"allow-runtime-write-recursive":{"identifier":"allow-runtime-write-recursive","description":"This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["write-all","scope-runtime-recursive"]},"allow-temp-meta":{"identifier":"allow-temp-meta","description":"This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-index"]},"allow-temp-meta-recursive":{"identifier":"allow-temp-meta-recursive","description":"This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-recursive"]},"allow-temp-read":{"identifier":"allow-temp-read","description":"This allows non-recursive read access to the `$TEMP` folder.","permissions":["read-all","scope-temp"]},"allow-temp-read-recursive":{"identifier":"allow-temp-read-recursive","description":"This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.","permissions":["read-all","scope-temp-recursive"]},"allow-temp-write":{"identifier":"allow-temp-write","description":"This allows non-recursive write access to the `$TEMP` folder.","permissions":["write-all","scope-temp"]},"allow-temp-write-recursive":{"identifier":"allow-temp-write-recursive","description":"This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.","permissions":["write-all","scope-temp-recursive"]},"allow-template-meta":{"identifier":"allow-template-meta","description":"This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-index"]},"allow-template-meta-recursive":{"identifier":"allow-template-meta-recursive","description":"This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-recursive"]},"allow-template-read":{"identifier":"allow-template-read","description":"This allows non-recursive read access to the `$TEMPLATE` folder.","permissions":["read-all","scope-template"]},"allow-template-read-recursive":{"identifier":"allow-template-read-recursive","description":"This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["read-all","scope-template-recursive"]},"allow-template-write":{"identifier":"allow-template-write","description":"This allows non-recursive write access to the `$TEMPLATE` folder.","permissions":["write-all","scope-template"]},"allow-template-write-recursive":{"identifier":"allow-template-write-recursive","description":"This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["write-all","scope-template-recursive"]},"allow-video-meta":{"identifier":"allow-video-meta","description":"This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-index"]},"allow-video-meta-recursive":{"identifier":"allow-video-meta-recursive","description":"This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-recursive"]},"allow-video-read":{"identifier":"allow-video-read","description":"This allows non-recursive read access to the `$VIDEO` folder.","permissions":["read-all","scope-video"]},"allow-video-read-recursive":{"identifier":"allow-video-read-recursive","description":"This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["read-all","scope-video-recursive"]},"allow-video-write":{"identifier":"allow-video-write","description":"This allows non-recursive write access to the `$VIDEO` folder.","permissions":["write-all","scope-video"]},"allow-video-write-recursive":{"identifier":"allow-video-write-recursive","description":"This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["write-all","scope-video-recursive"]},"deny-default":{"identifier":"deny-default","description":"This denies access to dangerous Tauri relevant files and folders by default.","permissions":["deny-webview-data-linux","deny-webview-data-windows"]}},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"path":{"type":"string"}},"required":["path"],"title":"Entry","type":"object"}},"http":{"default_permission":{"identifier":"default","description":"Allows all fetch operations","permissions":["allow-fetch","allow-fetch-cancel","allow-fetch-read-body","allow-fetch-send"]},"permissions":{"allow-fetch":{"identifier":"allow-fetch","description":"Enables the fetch command without any pre-configured scope.","commands":{"allow":["fetch"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-fetch-cancel":{"identifier":"allow-fetch-cancel","description":"Enables the fetch_cancel command without any pre-configured scope.","commands":{"allow":["fetch_cancel"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-fetch-read-body":{"identifier":"allow-fetch-read-body","description":"Enables the fetch_read_body command without any pre-configured scope.","commands":{"allow":["fetch_read_body"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-fetch-send":{"identifier":"allow-fetch-send","description":"Enables the fetch_send command without any pre-configured scope.","commands":{"allow":["fetch_send"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-fetch":{"identifier":"deny-fetch","description":"Denies the fetch command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-fetch-cancel":{"identifier":"deny-fetch-cancel","description":"Denies the fetch_cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_cancel"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-fetch-read-body":{"identifier":"deny-fetch-read-body","description":"Denies the fetch_read_body command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_read_body"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-fetch-send":{"identifier":"deny-fetch-send","description":"Denies the fetch_send command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_send"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","description":"HTTP scope entry object definition.","properties":{"url":{"description":"A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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"],"title":"ScopeEntry","type":"object"}},"menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":[]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"notification":{"default_permission":{"identifier":"default","description":"Allows requesting permission, checking permission state and sending notifications","permissions":["allow-is-permission-granted","allow-request-permission","allow-notify"]},"permissions":{"allow-is-permission-granted":{"identifier":"allow-is-permission-granted","description":"Enables the is_permission_granted command without any pre-configured scope.","commands":{"allow":["is_permission_granted"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-notify":{"identifier":"allow-notify","description":"Enables the notify command without any pre-configured scope.","commands":{"allow":["notify"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-request-permission":{"identifier":"allow-request-permission","description":"Enables the request_permission command without any pre-configured scope.","commands":{"allow":["request_permission"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-permission-granted":{"identifier":"deny-is-permission-granted","description":"Denies the is_permission_granted command without any pre-configured scope.","commands":{"allow":[],"deny":["is_permission_granted"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-notify":{"identifier":"deny-notify","description":"Denies the notify command without any pre-configured scope.","commands":{"allow":[],"deny":["notify"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-request-permission":{"identifier":"deny-request-permission","description":"Denies the request_permission command without any pre-configured scope.","commands":{"allow":[],"deny":["request_permission"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"os":{"default_permission":null,"permissions":{"allow-arch":{"identifier":"allow-arch","description":"Enables the arch command without any pre-configured scope.","commands":{"allow":["arch"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-exe-extension":{"identifier":"allow-exe-extension","description":"Enables the exe_extension command without any pre-configured scope.","commands":{"allow":["exe_extension"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-family":{"identifier":"allow-family","description":"Enables the family command without any pre-configured scope.","commands":{"allow":["family"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-hostname":{"identifier":"allow-hostname","description":"Enables the hostname command without any pre-configured scope.","commands":{"allow":["hostname"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-locale":{"identifier":"allow-locale","description":"Enables the locale command without any pre-configured scope.","commands":{"allow":["locale"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-os-type":{"identifier":"allow-os-type","description":"Enables the os_type command without any pre-configured scope.","commands":{"allow":["os_type"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-platform":{"identifier":"allow-platform","description":"Enables the platform command without any pre-configured scope.","commands":{"allow":["platform"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-arch":{"identifier":"deny-arch","description":"Denies the arch command without any pre-configured scope.","commands":{"allow":[],"deny":["arch"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-exe-extension":{"identifier":"deny-exe-extension","description":"Denies the exe_extension command without any pre-configured scope.","commands":{"allow":[],"deny":["exe_extension"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-family":{"identifier":"deny-family","description":"Denies the family command without any pre-configured scope.","commands":{"allow":[],"deny":["family"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-hostname":{"identifier":"deny-hostname","description":"Denies the hostname command without any pre-configured scope.","commands":{"allow":[],"deny":["hostname"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-locale":{"identifier":"deny-locale","description":"Denies the locale command without any pre-configured scope.","commands":{"allow":[],"deny":["locale"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-os-type":{"identifier":"deny-os-type","description":"Denies the os_type command without any pre-configured scope.","commands":{"allow":[],"deny":["os_type"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-platform":{"identifier":"deny-platform","description":"Denies the platform command without any pre-configured scope.","commands":{"allow":[],"deny":["platform"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"process":{"default_permission":null,"permissions":{"allow-exit":{"identifier":"allow-exit","description":"Enables the exit command without any pre-configured scope.","commands":{"allow":["exit"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-restart":{"identifier":"allow-restart","description":"Enables the restart command without any pre-configured scope.","commands":{"allow":["restart"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-exit":{"identifier":"deny-exit","description":"Denies the exit command without any pre-configured scope.","commands":{"allow":[],"deny":["exit"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-restart":{"identifier":"deny-restart","description":"Denies the restart command without any pre-configured scope.","commands":{"allow":[],"deny":["restart"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":null,"permissions":{"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-kill":{"identifier":"allow-kill","description":"Enables the kill command without any pre-configured scope.","commands":{"allow":["kill"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-stdin-write":{"identifier":"allow-stdin-write","description":"Enables the stdin_write command without any pre-configured scope.","commands":{"allow":["stdin_write"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-kill":{"identifier":"deny-kill","description":"Denies the kill command without any pre-configured scope.","commands":{"allow":[],"deny":["kill"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-stdin-write":{"identifier":"deny-stdin-write","description":"Denies the stdin_write command without any pre-configured scope.","commands":{"allow":[],"deny":["stdin_write"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"ShellAllowedArg":{"anyOf":[{"description":"A non-configurable argument that is passed to the command in the order it was specified.","type":"string"},{"additionalProperties":false,"description":"A variable that is set while calling the command from the webview API.","properties":{"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax","type":"string"}},"required":["validator"],"type":"object"}],"description":"A command argument allowed to be executed by the webview API."},"ShellAllowedArgs":{"anyOf":[{"description":"Use a simple boolean to allow all or disable all arguments to this command configuration.","type":"boolean"},{"description":"A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.","items":{"$ref":"#/definitions/ShellAllowedArg"},"type":"array"}],"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration."}},"description":"A command allowed to be executed by the webview API.","properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellAllowedArgs"}],"description":"The allowed arguments for the command execution."},"command":{"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"},"sidecar":{"description":"If this command is a sidecar command.","type":"boolean"}},"required":["args","command","name","sidecar"],"title":"Entry","type":"object"}},"store":{"default_permission":null,"permissions":{"allow-clear":{"identifier":"allow-clear","description":"Enables the clear command without any pre-configured scope.","commands":{"allow":["clear"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-delete":{"identifier":"allow-delete","description":"Enables the delete command without any pre-configured scope.","commands":{"allow":["delete"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-entries":{"identifier":"allow-entries","description":"Enables the entries command without any pre-configured scope.","commands":{"allow":["entries"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-has":{"identifier":"allow-has","description":"Enables the has command without any pre-configured scope.","commands":{"allow":["has"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-keys":{"identifier":"allow-keys","description":"Enables the keys command without any pre-configured scope.","commands":{"allow":["keys"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-length":{"identifier":"allow-length","description":"Enables the length command without any pre-configured scope.","commands":{"allow":["length"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-load":{"identifier":"allow-load","description":"Enables the load command without any pre-configured scope.","commands":{"allow":["load"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-reset":{"identifier":"allow-reset","description":"Enables the reset command without any pre-configured scope.","commands":{"allow":["reset"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set":{"identifier":"allow-set","description":"Enables the set command without any pre-configured scope.","commands":{"allow":["set"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-values":{"identifier":"allow-values","description":"Enables the values command without any pre-configured scope.","commands":{"allow":["values"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-clear":{"identifier":"deny-clear","description":"Denies the clear command without any pre-configured scope.","commands":{"allow":[],"deny":["clear"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-delete":{"identifier":"deny-delete","description":"Denies the delete command without any pre-configured scope.","commands":{"allow":[],"deny":["delete"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-entries":{"identifier":"deny-entries","description":"Denies the entries command without any pre-configured scope.","commands":{"allow":[],"deny":["entries"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-has":{"identifier":"deny-has","description":"Denies the has command without any pre-configured scope.","commands":{"allow":[],"deny":["has"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-keys":{"identifier":"deny-keys","description":"Denies the keys command without any pre-configured scope.","commands":{"allow":[],"deny":["keys"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-length":{"identifier":"deny-length","description":"Denies the length command without any pre-configured scope.","commands":{"allow":[],"deny":["length"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-load":{"identifier":"deny-load","description":"Denies the load command without any pre-configured scope.","commands":{"allow":[],"deny":["load"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-reset":{"identifier":"deny-reset","description":"Denies the reset command without any pre-configured scope.","commands":{"allow":[],"deny":["reset"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set":{"identifier":"deny-set","description":"Denies the set command without any pre-configured scope.","commands":{"allow":[],"deny":["set"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-values":{"identifier":"deny-values","description":"Denies the values command without any pre-configured scope.","commands":{"allow":[],"deny":["values"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":[]},"permissions":{"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"updater":{"default_permission":{"identifier":"default","description":"Allows checking for new updates and installing them","permissions":["allow-check","allow-download-and-install"]},"permissions":{"allow-check":{"identifier":"allow-check","description":"Enables the check command without any pre-configured scope.","commands":{"allow":["check"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-download-and-install":{"identifier":"allow-download-and-install","description":"Enables the download_and_install command without any pre-configured scope.","commands":{"allow":["download_and_install"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-check":{"identifier":"deny-check","description":"Denies the check command without any pre-configured scope.","commands":{"allow":[],"deny":["check"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-download-and-install":{"identifier":"deny-download-and-install","description":"Denies the download_and_install command without any pre-configured scope.","commands":{"allow":[],"deny":["download_and_install"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"upload":{"default_permission":null,"permissions":{"allow-download":{"identifier":"allow-download","description":"Enables the download command without any pre-configured scope.","commands":{"allow":["download"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-upload":{"identifier":"allow-upload","description":"Enables the upload command without any pre-configured scope.","commands":{"allow":["upload"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-download":{"identifier":"deny-download","description":"Denies the download command without any pre-configured scope.","commands":{"allow":[],"deny":["download"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-upload":{"identifier":"deny-upload","description":"Denies the upload command without any pre-configured scope.","commands":{"allow":[],"deny":["upload"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-title","allow-current-monitor","allow-primary-monitor","allow-available-monitors","allow-theme","allow-internal-toggle-maximize"]},"permissions":{"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"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":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]},"platforms":["linux","macOS","windows","android","iOS"]},"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"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null},"window-state":{"default_permission":null,"permissions":{"allow-restore-window-state":{"identifier":"allow-restore-window-state","description":"Enables the restore_window_state command without any pre-configured scope.","commands":{"allow":["restore_window_state"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"allow-save-window-state":{"identifier":"allow-save-window-state","description":"Enables the save_window_state command without any pre-configured scope.","commands":{"allow":["save_window_state"],"deny":[]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-restore-window-state":{"identifier":"deny-restore-window-state","description":"Denies the restore_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["restore_window_state"]},"platforms":["linux","macOS","windows","android","iOS"]},"deny-save-window-state":{"identifier":"deny-save-window-state","description":"Denies the save_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["save_window_state"]},"platforms":["linux","macOS","windows","android","iOS"]}},"permission_sets":{},"global_scope_schema":null}}
\ No newline at end of file
+{"app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]}},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]}},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"autostart":{"default_permission":null,"permissions":{"allow-disable":{"identifier":"allow-disable","description":"Enables the disable command without any pre-configured scope.","commands":{"allow":["disable"],"deny":[]}},"allow-enable":{"identifier":"allow-enable","description":"Enables the enable command without any pre-configured scope.","commands":{"allow":["enable"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"deny-disable":{"identifier":"deny-disable","description":"Denies the disable command without any pre-configured scope.","commands":{"allow":[],"deny":["disable"]}},"deny-enable":{"identifier":"deny-enable","description":"Denies the enable command without any pre-configured scope.","commands":{"allow":[],"deny":["enable"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}}},"permission_sets":{},"global_scope_schema":null},"cli":{"default_permission":{"identifier":"default","description":"Allows reading the CLI matches","permissions":["allow-cli-matches"]},"permissions":{"allow-cli-matches":{"identifier":"allow-cli-matches","description":"Enables the cli_matches command without any pre-configured scope.","commands":{"allow":["cli_matches"],"deny":[]}},"deny-cli-matches":{"identifier":"deny-cli-matches","description":"Denies the cli_matches command without any pre-configured scope.","commands":{"allow":[],"deny":["cli_matches"]}}},"permission_sets":{},"global_scope_schema":null},"clipboard-manager":{"default_permission":null,"permissions":{"allow-read":{"identifier":"allow-read","description":"Enables the read command without any pre-configured scope.","commands":{"allow":["read"],"deny":[]}},"allow-write":{"identifier":"allow-write","description":"Enables the write command without any pre-configured scope.","commands":{"allow":["write"],"deny":[]}},"deny-read":{"identifier":"deny-read","description":"Denies the read command without any pre-configured scope.","commands":{"allow":[],"deny":["read"]}},"deny-write":{"identifier":"deny-write","description":"Denies the write command without any pre-configured scope.","commands":{"allow":[],"deny":["write"]}}},"permission_sets":{},"global_scope_schema":null},"dialog":{"default_permission":null,"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]}},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]}},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]}},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]}},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}}},"permission_sets":{},"global_scope_schema":null},"event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]}},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]}},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]}},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]}},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]}},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]}},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]}},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]}}},"permission_sets":{},"global_scope_schema":null},"fs":{"default_permission":{"identifier":"default","description":"# Tauri `fs` default permissions\n\nThis configuration file defines the default permissions granted\nto the filesystem.\n\n### Granted Permissions\n\nThis default permission set enables all read-related commands and\nallows access to the `$APP` folder and sub directories created in it.\nThe location of the `$APP` folder depends on the operating system,\nwhere the application is run.\n\nIn general the `$APP` folder needs to be manually created\nby the application at runtime, before accessing files or folders\nin it is possible.\n\n### Denied Permissions\n\nThis default permission set prevents access to critical components\nof the Tauri application by default.\nOn Windows the webview data folder access is denied.\n\n","permissions":["read-all","scope-app-recursive","deny-default"]},"permissions":{"allow-copy-file":{"identifier":"allow-copy-file","description":"Enables the copy_file command without any pre-configured scope.","commands":{"allow":["copy_file"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-exists":{"identifier":"allow-exists","description":"Enables the exists command without any pre-configured scope.","commands":{"allow":["exists"],"deny":[]}},"allow-fstat":{"identifier":"allow-fstat","description":"Enables the fstat command without any pre-configured scope.","commands":{"allow":["fstat"],"deny":[]}},"allow-ftruncate":{"identifier":"allow-ftruncate","description":"Enables the ftruncate command without any pre-configured scope.","commands":{"allow":["ftruncate"],"deny":[]}},"allow-lstat":{"identifier":"allow-lstat","description":"Enables the lstat command without any pre-configured scope.","commands":{"allow":["lstat"],"deny":[]}},"allow-mkdir":{"identifier":"allow-mkdir","description":"Enables the mkdir command without any pre-configured scope.","commands":{"allow":["mkdir"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-read":{"identifier":"allow-read","description":"Enables the read command without any pre-configured scope.","commands":{"allow":["read"],"deny":[]}},"allow-read-dir":{"identifier":"allow-read-dir","description":"Enables the read_dir command without any pre-configured scope.","commands":{"allow":["read_dir"],"deny":[]}},"allow-read-file":{"identifier":"allow-read-file","description":"Enables the read_file command without any pre-configured scope.","commands":{"allow":["read_file"],"deny":[]}},"allow-read-text-file":{"identifier":"allow-read-text-file","description":"Enables the read_text_file command without any pre-configured scope.","commands":{"allow":["read_text_file"],"deny":[]}},"allow-read-text-file-lines":{"identifier":"allow-read-text-file-lines","description":"Enables the read_text_file_lines command without any pre-configured scope.","commands":{"allow":["read_text_file_lines"],"deny":[]}},"allow-read-text-file-lines-next":{"identifier":"allow-read-text-file-lines-next","description":"Enables the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":["read_text_file_lines_next"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-rename":{"identifier":"allow-rename","description":"Enables the rename command without any pre-configured scope.","commands":{"allow":["rename"],"deny":[]}},"allow-seek":{"identifier":"allow-seek","description":"Enables the seek command without any pre-configured scope.","commands":{"allow":["seek"],"deny":[]}},"allow-stat":{"identifier":"allow-stat","description":"Enables the stat command without any pre-configured scope.","commands":{"allow":["stat"],"deny":[]}},"allow-truncate":{"identifier":"allow-truncate","description":"Enables the truncate command without any pre-configured scope.","commands":{"allow":["truncate"],"deny":[]}},"allow-unwatch":{"identifier":"allow-unwatch","description":"Enables the unwatch command without any pre-configured scope.","commands":{"allow":["unwatch"],"deny":[]}},"allow-watch":{"identifier":"allow-watch","description":"Enables the watch command without any pre-configured scope.","commands":{"allow":["watch"],"deny":[]}},"allow-write":{"identifier":"allow-write","description":"Enables the write command without any pre-configured scope.","commands":{"allow":["write"],"deny":[]}},"allow-write-file":{"identifier":"allow-write-file","description":"Enables the write_file command without any pre-configured scope.","commands":{"allow":["write_file"],"deny":[]}},"allow-write-text-file":{"identifier":"allow-write-text-file","description":"Enables the write_text_file command without any pre-configured scope.","commands":{"allow":["write_text_file"],"deny":[]}},"deny-copy-file":{"identifier":"deny-copy-file","description":"Denies the copy_file command without any pre-configured scope.","commands":{"allow":[],"deny":["copy_file"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-exists":{"identifier":"deny-exists","description":"Denies the exists command without any pre-configured scope.","commands":{"allow":[],"deny":["exists"]}},"deny-fstat":{"identifier":"deny-fstat","description":"Denies the fstat command without any pre-configured scope.","commands":{"allow":[],"deny":["fstat"]}},"deny-ftruncate":{"identifier":"deny-ftruncate","description":"Denies the ftruncate command without any pre-configured scope.","commands":{"allow":[],"deny":["ftruncate"]}},"deny-lstat":{"identifier":"deny-lstat","description":"Denies the lstat command without any pre-configured scope.","commands":{"allow":[],"deny":["lstat"]}},"deny-mkdir":{"identifier":"deny-mkdir","description":"Denies the mkdir command without any pre-configured scope.","commands":{"allow":[],"deny":["mkdir"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-read":{"identifier":"deny-read","description":"Denies the read command without any pre-configured scope.","commands":{"allow":[],"deny":["read"]}},"deny-read-dir":{"identifier":"deny-read-dir","description":"Denies the read_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["read_dir"]}},"deny-read-file":{"identifier":"deny-read-file","description":"Denies the read_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_file"]}},"deny-read-text-file":{"identifier":"deny-read-text-file","description":"Denies the read_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file"]}},"deny-read-text-file-lines":{"identifier":"deny-read-text-file-lines","description":"Denies the read_text_file_lines command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines"]}},"deny-read-text-file-lines-next":{"identifier":"deny-read-text-file-lines-next","description":"Denies the read_text_file_lines_next command without any pre-configured scope.","commands":{"allow":[],"deny":["read_text_file_lines_next"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-rename":{"identifier":"deny-rename","description":"Denies the rename command without any pre-configured scope.","commands":{"allow":[],"deny":["rename"]}},"deny-seek":{"identifier":"deny-seek","description":"Denies the seek command without any pre-configured scope.","commands":{"allow":[],"deny":["seek"]}},"deny-stat":{"identifier":"deny-stat","description":"Denies the stat command without any pre-configured scope.","commands":{"allow":[],"deny":["stat"]}},"deny-truncate":{"identifier":"deny-truncate","description":"Denies the truncate command without any pre-configured scope.","commands":{"allow":[],"deny":["truncate"]}},"deny-unwatch":{"identifier":"deny-unwatch","description":"Denies the unwatch command without any pre-configured scope.","commands":{"allow":[],"deny":["unwatch"]}},"deny-watch":{"identifier":"deny-watch","description":"Denies the watch command without any pre-configured scope.","commands":{"allow":[],"deny":["watch"]}},"deny-webview-data-linux":{"identifier":"deny-webview-data-linux","description":"This denies read access to the\n`$APPLOCALDATA` folder on linux as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.","commands":{"allow":[],"deny":[]}},"deny-webview-data-windows":{"identifier":"deny-webview-data-windows","description":"This denies read access to the\n`$APPLOCALDATA/EBWebView` folder on windows as the webview data and configuration values are stored here.\nAllowing access can lead to sensitive information disclosure and should be well considered.","commands":{"allow":[],"deny":[]}},"deny-write":{"identifier":"deny-write","description":"Denies the write command without any pre-configured scope.","commands":{"allow":[],"deny":["write"]}},"deny-write-file":{"identifier":"deny-write-file","description":"Denies the write_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_file"]}},"deny-write-text-file":{"identifier":"deny-write-text-file","description":"Denies the write_text_file command without any pre-configured scope.","commands":{"allow":[],"deny":["write_text_file"]}},"read-all":{"identifier":"read-all","description":"This enables all read related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists","watch","unwatch"],"deny":[]}},"read-dirs":{"identifier":"read-dirs","description":"This enables directory read and file metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]}},"read-files":{"identifier":"read-files","description":"This enables file read related commands without any pre-configured accessible paths.","commands":{"allow":["read_file","read","open","read_text_file","read_text_file_lines","read_text_file_lines_next","seek","stat","lstat","fstat","exists"],"deny":[]}},"read-meta":{"identifier":"read-meta","description":"This enables all index or metadata related commands without any pre-configured accessible paths.","commands":{"allow":["read_dir","stat","lstat","fstat","exists"],"deny":[]}},"scope":{"identifier":"scope","description":"An empty permission you can use to modify the global scope.","commands":{"allow":[],"deny":[]}},"scope-app":{"identifier":"scope-app","description":"This scope permits access to all files and list content of top level directories in the `$APP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/*"}]}},"scope-app-index":{"identifier":"scope-app-index","description":"This scope permits to list all files and folders in the `$APP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/"}]}},"scope-app-recursive":{"identifier":"scope-app-recursive","description":"This scope recursive access to the complete `$APP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APP/**"}]}},"scope-appcache":{"identifier":"scope-appcache","description":"This scope permits access to all files and list content of top level directories in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/*"}]}},"scope-appcache-index":{"identifier":"scope-appcache-index","description":"This scope permits to list all files and folders in the `$APPCACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/"}]}},"scope-appcache-recursive":{"identifier":"scope-appcache-recursive","description":"This scope recursive access to the complete `$APPCACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCACHE/**"}]}},"scope-appconfig":{"identifier":"scope-appconfig","description":"This scope permits access to all files and list content of top level directories in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/*"}]}},"scope-appconfig-index":{"identifier":"scope-appconfig-index","description":"This scope permits to list all files and folders in the `$APPCONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/"}]}},"scope-appconfig-recursive":{"identifier":"scope-appconfig-recursive","description":"This scope recursive access to the complete `$APPCONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPCONFIG/**"}]}},"scope-appdata":{"identifier":"scope-appdata","description":"This scope permits access to all files and list content of top level directories in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/*"}]}},"scope-appdata-index":{"identifier":"scope-appdata-index","description":"This scope permits to list all files and folders in the `$APPDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/"}]}},"scope-appdata-recursive":{"identifier":"scope-appdata-recursive","description":"This scope recursive access to the complete `$APPDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPDATA/**"}]}},"scope-applocaldata":{"identifier":"scope-applocaldata","description":"This scope permits access to all files and list content of top level directories in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/*"}]}},"scope-applocaldata-index":{"identifier":"scope-applocaldata-index","description":"This scope permits to list all files and folders in the `$APPLOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/"}]}},"scope-applocaldata-recursive":{"identifier":"scope-applocaldata-recursive","description":"This scope recursive access to the complete `$APPLOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOCALDATA/**"}]}},"scope-applog":{"identifier":"scope-applog","description":"This scope permits access to all files and list content of top level directories in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/*"}]}},"scope-applog-index":{"identifier":"scope-applog-index","description":"This scope permits to list all files and folders in the `$APPLOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/"}]}},"scope-applog-recursive":{"identifier":"scope-applog-recursive","description":"This scope recursive access to the complete `$APPLOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$APPLOG/**"}]}},"scope-audio":{"identifier":"scope-audio","description":"This scope permits access to all files and list content of top level directories in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/*"}]}},"scope-audio-index":{"identifier":"scope-audio-index","description":"This scope permits to list all files and folders in the `$AUDIO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/"}]}},"scope-audio-recursive":{"identifier":"scope-audio-recursive","description":"This scope recursive access to the complete `$AUDIO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$AUDIO/**"}]}},"scope-cache":{"identifier":"scope-cache","description":"This scope permits access to all files and list content of top level directories in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/*"}]}},"scope-cache-index":{"identifier":"scope-cache-index","description":"This scope permits to list all files and folders in the `$CACHE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/"}]}},"scope-cache-recursive":{"identifier":"scope-cache-recursive","description":"This scope recursive access to the complete `$CACHE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CACHE/**"}]}},"scope-config":{"identifier":"scope-config","description":"This scope permits access to all files and list content of top level directories in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/*"}]}},"scope-config-index":{"identifier":"scope-config-index","description":"This scope permits to list all files and folders in the `$CONFIG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/"}]}},"scope-config-recursive":{"identifier":"scope-config-recursive","description":"This scope recursive access to the complete `$CONFIG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$CONFIG/**"}]}},"scope-data":{"identifier":"scope-data","description":"This scope permits access to all files and list content of top level directories in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/*"}]}},"scope-data-index":{"identifier":"scope-data-index","description":"This scope permits to list all files and folders in the `$DATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/"}]}},"scope-data-recursive":{"identifier":"scope-data-recursive","description":"This scope recursive access to the complete `$DATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DATA/**"}]}},"scope-desktop":{"identifier":"scope-desktop","description":"This scope permits access to all files and list content of top level directories in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/*"}]}},"scope-desktop-index":{"identifier":"scope-desktop-index","description":"This scope permits to list all files and folders in the `$DESKTOP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/"}]}},"scope-desktop-recursive":{"identifier":"scope-desktop-recursive","description":"This scope recursive access to the complete `$DESKTOP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DESKTOP/**"}]}},"scope-document":{"identifier":"scope-document","description":"This scope permits access to all files and list content of top level directories in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/*"}]}},"scope-document-index":{"identifier":"scope-document-index","description":"This scope permits to list all files and folders in the `$DOCUMENT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/"}]}},"scope-document-recursive":{"identifier":"scope-document-recursive","description":"This scope recursive access to the complete `$DOCUMENT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOCUMENT/**"}]}},"scope-download":{"identifier":"scope-download","description":"This scope permits access to all files and list content of top level directories in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/*"}]}},"scope-download-index":{"identifier":"scope-download-index","description":"This scope permits to list all files and folders in the `$DOWNLOAD`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/"}]}},"scope-download-recursive":{"identifier":"scope-download-recursive","description":"This scope recursive access to the complete `$DOWNLOAD` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$DOWNLOAD/**"}]}},"scope-exe":{"identifier":"scope-exe","description":"This scope permits access to all files and list content of top level directories in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/*"}]}},"scope-exe-index":{"identifier":"scope-exe-index","description":"This scope permits to list all files and folders in the `$EXE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/"}]}},"scope-exe-recursive":{"identifier":"scope-exe-recursive","description":"This scope recursive access to the complete `$EXE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$EXE/**"}]}},"scope-font":{"identifier":"scope-font","description":"This scope permits access to all files and list content of top level directories in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/*"}]}},"scope-font-index":{"identifier":"scope-font-index","description":"This scope permits to list all files and folders in the `$FONT`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/"}]}},"scope-font-recursive":{"identifier":"scope-font-recursive","description":"This scope recursive access to the complete `$FONT` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$FONT/**"}]}},"scope-home":{"identifier":"scope-home","description":"This scope permits access to all files and list content of top level directories in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/*"}]}},"scope-home-index":{"identifier":"scope-home-index","description":"This scope permits to list all files and folders in the `$HOME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/"}]}},"scope-home-recursive":{"identifier":"scope-home-recursive","description":"This scope recursive access to the complete `$HOME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$HOME/**"}]}},"scope-localdata":{"identifier":"scope-localdata","description":"This scope permits access to all files and list content of top level directories in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/*"}]}},"scope-localdata-index":{"identifier":"scope-localdata-index","description":"This scope permits to list all files and folders in the `$LOCALDATA`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/"}]}},"scope-localdata-recursive":{"identifier":"scope-localdata-recursive","description":"This scope recursive access to the complete `$LOCALDATA` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOCALDATA/**"}]}},"scope-log":{"identifier":"scope-log","description":"This scope permits access to all files and list content of top level directories in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/*"}]}},"scope-log-index":{"identifier":"scope-log-index","description":"This scope permits to list all files and folders in the `$LOG`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/"}]}},"scope-log-recursive":{"identifier":"scope-log-recursive","description":"This scope recursive access to the complete `$LOG` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$LOG/**"}]}},"scope-picture":{"identifier":"scope-picture","description":"This scope permits access to all files and list content of top level directories in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/*"}]}},"scope-picture-index":{"identifier":"scope-picture-index","description":"This scope permits to list all files and folders in the `$PICTURE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/"}]}},"scope-picture-recursive":{"identifier":"scope-picture-recursive","description":"This scope recursive access to the complete `$PICTURE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PICTURE/**"}]}},"scope-public":{"identifier":"scope-public","description":"This scope permits access to all files and list content of top level directories in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/*"}]}},"scope-public-index":{"identifier":"scope-public-index","description":"This scope permits to list all files and folders in the `$PUBLIC`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/"}]}},"scope-public-recursive":{"identifier":"scope-public-recursive","description":"This scope recursive access to the complete `$PUBLIC` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$PUBLIC/**"}]}},"scope-resource":{"identifier":"scope-resource","description":"This scope permits access to all files and list content of top level directories in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/*"}]}},"scope-resource-index":{"identifier":"scope-resource-index","description":"This scope permits to list all files and folders in the `$RESOURCE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/"}]}},"scope-resource-recursive":{"identifier":"scope-resource-recursive","description":"This scope recursive access to the complete `$RESOURCE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RESOURCE/**"}]}},"scope-runtime":{"identifier":"scope-runtime","description":"This scope permits access to all files and list content of top level directories in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/*"}]}},"scope-runtime-index":{"identifier":"scope-runtime-index","description":"This scope permits to list all files and folders in the `$RUNTIME`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/"}]}},"scope-runtime-recursive":{"identifier":"scope-runtime-recursive","description":"This scope recursive access to the complete `$RUNTIME` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$RUNTIME/**"}]}},"scope-temp":{"identifier":"scope-temp","description":"This scope permits access to all files and list content of top level directories in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/*"}]}},"scope-temp-index":{"identifier":"scope-temp-index","description":"This scope permits to list all files and folders in the `$TEMP`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/"}]}},"scope-temp-recursive":{"identifier":"scope-temp-recursive","description":"This scope recursive access to the complete `$TEMP` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMP/**"}]}},"scope-template":{"identifier":"scope-template","description":"This scope permits access to all files and list content of top level directories in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/*"}]}},"scope-template-index":{"identifier":"scope-template-index","description":"This scope permits to list all files and folders in the `$TEMPLATE`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/"}]}},"scope-template-recursive":{"identifier":"scope-template-recursive","description":"This scope recursive access to the complete `$TEMPLATE` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$TEMPLATE/**"}]}},"scope-video":{"identifier":"scope-video","description":"This scope permits access to all files and list content of top level directories in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/*"}]}},"scope-video-index":{"identifier":"scope-video-index","description":"This scope permits to list all files and folders in the `$VIDEO`folder.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/"}]}},"scope-video-recursive":{"identifier":"scope-video-recursive","description":"This scope recursive access to the complete `$VIDEO` folder, including sub directories and files.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"path":"$VIDEO/**"}]}},"write-all":{"identifier":"write-all","description":"This enables all write related commands without any pre-configured accessible paths.","commands":{"allow":["mkdir","create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}},"write-files":{"identifier":"write-files","description":"This enables all file write related commands without any pre-configured accessible paths.","commands":{"allow":["create","copy_file","remove","rename","truncate","ftruncate","write","write_file","write_text_file"],"deny":[]}}},"permission_sets":{"allow-app-meta":{"identifier":"allow-app-meta","description":"This allows read access to metadata of the `$APP` folder, including file listing and statistics.","permissions":["read-meta","scope-app-index"]},"allow-app-meta-recursive":{"identifier":"allow-app-meta-recursive","description":"This allows read access to metadata of the `$APP` folder, including file listing and statistics.","permissions":["read-meta","scope-app-recursive"]},"allow-app-read":{"identifier":"allow-app-read","description":"This allows non-recursive read access to the `$APP` folder.","permissions":["read-all","scope-app"]},"allow-app-read-recursive":{"identifier":"allow-app-read-recursive","description":"This allows full recursive read access to the complete `$APP` folder, files and subdirectories.","permissions":["read-all","scope-app-recursive"]},"allow-app-write":{"identifier":"allow-app-write","description":"This allows non-recursive write access to the `$APP` folder.","permissions":["write-all","scope-app"]},"allow-app-write-recursive":{"identifier":"allow-app-write-recursive","description":"This allows full recursive write access to the complete `$APP` folder, files and subdirectories.","permissions":["write-all","scope-app-recursive"]},"allow-appcache-meta":{"identifier":"allow-appcache-meta","description":"This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-index"]},"allow-appcache-meta-recursive":{"identifier":"allow-appcache-meta-recursive","description":"This allows read access to metadata of the `$APPCACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-appcache-recursive"]},"allow-appcache-read":{"identifier":"allow-appcache-read","description":"This allows non-recursive read access to the `$APPCACHE` folder.","permissions":["read-all","scope-appcache"]},"allow-appcache-read-recursive":{"identifier":"allow-appcache-read-recursive","description":"This allows full recursive read access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["read-all","scope-appcache-recursive"]},"allow-appcache-write":{"identifier":"allow-appcache-write","description":"This allows non-recursive write access to the `$APPCACHE` folder.","permissions":["write-all","scope-appcache"]},"allow-appcache-write-recursive":{"identifier":"allow-appcache-write-recursive","description":"This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.","permissions":["write-all","scope-appcache-recursive"]},"allow-appconfig-meta":{"identifier":"allow-appconfig-meta","description":"This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-index"]},"allow-appconfig-meta-recursive":{"identifier":"allow-appconfig-meta-recursive","description":"This allows read access to metadata of the `$APPCONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-appconfig-recursive"]},"allow-appconfig-read":{"identifier":"allow-appconfig-read","description":"This allows non-recursive read access to the `$APPCONFIG` folder.","permissions":["read-all","scope-appconfig"]},"allow-appconfig-read-recursive":{"identifier":"allow-appconfig-read-recursive","description":"This allows full recursive read access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["read-all","scope-appconfig-recursive"]},"allow-appconfig-write":{"identifier":"allow-appconfig-write","description":"This allows non-recursive write access to the `$APPCONFIG` folder.","permissions":["write-all","scope-appconfig"]},"allow-appconfig-write-recursive":{"identifier":"allow-appconfig-write-recursive","description":"This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.","permissions":["write-all","scope-appconfig-recursive"]},"allow-appdata-meta":{"identifier":"allow-appdata-meta","description":"This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-index"]},"allow-appdata-meta-recursive":{"identifier":"allow-appdata-meta-recursive","description":"This allows read access to metadata of the `$APPDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-appdata-recursive"]},"allow-appdata-read":{"identifier":"allow-appdata-read","description":"This allows non-recursive read access to the `$APPDATA` folder.","permissions":["read-all","scope-appdata"]},"allow-appdata-read-recursive":{"identifier":"allow-appdata-read-recursive","description":"This allows full recursive read access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["read-all","scope-appdata-recursive"]},"allow-appdata-write":{"identifier":"allow-appdata-write","description":"This allows non-recursive write access to the `$APPDATA` folder.","permissions":["write-all","scope-appdata"]},"allow-appdata-write-recursive":{"identifier":"allow-appdata-write-recursive","description":"This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.","permissions":["write-all","scope-appdata-recursive"]},"allow-applocaldata-meta":{"identifier":"allow-applocaldata-meta","description":"This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-index"]},"allow-applocaldata-meta-recursive":{"identifier":"allow-applocaldata-meta-recursive","description":"This allows read access to metadata of the `$APPLOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-applocaldata-recursive"]},"allow-applocaldata-read":{"identifier":"allow-applocaldata-read","description":"This allows non-recursive read access to the `$APPLOCALDATA` folder.","permissions":["read-all","scope-applocaldata"]},"allow-applocaldata-read-recursive":{"identifier":"allow-applocaldata-read-recursive","description":"This allows full recursive read access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-applocaldata-recursive"]},"allow-applocaldata-write":{"identifier":"allow-applocaldata-write","description":"This allows non-recursive write access to the `$APPLOCALDATA` folder.","permissions":["write-all","scope-applocaldata"]},"allow-applocaldata-write-recursive":{"identifier":"allow-applocaldata-write-recursive","description":"This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-applocaldata-recursive"]},"allow-applog-meta":{"identifier":"allow-applog-meta","description":"This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-index"]},"allow-applog-meta-recursive":{"identifier":"allow-applog-meta-recursive","description":"This allows read access to metadata of the `$APPLOG` folder, including file listing and statistics.","permissions":["read-meta","scope-applog-recursive"]},"allow-applog-read":{"identifier":"allow-applog-read","description":"This allows non-recursive read access to the `$APPLOG` folder.","permissions":["read-all","scope-applog"]},"allow-applog-read-recursive":{"identifier":"allow-applog-read-recursive","description":"This allows full recursive read access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["read-all","scope-applog-recursive"]},"allow-applog-write":{"identifier":"allow-applog-write","description":"This allows non-recursive write access to the `$APPLOG` folder.","permissions":["write-all","scope-applog"]},"allow-applog-write-recursive":{"identifier":"allow-applog-write-recursive","description":"This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.","permissions":["write-all","scope-applog-recursive"]},"allow-audio-meta":{"identifier":"allow-audio-meta","description":"This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-index"]},"allow-audio-meta-recursive":{"identifier":"allow-audio-meta-recursive","description":"This allows read access to metadata of the `$AUDIO` folder, including file listing and statistics.","permissions":["read-meta","scope-audio-recursive"]},"allow-audio-read":{"identifier":"allow-audio-read","description":"This allows non-recursive read access to the `$AUDIO` folder.","permissions":["read-all","scope-audio"]},"allow-audio-read-recursive":{"identifier":"allow-audio-read-recursive","description":"This allows full recursive read access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["read-all","scope-audio-recursive"]},"allow-audio-write":{"identifier":"allow-audio-write","description":"This allows non-recursive write access to the `$AUDIO` folder.","permissions":["write-all","scope-audio"]},"allow-audio-write-recursive":{"identifier":"allow-audio-write-recursive","description":"This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.","permissions":["write-all","scope-audio-recursive"]},"allow-cache-meta":{"identifier":"allow-cache-meta","description":"This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-index"]},"allow-cache-meta-recursive":{"identifier":"allow-cache-meta-recursive","description":"This allows read access to metadata of the `$CACHE` folder, including file listing and statistics.","permissions":["read-meta","scope-cache-recursive"]},"allow-cache-read":{"identifier":"allow-cache-read","description":"This allows non-recursive read access to the `$CACHE` folder.","permissions":["read-all","scope-cache"]},"allow-cache-read-recursive":{"identifier":"allow-cache-read-recursive","description":"This allows full recursive read access to the complete `$CACHE` folder, files and subdirectories.","permissions":["read-all","scope-cache-recursive"]},"allow-cache-write":{"identifier":"allow-cache-write","description":"This allows non-recursive write access to the `$CACHE` folder.","permissions":["write-all","scope-cache"]},"allow-cache-write-recursive":{"identifier":"allow-cache-write-recursive","description":"This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.","permissions":["write-all","scope-cache-recursive"]},"allow-config-meta":{"identifier":"allow-config-meta","description":"This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-index"]},"allow-config-meta-recursive":{"identifier":"allow-config-meta-recursive","description":"This allows read access to metadata of the `$CONFIG` folder, including file listing and statistics.","permissions":["read-meta","scope-config-recursive"]},"allow-config-read":{"identifier":"allow-config-read","description":"This allows non-recursive read access to the `$CONFIG` folder.","permissions":["read-all","scope-config"]},"allow-config-read-recursive":{"identifier":"allow-config-read-recursive","description":"This allows full recursive read access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["read-all","scope-config-recursive"]},"allow-config-write":{"identifier":"allow-config-write","description":"This allows non-recursive write access to the `$CONFIG` folder.","permissions":["write-all","scope-config"]},"allow-config-write-recursive":{"identifier":"allow-config-write-recursive","description":"This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.","permissions":["write-all","scope-config-recursive"]},"allow-data-meta":{"identifier":"allow-data-meta","description":"This allows read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-index"]},"allow-data-meta-recursive":{"identifier":"allow-data-meta-recursive","description":"This allows read access to metadata of the `$DATA` folder, including file listing and statistics.","permissions":["read-meta","scope-data-recursive"]},"allow-data-read":{"identifier":"allow-data-read","description":"This allows non-recursive read access to the `$DATA` folder.","permissions":["read-all","scope-data"]},"allow-data-read-recursive":{"identifier":"allow-data-read-recursive","description":"This allows full recursive read access to the complete `$DATA` folder, files and subdirectories.","permissions":["read-all","scope-data-recursive"]},"allow-data-write":{"identifier":"allow-data-write","description":"This allows non-recursive write access to the `$DATA` folder.","permissions":["write-all","scope-data"]},"allow-data-write-recursive":{"identifier":"allow-data-write-recursive","description":"This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.","permissions":["write-all","scope-data-recursive"]},"allow-desktop-meta":{"identifier":"allow-desktop-meta","description":"This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-index"]},"allow-desktop-meta-recursive":{"identifier":"allow-desktop-meta-recursive","description":"This allows read access to metadata of the `$DESKTOP` folder, including file listing and statistics.","permissions":["read-meta","scope-desktop-recursive"]},"allow-desktop-read":{"identifier":"allow-desktop-read","description":"This allows non-recursive read access to the `$DESKTOP` folder.","permissions":["read-all","scope-desktop"]},"allow-desktop-read-recursive":{"identifier":"allow-desktop-read-recursive","description":"This allows full recursive read access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["read-all","scope-desktop-recursive"]},"allow-desktop-write":{"identifier":"allow-desktop-write","description":"This allows non-recursive write access to the `$DESKTOP` folder.","permissions":["write-all","scope-desktop"]},"allow-desktop-write-recursive":{"identifier":"allow-desktop-write-recursive","description":"This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.","permissions":["write-all","scope-desktop-recursive"]},"allow-document-meta":{"identifier":"allow-document-meta","description":"This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-index"]},"allow-document-meta-recursive":{"identifier":"allow-document-meta-recursive","description":"This allows read access to metadata of the `$DOCUMENT` folder, including file listing and statistics.","permissions":["read-meta","scope-document-recursive"]},"allow-document-read":{"identifier":"allow-document-read","description":"This allows non-recursive read access to the `$DOCUMENT` folder.","permissions":["read-all","scope-document"]},"allow-document-read-recursive":{"identifier":"allow-document-read-recursive","description":"This allows full recursive read access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["read-all","scope-document-recursive"]},"allow-document-write":{"identifier":"allow-document-write","description":"This allows non-recursive write access to the `$DOCUMENT` folder.","permissions":["write-all","scope-document"]},"allow-document-write-recursive":{"identifier":"allow-document-write-recursive","description":"This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.","permissions":["write-all","scope-document-recursive"]},"allow-download-meta":{"identifier":"allow-download-meta","description":"This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-index"]},"allow-download-meta-recursive":{"identifier":"allow-download-meta-recursive","description":"This allows read access to metadata of the `$DOWNLOAD` folder, including file listing and statistics.","permissions":["read-meta","scope-download-recursive"]},"allow-download-read":{"identifier":"allow-download-read","description":"This allows non-recursive read access to the `$DOWNLOAD` folder.","permissions":["read-all","scope-download"]},"allow-download-read-recursive":{"identifier":"allow-download-read-recursive","description":"This allows full recursive read access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["read-all","scope-download-recursive"]},"allow-download-write":{"identifier":"allow-download-write","description":"This allows non-recursive write access to the `$DOWNLOAD` folder.","permissions":["write-all","scope-download"]},"allow-download-write-recursive":{"identifier":"allow-download-write-recursive","description":"This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.","permissions":["write-all","scope-download-recursive"]},"allow-exe-meta":{"identifier":"allow-exe-meta","description":"This allows read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-index"]},"allow-exe-meta-recursive":{"identifier":"allow-exe-meta-recursive","description":"This allows read access to metadata of the `$EXE` folder, including file listing and statistics.","permissions":["read-meta","scope-exe-recursive"]},"allow-exe-read":{"identifier":"allow-exe-read","description":"This allows non-recursive read access to the `$EXE` folder.","permissions":["read-all","scope-exe"]},"allow-exe-read-recursive":{"identifier":"allow-exe-read-recursive","description":"This allows full recursive read access to the complete `$EXE` folder, files and subdirectories.","permissions":["read-all","scope-exe-recursive"]},"allow-exe-write":{"identifier":"allow-exe-write","description":"This allows non-recursive write access to the `$EXE` folder.","permissions":["write-all","scope-exe"]},"allow-exe-write-recursive":{"identifier":"allow-exe-write-recursive","description":"This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.","permissions":["write-all","scope-exe-recursive"]},"allow-font-meta":{"identifier":"allow-font-meta","description":"This allows read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-index"]},"allow-font-meta-recursive":{"identifier":"allow-font-meta-recursive","description":"This allows read access to metadata of the `$FONT` folder, including file listing and statistics.","permissions":["read-meta","scope-font-recursive"]},"allow-font-read":{"identifier":"allow-font-read","description":"This allows non-recursive read access to the `$FONT` folder.","permissions":["read-all","scope-font"]},"allow-font-read-recursive":{"identifier":"allow-font-read-recursive","description":"This allows full recursive read access to the complete `$FONT` folder, files and subdirectories.","permissions":["read-all","scope-font-recursive"]},"allow-font-write":{"identifier":"allow-font-write","description":"This allows non-recursive write access to the `$FONT` folder.","permissions":["write-all","scope-font"]},"allow-font-write-recursive":{"identifier":"allow-font-write-recursive","description":"This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.","permissions":["write-all","scope-font-recursive"]},"allow-home-meta":{"identifier":"allow-home-meta","description":"This allows read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-index"]},"allow-home-meta-recursive":{"identifier":"allow-home-meta-recursive","description":"This allows read access to metadata of the `$HOME` folder, including file listing and statistics.","permissions":["read-meta","scope-home-recursive"]},"allow-home-read":{"identifier":"allow-home-read","description":"This allows non-recursive read access to the `$HOME` folder.","permissions":["read-all","scope-home"]},"allow-home-read-recursive":{"identifier":"allow-home-read-recursive","description":"This allows full recursive read access to the complete `$HOME` folder, files and subdirectories.","permissions":["read-all","scope-home-recursive"]},"allow-home-write":{"identifier":"allow-home-write","description":"This allows non-recursive write access to the `$HOME` folder.","permissions":["write-all","scope-home"]},"allow-home-write-recursive":{"identifier":"allow-home-write-recursive","description":"This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.","permissions":["write-all","scope-home-recursive"]},"allow-localdata-meta":{"identifier":"allow-localdata-meta","description":"This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-index"]},"allow-localdata-meta-recursive":{"identifier":"allow-localdata-meta-recursive","description":"This allows read access to metadata of the `$LOCALDATA` folder, including file listing and statistics.","permissions":["read-meta","scope-localdata-recursive"]},"allow-localdata-read":{"identifier":"allow-localdata-read","description":"This allows non-recursive read access to the `$LOCALDATA` folder.","permissions":["read-all","scope-localdata"]},"allow-localdata-read-recursive":{"identifier":"allow-localdata-read-recursive","description":"This allows full recursive read access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["read-all","scope-localdata-recursive"]},"allow-localdata-write":{"identifier":"allow-localdata-write","description":"This allows non-recursive write access to the `$LOCALDATA` folder.","permissions":["write-all","scope-localdata"]},"allow-localdata-write-recursive":{"identifier":"allow-localdata-write-recursive","description":"This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.","permissions":["write-all","scope-localdata-recursive"]},"allow-log-meta":{"identifier":"allow-log-meta","description":"This allows read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-index"]},"allow-log-meta-recursive":{"identifier":"allow-log-meta-recursive","description":"This allows read access to metadata of the `$LOG` folder, including file listing and statistics.","permissions":["read-meta","scope-log-recursive"]},"allow-log-read":{"identifier":"allow-log-read","description":"This allows non-recursive read access to the `$LOG` folder.","permissions":["read-all","scope-log"]},"allow-log-read-recursive":{"identifier":"allow-log-read-recursive","description":"This allows full recursive read access to the complete `$LOG` folder, files and subdirectories.","permissions":["read-all","scope-log-recursive"]},"allow-log-write":{"identifier":"allow-log-write","description":"This allows non-recursive write access to the `$LOG` folder.","permissions":["write-all","scope-log"]},"allow-log-write-recursive":{"identifier":"allow-log-write-recursive","description":"This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.","permissions":["write-all","scope-log-recursive"]},"allow-picture-meta":{"identifier":"allow-picture-meta","description":"This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-index"]},"allow-picture-meta-recursive":{"identifier":"allow-picture-meta-recursive","description":"This allows read access to metadata of the `$PICTURE` folder, including file listing and statistics.","permissions":["read-meta","scope-picture-recursive"]},"allow-picture-read":{"identifier":"allow-picture-read","description":"This allows non-recursive read access to the `$PICTURE` folder.","permissions":["read-all","scope-picture"]},"allow-picture-read-recursive":{"identifier":"allow-picture-read-recursive","description":"This allows full recursive read access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["read-all","scope-picture-recursive"]},"allow-picture-write":{"identifier":"allow-picture-write","description":"This allows non-recursive write access to the `$PICTURE` folder.","permissions":["write-all","scope-picture"]},"allow-picture-write-recursive":{"identifier":"allow-picture-write-recursive","description":"This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.","permissions":["write-all","scope-picture-recursive"]},"allow-public-meta":{"identifier":"allow-public-meta","description":"This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-index"]},"allow-public-meta-recursive":{"identifier":"allow-public-meta-recursive","description":"This allows read access to metadata of the `$PUBLIC` folder, including file listing and statistics.","permissions":["read-meta","scope-public-recursive"]},"allow-public-read":{"identifier":"allow-public-read","description":"This allows non-recursive read access to the `$PUBLIC` folder.","permissions":["read-all","scope-public"]},"allow-public-read-recursive":{"identifier":"allow-public-read-recursive","description":"This allows full recursive read access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["read-all","scope-public-recursive"]},"allow-public-write":{"identifier":"allow-public-write","description":"This allows non-recursive write access to the `$PUBLIC` folder.","permissions":["write-all","scope-public"]},"allow-public-write-recursive":{"identifier":"allow-public-write-recursive","description":"This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.","permissions":["write-all","scope-public-recursive"]},"allow-resource-meta":{"identifier":"allow-resource-meta","description":"This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-index"]},"allow-resource-meta-recursive":{"identifier":"allow-resource-meta-recursive","description":"This allows read access to metadata of the `$RESOURCE` folder, including file listing and statistics.","permissions":["read-meta","scope-resource-recursive"]},"allow-resource-read":{"identifier":"allow-resource-read","description":"This allows non-recursive read access to the `$RESOURCE` folder.","permissions":["read-all","scope-resource"]},"allow-resource-read-recursive":{"identifier":"allow-resource-read-recursive","description":"This allows full recursive read access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["read-all","scope-resource-recursive"]},"allow-resource-write":{"identifier":"allow-resource-write","description":"This allows non-recursive write access to the `$RESOURCE` folder.","permissions":["write-all","scope-resource"]},"allow-resource-write-recursive":{"identifier":"allow-resource-write-recursive","description":"This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.","permissions":["write-all","scope-resource-recursive"]},"allow-runtime-meta":{"identifier":"allow-runtime-meta","description":"This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-index"]},"allow-runtime-meta-recursive":{"identifier":"allow-runtime-meta-recursive","description":"This allows read access to metadata of the `$RUNTIME` folder, including file listing and statistics.","permissions":["read-meta","scope-runtime-recursive"]},"allow-runtime-read":{"identifier":"allow-runtime-read","description":"This allows non-recursive read access to the `$RUNTIME` folder.","permissions":["read-all","scope-runtime"]},"allow-runtime-read-recursive":{"identifier":"allow-runtime-read-recursive","description":"This allows full recursive read access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["read-all","scope-runtime-recursive"]},"allow-runtime-write":{"identifier":"allow-runtime-write","description":"This allows non-recursive write access to the `$RUNTIME` folder.","permissions":["write-all","scope-runtime"]},"allow-runtime-write-recursive":{"identifier":"allow-runtime-write-recursive","description":"This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.","permissions":["write-all","scope-runtime-recursive"]},"allow-temp-meta":{"identifier":"allow-temp-meta","description":"This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-index"]},"allow-temp-meta-recursive":{"identifier":"allow-temp-meta-recursive","description":"This allows read access to metadata of the `$TEMP` folder, including file listing and statistics.","permissions":["read-meta","scope-temp-recursive"]},"allow-temp-read":{"identifier":"allow-temp-read","description":"This allows non-recursive read access to the `$TEMP` folder.","permissions":["read-all","scope-temp"]},"allow-temp-read-recursive":{"identifier":"allow-temp-read-recursive","description":"This allows full recursive read access to the complete `$TEMP` folder, files and subdirectories.","permissions":["read-all","scope-temp-recursive"]},"allow-temp-write":{"identifier":"allow-temp-write","description":"This allows non-recursive write access to the `$TEMP` folder.","permissions":["write-all","scope-temp"]},"allow-temp-write-recursive":{"identifier":"allow-temp-write-recursive","description":"This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.","permissions":["write-all","scope-temp-recursive"]},"allow-template-meta":{"identifier":"allow-template-meta","description":"This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-index"]},"allow-template-meta-recursive":{"identifier":"allow-template-meta-recursive","description":"This allows read access to metadata of the `$TEMPLATE` folder, including file listing and statistics.","permissions":["read-meta","scope-template-recursive"]},"allow-template-read":{"identifier":"allow-template-read","description":"This allows non-recursive read access to the `$TEMPLATE` folder.","permissions":["read-all","scope-template"]},"allow-template-read-recursive":{"identifier":"allow-template-read-recursive","description":"This allows full recursive read access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["read-all","scope-template-recursive"]},"allow-template-write":{"identifier":"allow-template-write","description":"This allows non-recursive write access to the `$TEMPLATE` folder.","permissions":["write-all","scope-template"]},"allow-template-write-recursive":{"identifier":"allow-template-write-recursive","description":"This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.","permissions":["write-all","scope-template-recursive"]},"allow-video-meta":{"identifier":"allow-video-meta","description":"This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-index"]},"allow-video-meta-recursive":{"identifier":"allow-video-meta-recursive","description":"This allows read access to metadata of the `$VIDEO` folder, including file listing and statistics.","permissions":["read-meta","scope-video-recursive"]},"allow-video-read":{"identifier":"allow-video-read","description":"This allows non-recursive read access to the `$VIDEO` folder.","permissions":["read-all","scope-video"]},"allow-video-read-recursive":{"identifier":"allow-video-read-recursive","description":"This allows full recursive read access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["read-all","scope-video-recursive"]},"allow-video-write":{"identifier":"allow-video-write","description":"This allows non-recursive write access to the `$VIDEO` folder.","permissions":["write-all","scope-video"]},"allow-video-write-recursive":{"identifier":"allow-video-write-recursive","description":"This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.","permissions":["write-all","scope-video-recursive"]},"deny-default":{"identifier":"deny-default","description":"This denies access to dangerous Tauri relevant files and folders by default.","permissions":["deny-webview-data-linux","deny-webview-data-windows"]}},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"FS scope path.","type":"string"},{"properties":{"path":{"description":"FS scope path.","type":"string"}},"required":["path"],"type":"object"}],"description":"FS scope entry.","title":"FsScopeEntry"}},"http":{"default_permission":{"identifier":"default","description":"Allows all fetch operations","permissions":["allow-fetch","allow-fetch-cancel","allow-fetch-read-body","allow-fetch-send"]},"permissions":{"allow-fetch":{"identifier":"allow-fetch","description":"Enables the fetch command without any pre-configured scope.","commands":{"allow":["fetch"],"deny":[]}},"allow-fetch-cancel":{"identifier":"allow-fetch-cancel","description":"Enables the fetch_cancel command without any pre-configured scope.","commands":{"allow":["fetch_cancel"],"deny":[]}},"allow-fetch-read-body":{"identifier":"allow-fetch-read-body","description":"Enables the fetch_read_body command without any pre-configured scope.","commands":{"allow":["fetch_read_body"],"deny":[]}},"allow-fetch-send":{"identifier":"allow-fetch-send","description":"Enables the fetch_send command without any pre-configured scope.","commands":{"allow":["fetch_send"],"deny":[]}},"deny-fetch":{"identifier":"deny-fetch","description":"Denies the fetch command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch"]}},"deny-fetch-cancel":{"identifier":"deny-fetch-cancel","description":"Denies the fetch_cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_cancel"]}},"deny-fetch-read-body":{"identifier":"deny-fetch-read-body","description":"Denies the fetch_read_body command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_read_body"]}},"deny-fetch-send":{"identifier":"deny-fetch-send","description":"Denies the fetch_send command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_send"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"},{"properties":{"url":{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"}},"required":["url"],"type":"object"}],"description":"HTTP scope entry.","title":"HttpScopeEntry"}},"image":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-new","allow-from-bytes","allow-from-path","allow-rgba","allow-size"]},"permissions":{"allow-from-bytes":{"identifier":"allow-from-bytes","description":"Enables the from_bytes command without any pre-configured scope.","commands":{"allow":["from_bytes"],"deny":[]}},"allow-from-path":{"identifier":"allow-from-path","description":"Enables the from_path command without any pre-configured scope.","commands":{"allow":["from_path"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-rgba":{"identifier":"allow-rgba","description":"Enables the rgba command without any pre-configured scope.","commands":{"allow":["rgba"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"deny-from-bytes":{"identifier":"deny-from-bytes","description":"Denies the from_bytes command without any pre-configured scope.","commands":{"allow":[],"deny":["from_bytes"]}},"deny-from-path":{"identifier":"deny-from-path","description":"Denies the from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["from_path"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-rgba":{"identifier":"deny-rgba","description":"Denies the rgba command without any pre-configured scope.","commands":{"allow":[],"deny":["rgba"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}}},"permission_sets":{},"global_scope_schema":null},"menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":[]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"notification":{"default_permission":{"identifier":"default","description":"Allows requesting permission, checking permission state and sending notifications","permissions":["allow-is-permission-granted","allow-request-permission","allow-notify"]},"permissions":{"allow-is-permission-granted":{"identifier":"allow-is-permission-granted","description":"Enables the is_permission_granted command without any pre-configured scope.","commands":{"allow":["is_permission_granted"],"deny":[]}},"allow-notify":{"identifier":"allow-notify","description":"Enables the notify command without any pre-configured scope.","commands":{"allow":["notify"],"deny":[]}},"allow-request-permission":{"identifier":"allow-request-permission","description":"Enables the request_permission command without any pre-configured scope.","commands":{"allow":["request_permission"],"deny":[]}},"deny-is-permission-granted":{"identifier":"deny-is-permission-granted","description":"Denies the is_permission_granted command without any pre-configured scope.","commands":{"allow":[],"deny":["is_permission_granted"]}},"deny-notify":{"identifier":"deny-notify","description":"Denies the notify command without any pre-configured scope.","commands":{"allow":[],"deny":["notify"]}},"deny-request-permission":{"identifier":"deny-request-permission","description":"Denies the request_permission command without any pre-configured scope.","commands":{"allow":[],"deny":["request_permission"]}}},"permission_sets":{},"global_scope_schema":null},"os":{"default_permission":null,"permissions":{"allow-arch":{"identifier":"allow-arch","description":"Enables the arch command without any pre-configured scope.","commands":{"allow":["arch"],"deny":[]}},"allow-exe-extension":{"identifier":"allow-exe-extension","description":"Enables the exe_extension command without any pre-configured scope.","commands":{"allow":["exe_extension"],"deny":[]}},"allow-family":{"identifier":"allow-family","description":"Enables the family command without any pre-configured scope.","commands":{"allow":["family"],"deny":[]}},"allow-hostname":{"identifier":"allow-hostname","description":"Enables the hostname command without any pre-configured scope.","commands":{"allow":["hostname"],"deny":[]}},"allow-locale":{"identifier":"allow-locale","description":"Enables the locale command without any pre-configured scope.","commands":{"allow":["locale"],"deny":[]}},"allow-os-type":{"identifier":"allow-os-type","description":"Enables the os_type command without any pre-configured scope.","commands":{"allow":["os_type"],"deny":[]}},"allow-platform":{"identifier":"allow-platform","description":"Enables the platform command without any pre-configured scope.","commands":{"allow":["platform"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-arch":{"identifier":"deny-arch","description":"Denies the arch command without any pre-configured scope.","commands":{"allow":[],"deny":["arch"]}},"deny-exe-extension":{"identifier":"deny-exe-extension","description":"Denies the exe_extension command without any pre-configured scope.","commands":{"allow":[],"deny":["exe_extension"]}},"deny-family":{"identifier":"deny-family","description":"Denies the family command without any pre-configured scope.","commands":{"allow":[],"deny":["family"]}},"deny-hostname":{"identifier":"deny-hostname","description":"Denies the hostname command without any pre-configured scope.","commands":{"allow":[],"deny":["hostname"]}},"deny-locale":{"identifier":"deny-locale","description":"Denies the locale command without any pre-configured scope.","commands":{"allow":[],"deny":["locale"]}},"deny-os-type":{"identifier":"deny-os-type","description":"Denies the os_type command without any pre-configured scope.","commands":{"allow":[],"deny":["os_type"]}},"deny-platform":{"identifier":"deny-platform","description":"Denies the platform command without any pre-configured scope.","commands":{"allow":[],"deny":["platform"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"process":{"default_permission":null,"permissions":{"allow-exit":{"identifier":"allow-exit","description":"Enables the exit command without any pre-configured scope.","commands":{"allow":["exit"],"deny":[]}},"allow-restart":{"identifier":"allow-restart","description":"Enables the restart command without any pre-configured scope.","commands":{"allow":["restart"],"deny":[]}},"deny-exit":{"identifier":"deny-exit","description":"Denies the exit command without any pre-configured scope.","commands":{"allow":[],"deny":["exit"]}},"deny-restart":{"identifier":"deny-restart","description":"Denies the restart command without any pre-configured scope.","commands":{"allow":[],"deny":["restart"]}}},"permission_sets":{},"global_scope_schema":null},"resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":null,"permissions":{"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-kill":{"identifier":"allow-kill","description":"Enables the kill command without any pre-configured scope.","commands":{"allow":["kill"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-stdin-write":{"identifier":"allow-stdin-write","description":"Enables the stdin_write command without any pre-configured scope.","commands":{"allow":["stdin_write"],"deny":[]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-kill":{"identifier":"deny-kill","description":"Denies the kill command without any pre-configured scope.","commands":{"allow":[],"deny":["kill"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-stdin-write":{"identifier":"deny-stdin-write","description":"Denies the stdin_write command without any pre-configured scope.","commands":{"allow":[],"deny":["stdin_write"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","definitions":{"ShellAllowedArg":{"anyOf":[{"description":"A non-configurable argument that is passed to the command in the order it was specified.","type":"string"},{"additionalProperties":false,"description":"A variable that is set while calling the command from the webview API.","properties":{"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\n[regex]: https://docs.rs/regex/latest/regex/#syntax","type":"string"}},"required":["validator"],"type":"object"}],"description":"A command argument allowed to be executed by the webview API."},"ShellAllowedArgs":{"anyOf":[{"description":"Use a simple boolean to allow all or disable all arguments to this command configuration.","type":"boolean"},{"description":"A specific set of [`ShellAllowedArg`] that are valid to call for the command configuration.","items":{"$ref":"#/definitions/ShellAllowedArg"},"type":"array"}],"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration."}},"description":"A command allowed to be executed by the webview API.","properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellAllowedArgs"}],"description":"The allowed arguments for the command execution."},"cmd":{"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"},"sidecar":{"description":"If this command is a sidecar command.","type":"boolean"}},"required":["args","cmd","name","sidecar"],"title":"Entry","type":"object"}},"store":{"default_permission":null,"permissions":{"allow-clear":{"identifier":"allow-clear","description":"Enables the clear command without any pre-configured scope.","commands":{"allow":["clear"],"deny":[]}},"allow-delete":{"identifier":"allow-delete","description":"Enables the delete command without any pre-configured scope.","commands":{"allow":["delete"],"deny":[]}},"allow-entries":{"identifier":"allow-entries","description":"Enables the entries command without any pre-configured scope.","commands":{"allow":["entries"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-has":{"identifier":"allow-has","description":"Enables the has command without any pre-configured scope.","commands":{"allow":["has"],"deny":[]}},"allow-keys":{"identifier":"allow-keys","description":"Enables the keys command without any pre-configured scope.","commands":{"allow":["keys"],"deny":[]}},"allow-length":{"identifier":"allow-length","description":"Enables the length command without any pre-configured scope.","commands":{"allow":["length"],"deny":[]}},"allow-load":{"identifier":"allow-load","description":"Enables the load command without any pre-configured scope.","commands":{"allow":["load"],"deny":[]}},"allow-reset":{"identifier":"allow-reset","description":"Enables the reset command without any pre-configured scope.","commands":{"allow":["reset"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"allow-set":{"identifier":"allow-set","description":"Enables the set command without any pre-configured scope.","commands":{"allow":["set"],"deny":[]}},"allow-values":{"identifier":"allow-values","description":"Enables the values command without any pre-configured scope.","commands":{"allow":["values"],"deny":[]}},"deny-clear":{"identifier":"deny-clear","description":"Denies the clear command without any pre-configured scope.","commands":{"allow":[],"deny":["clear"]}},"deny-delete":{"identifier":"deny-delete","description":"Denies the delete command without any pre-configured scope.","commands":{"allow":[],"deny":["delete"]}},"deny-entries":{"identifier":"deny-entries","description":"Denies the entries command without any pre-configured scope.","commands":{"allow":[],"deny":["entries"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-has":{"identifier":"deny-has","description":"Denies the has command without any pre-configured scope.","commands":{"allow":[],"deny":["has"]}},"deny-keys":{"identifier":"deny-keys","description":"Denies the keys command without any pre-configured scope.","commands":{"allow":[],"deny":["keys"]}},"deny-length":{"identifier":"deny-length","description":"Denies the length command without any pre-configured scope.","commands":{"allow":[],"deny":["length"]}},"deny-load":{"identifier":"deny-load","description":"Denies the load command without any pre-configured scope.","commands":{"allow":[],"deny":["load"]}},"deny-reset":{"identifier":"deny-reset","description":"Denies the reset command without any pre-configured scope.","commands":{"allow":[],"deny":["reset"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}},"deny-set":{"identifier":"deny-set","description":"Denies the set command without any pre-configured scope.","commands":{"allow":[],"deny":["set"]}},"deny-values":{"identifier":"deny-values","description":"Denies the values command without any pre-configured scope.","commands":{"allow":[],"deny":["values"]}}},"permission_sets":{},"global_scope_schema":null},"tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":[]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"updater":{"default_permission":{"identifier":"default","description":"Allows checking for new updates and installing them","permissions":["allow-check","allow-download-and-install"]},"permissions":{"allow-check":{"identifier":"allow-check","description":"Enables the check command without any pre-configured scope.","commands":{"allow":["check"],"deny":[]}},"allow-download-and-install":{"identifier":"allow-download-and-install","description":"Enables the download_and_install command without any pre-configured scope.","commands":{"allow":["download_and_install"],"deny":[]}},"deny-check":{"identifier":"deny-check","description":"Denies the check command without any pre-configured scope.","commands":{"allow":[],"deny":["check"]}},"deny-download-and-install":{"identifier":"deny-download-and-install","description":"Denies the download_and_install command without any pre-configured scope.","commands":{"allow":[],"deny":["download_and_install"]}}},"permission_sets":{},"global_scope_schema":null},"upload":{"default_permission":null,"permissions":{"allow-download":{"identifier":"allow-download","description":"Enables the download command without any pre-configured scope.","commands":{"allow":["download"],"deny":[]}},"allow-upload":{"identifier":"allow-upload","description":"Enables the upload command without any pre-configured scope.","commands":{"allow":["upload"],"deny":[]}},"deny-download":{"identifier":"deny-download","description":"Denies the download command without any pre-configured scope.","commands":{"allow":[],"deny":["download"]}},"deny-upload":{"identifier":"deny-upload","description":"Denies the upload command without any pre-configured scope.","commands":{"allow":[],"deny":["upload"]}}},"permission_sets":{},"global_scope_schema":null},"webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-focus":{"identifier":"allow-set-webview-focus","description":"Enables the set_webview_focus command without any pre-configured scope.","commands":{"allow":["set_webview_focus"],"deny":[]}},"allow-set-webview-position":{"identifier":"allow-set-webview-position","description":"Enables the set_webview_position command without any pre-configured scope.","commands":{"allow":["set_webview_position"],"deny":[]}},"allow-set-webview-size":{"identifier":"allow-set-webview-size","description":"Enables the set_webview_size command without any pre-configured scope.","commands":{"allow":["set_webview_size"],"deny":[]}},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]}},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]}},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]}},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]}},"deny-create-webview-window":{"identifier":"deny-create-webview-window","description":"Denies the create_webview_window command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview_window"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-focus":{"identifier":"deny-set-webview-focus","description":"Denies the set_webview_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_focus"]}},"deny-set-webview-position":{"identifier":"deny-set-webview-position","description":"Denies the set_webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_position"]}},"deny-set-webview-size":{"identifier":"deny-set-webview-size","description":"Denies the set_webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_size"]}},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]}},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]}},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]}}},"permission_sets":{},"global_scope_schema":null},"window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-title","allow-current-monitor","allow-primary-monitor","allow-available-monitors","allow-theme","allow-internal-toggle-maximize"]},"permissions":{"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]}},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]}},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]}},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]}},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]}},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]}},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]}},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]}},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]}},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]}},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]}},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]}},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]}},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]}},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]}},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]}},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]}},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]}},"allow-request-user-attention":{"identifier":"allow-request-user-attention","description":"Enables the request_user_attention command without any pre-configured scope.","commands":{"allow":["request_user_attention"],"deny":[]}},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]}},"allow-set-always-on-bottom":{"identifier":"allow-set-always-on-bottom","description":"Enables the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":["set_always_on_bottom"],"deny":[]}},"allow-set-always-on-top":{"identifier":"allow-set-always-on-top","description":"Enables the set_always_on_top command without any pre-configured scope.","commands":{"allow":["set_always_on_top"],"deny":[]}},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]}},"allow-set-content-protected":{"identifier":"allow-set-content-protected","description":"Enables the set_content_protected command without any pre-configured scope.","commands":{"allow":["set_content_protected"],"deny":[]}},"allow-set-cursor-grab":{"identifier":"allow-set-cursor-grab","description":"Enables the set_cursor_grab command without any pre-configured scope.","commands":{"allow":["set_cursor_grab"],"deny":[]}},"allow-set-cursor-icon":{"identifier":"allow-set-cursor-icon","description":"Enables the set_cursor_icon command without any pre-configured scope.","commands":{"allow":["set_cursor_icon"],"deny":[]}},"allow-set-cursor-position":{"identifier":"allow-set-cursor-position","description":"Enables the set_cursor_position command without any pre-configured scope.","commands":{"allow":["set_cursor_position"],"deny":[]}},"allow-set-cursor-visible":{"identifier":"allow-set-cursor-visible","description":"Enables the set_cursor_visible command without any pre-configured scope.","commands":{"allow":["set_cursor_visible"],"deny":[]}},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]}},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]}},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]}},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-ignore-cursor-events":{"identifier":"allow-set-ignore-cursor-events","description":"Enables the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":["set_ignore_cursor_events"],"deny":[]}},"allow-set-max-size":{"identifier":"allow-set-max-size","description":"Enables the set_max_size command without any pre-configured scope.","commands":{"allow":["set_max_size"],"deny":[]}},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]}},"allow-set-min-size":{"identifier":"allow-set-min-size","description":"Enables the set_min_size command without any pre-configured scope.","commands":{"allow":["set_min_size"],"deny":[]}},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]}},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]}},"allow-set-progress-bar":{"identifier":"allow-set-progress-bar","description":"Enables the set_progress_bar command without any pre-configured scope.","commands":{"allow":["set_progress_bar"],"deny":[]}},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]}},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]}},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]}},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]}},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]}},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]}},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]}},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]}},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]}},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]}},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]}},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]}},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]}},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]}},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]}},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]}},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]}},"deny-request-user-attention":{"identifier":"deny-request-user-attention","description":"Denies the request_user_attention command without any pre-configured scope.","commands":{"allow":[],"deny":["request_user_attention"]}},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]}},"deny-set-always-on-bottom":{"identifier":"deny-set-always-on-bottom","description":"Denies the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_bottom"]}},"deny-set-always-on-top":{"identifier":"deny-set-always-on-top","description":"Denies the set_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_top"]}},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]}},"deny-set-content-protected":{"identifier":"deny-set-content-protected","description":"Denies the set_content_protected command without any pre-configured scope.","commands":{"allow":[],"deny":["set_content_protected"]}},"deny-set-cursor-grab":{"identifier":"deny-set-cursor-grab","description":"Denies the set_cursor_grab command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_grab"]}},"deny-set-cursor-icon":{"identifier":"deny-set-cursor-icon","description":"Denies the set_cursor_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_icon"]}},"deny-set-cursor-position":{"identifier":"deny-set-cursor-position","description":"Denies the set_cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_position"]}},"deny-set-cursor-visible":{"identifier":"deny-set-cursor-visible","description":"Denies the set_cursor_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_visible"]}},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]}},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]}},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]}},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-ignore-cursor-events":{"identifier":"deny-set-ignore-cursor-events","description":"Denies the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":[],"deny":["set_ignore_cursor_events"]}},"deny-set-max-size":{"identifier":"deny-set-max-size","description":"Denies the set_max_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_max_size"]}},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]}},"deny-set-min-size":{"identifier":"deny-set-min-size","description":"Denies the set_min_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_min_size"]}},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]}},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]}},"deny-set-progress-bar":{"identifier":"deny-set-progress-bar","description":"Denies the set_progress_bar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_progress_bar"]}},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]}},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]}},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"window-state":{"default_permission":null,"permissions":{"allow-restore-window-state":{"identifier":"allow-restore-window-state","description":"Enables the restore_window_state command without any pre-configured scope.","commands":{"allow":["restore_window_state"],"deny":[]}},"allow-save-window-state":{"identifier":"allow-save-window-state","description":"Enables the save_window_state command without any pre-configured scope.","commands":{"allow":["save_window_state"],"deny":[]}},"deny-restore-window-state":{"identifier":"deny-restore-window-state","description":"Denies the restore_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["restore_window_state"]}},"deny-save-window-state":{"identifier":"deny-save-window-state","description":"Denies the save_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["save_window_state"]}}},"permission_sets":{},"global_scope_schema":null}}
\ No newline at end of file
diff --git a/src-tauri/gen/schemas/capabilities.json b/src-tauri/gen/schemas/capabilities.json
index da9a0763..c8f80b94 100644
--- a/src-tauri/gen/schemas/capabilities.json
+++ b/src-tauri/gen/schemas/capabilities.json
@@ -1 +1 @@
-{"desktop-capability":{"identifier":"desktop-capability","description":"Capability for the desktop","local":true,"windows":["main","splash","editor","settings","nwc","zap-*","event-*","user-*","column-*"],"permissions":["path:default","event:default","window:default","app:default","resources:default","menu:default","tray:default","notification:allow-is-permission-granted","notification:allow-request-permission","notification:default","os:allow-locale","os:allow-platform","updater:allow-check","updater:default","window:allow-start-dragging","store:allow-get","clipboard-manager:allow-write","clipboard-manager:allow-read","webview:allow-create-webview-window","webview:allow-create-webview","dialog:allow-open","fs:allow-read-file","shell:allow-open",{"identifier":"http:default","allow":[{"url":"http://**/"},{"url":"https://**/"}]},{"identifier":"fs:allow-read-text-file","allow":[{"path":"$RESOURCE/locales/*"}]}],"platforms":["linux","macOS","windows"]}}
\ No newline at end of file
+{"desktop-capability":{"identifier":"desktop-capability","description":"Capability for the desktop","local":true,"windows":["main","splash","settings","nwc","zap-*","event-*","user-*","editor-*","column-*"],"permissions":["path:default","event:default","window:default","app:default","resources:default","menu:default","tray:default","notification:allow-is-permission-granted","notification:allow-request-permission","notification:default","os:allow-locale","os:allow-platform","updater:allow-check","updater:default","window:allow-start-dragging","window:allow-create","window:allow-close","store:allow-get","clipboard-manager:allow-write","clipboard-manager:allow-read","webview:allow-create-webview-window","webview:allow-create-webview","webview:allow-set-webview-size","webview:allow-set-webview-position","webview:allow-webview-close","dialog:allow-open","fs:allow-read-file","shell:allow-open",{"identifier":"http:default","allow":[{"url":"http://**/"},{"url":"https://**/"}]},{"identifier":"fs:allow-read-text-file","allow":[{"path":"$RESOURCE/locales/*"},{"path":"$RESOURCE/resources/*"}]}],"platforms":["linux","macOS","windows"]}}
\ No newline at end of file
diff --git a/src-tauri/gen/schemas/desktop-schema.json b/src-tauri/gen/schemas/desktop-schema.json
index c0b4b0ee..06f35a34 100644
--- a/src-tauri/gen/schemas/desktop-schema.json
+++ b/src-tauri/gen/schemas/desktop-schema.json
@@ -11,6 +11,13 @@
}
]
},
+ {
+ "description": "A list of capabilities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
{
"description": "A list of capabilities.",
"type": "object",
@@ -34,8 +41,7 @@
"type": "object",
"required": [
"identifier",
- "permissions",
- "windows"
+ "permissions"
],
"properties": {
"identifier": {
@@ -86,14 +92,10 @@
},
"platforms": {
"description": "Target platforms this capability applies. By default all platforms are affected by this capability.",
- "default": [
- "linux",
- "macOS",
- "windows",
- "android",
- "iOS"
+ "type": [
+ "array",
+ "null"
],
- "type": "array",
"items": {
"$ref": "#/definitions/Target"
}
@@ -108,7 +110,7 @@
],
"properties": {
"urls": {
- "description": "Remote domains this capability refers to. Can use glob patterns.",
+ "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"
@@ -182,7 +184,7 @@
]
},
{
- "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.",
+ "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-app-write-recursive"
@@ -224,7 +226,7 @@
]
},
{
- "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.",
+ "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appcache-write-recursive"
@@ -266,7 +268,7 @@
]
},
{
- "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
+ "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appconfig-write-recursive"
@@ -308,7 +310,7 @@
]
},
{
- "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.",
+ "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appdata-write-recursive"
@@ -350,7 +352,7 @@
]
},
{
- "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
+ "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-applocaldata-write-recursive"
@@ -392,7 +394,7 @@
]
},
{
- "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.",
+ "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-applog-write-recursive"
@@ -434,7 +436,7 @@
]
},
{
- "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.",
+ "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-audio-write-recursive"
@@ -476,7 +478,7 @@
]
},
{
- "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.",
+ "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-cache-write-recursive"
@@ -518,7 +520,7 @@
]
},
{
- "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.",
+ "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-config-write-recursive"
@@ -560,7 +562,7 @@
]
},
{
- "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.",
+ "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-data-write-recursive"
@@ -602,7 +604,7 @@
]
},
{
- "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.",
+ "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-desktop-write-recursive"
@@ -644,7 +646,7 @@
]
},
{
- "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
+ "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-document-write-recursive"
@@ -686,7 +688,7 @@
]
},
{
- "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
+ "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-download-write-recursive"
@@ -728,7 +730,7 @@
]
},
{
- "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.",
+ "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-exe-write-recursive"
@@ -770,7 +772,7 @@
]
},
{
- "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.",
+ "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-font-write-recursive"
@@ -812,7 +814,7 @@
]
},
{
- "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.",
+ "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-home-write-recursive"
@@ -854,7 +856,7 @@
]
},
{
- "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
+ "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-localdata-write-recursive"
@@ -896,7 +898,7 @@
]
},
{
- "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.",
+ "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-log-write-recursive"
@@ -938,7 +940,7 @@
]
},
{
- "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.",
+ "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-picture-write-recursive"
@@ -980,7 +982,7 @@
]
},
{
- "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.",
+ "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-public-write-recursive"
@@ -1022,7 +1024,7 @@
]
},
{
- "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.",
+ "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-resource-write-recursive"
@@ -1064,7 +1066,7 @@
]
},
{
- "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.",
+ "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-runtime-write-recursive"
@@ -1106,7 +1108,7 @@
]
},
{
- "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.",
+ "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-temp-write-recursive"
@@ -1148,7 +1150,7 @@
]
},
{
- "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
+ "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-template-write-recursive"
@@ -1190,7 +1192,7 @@
]
},
{
- "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.",
+ "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-video-write-recursive"
@@ -2131,30 +2133,50 @@
},
"allow": {
"items": {
- "title": "Entry",
- "type": "object",
- "required": [
- "path"
- ],
- "properties": {
- "path": {
+ "title": "FsScopeEntry",
+ "description": "FS scope entry.",
+ "anyOf": [
+ {
+ "description": "FS scope path.",
"type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "path"
+ ],
+ "properties": {
+ "path": {
+ "description": "FS scope path.",
+ "type": "string"
+ }
+ }
}
- }
+ ]
}
},
"deny": {
"items": {
- "title": "Entry",
- "type": "object",
- "required": [
- "path"
- ],
- "properties": {
- "path": {
+ "title": "FsScopeEntry",
+ "description": "FS scope entry.",
+ "anyOf": [
+ {
+ "description": "FS scope path.",
"type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "path"
+ ],
+ "properties": {
+ "path": {
+ "description": "FS scope path.",
+ "type": "string"
+ }
+ }
}
- }
+ ]
}
}
}
@@ -2234,34 +2256,50 @@
},
"allow": {
"items": {
- "title": "ScopeEntry",
- "description": "HTTP scope entry object definition.",
- "type": "object",
- "required": [
- "url"
- ],
- "properties": {
- "url": {
- "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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/\"",
+ "title": "HttpScopeEntry",
+ "description": "HTTP scope entry.",
+ "anyOf": [
+ {
+ "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
"type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "url": {
+ "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
+ "type": "string"
+ }
+ }
}
- }
+ ]
}
},
"deny": {
"items": {
- "title": "ScopeEntry",
- "description": "HTTP scope entry object definition.",
- "type": "object",
- "required": [
- "url"
- ],
- "properties": {
- "url": {
- "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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/\"",
+ "title": "HttpScopeEntry",
+ "description": "HTTP scope entry.",
+ "anyOf": [
+ {
+ "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
"type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "url": {
+ "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
+ "type": "string"
+ }
+ }
}
- }
+ ]
}
}
}
@@ -2274,6 +2312,12 @@
"properties": {
"identifier": {
"oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "shell:default"
+ ]
+ },
{
"description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.",
"type": "string",
@@ -2339,7 +2383,7 @@
"type": "object",
"required": [
"args",
- "command",
+ "cmd",
"name",
"sidecar"
],
@@ -2352,7 +2396,7 @@
}
]
},
- "command": {
+ "cmd": {
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"type": "string"
},
@@ -2374,7 +2418,7 @@
"type": "object",
"required": [
"args",
- "command",
+ "cmd",
"name",
"sidecar"
],
@@ -2387,7 +2431,7 @@
}
]
},
- "command": {
+ "cmd": {
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"type": "string"
},
@@ -2487,6 +2531,12 @@
"app:deny-version"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "autostart:default"
+ ]
+ },
{
"description": "autostart:allow-disable -> Enables the disable command without any pre-configured scope.",
"type": "string",
@@ -2550,6 +2600,12 @@
"cli:deny-cli-matches"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "clipboard-manager:default"
+ ]
+ },
{
"description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.",
"type": "string",
@@ -2578,6 +2634,12 @@
"clipboard-manager:deny-write"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "dialog:default"
+ ]
+ },
{
"description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.",
"type": "string",
@@ -2747,7 +2809,7 @@
]
},
{
- "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.",
+ "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-app-write-recursive"
@@ -2789,7 +2851,7 @@
]
},
{
- "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.",
+ "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appcache-write-recursive"
@@ -2831,7 +2893,7 @@
]
},
{
- "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
+ "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appconfig-write-recursive"
@@ -2873,7 +2935,7 @@
]
},
{
- "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.",
+ "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appdata-write-recursive"
@@ -2915,7 +2977,7 @@
]
},
{
- "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
+ "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-applocaldata-write-recursive"
@@ -2957,7 +3019,7 @@
]
},
{
- "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.",
+ "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-applog-write-recursive"
@@ -2999,7 +3061,7 @@
]
},
{
- "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.",
+ "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-audio-write-recursive"
@@ -3041,7 +3103,7 @@
]
},
{
- "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.",
+ "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-cache-write-recursive"
@@ -3083,7 +3145,7 @@
]
},
{
- "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.",
+ "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-config-write-recursive"
@@ -3125,7 +3187,7 @@
]
},
{
- "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.",
+ "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-data-write-recursive"
@@ -3167,7 +3229,7 @@
]
},
{
- "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.",
+ "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-desktop-write-recursive"
@@ -3209,7 +3271,7 @@
]
},
{
- "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
+ "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-document-write-recursive"
@@ -3251,7 +3313,7 @@
]
},
{
- "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
+ "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-download-write-recursive"
@@ -3293,7 +3355,7 @@
]
},
{
- "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.",
+ "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-exe-write-recursive"
@@ -3335,7 +3397,7 @@
]
},
{
- "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.",
+ "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-font-write-recursive"
@@ -3377,7 +3439,7 @@
]
},
{
- "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.",
+ "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-home-write-recursive"
@@ -3419,7 +3481,7 @@
]
},
{
- "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
+ "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-localdata-write-recursive"
@@ -3461,7 +3523,7 @@
]
},
{
- "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.",
+ "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-log-write-recursive"
@@ -3503,7 +3565,7 @@
]
},
{
- "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.",
+ "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-picture-write-recursive"
@@ -3545,7 +3607,7 @@
]
},
{
- "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.",
+ "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-public-write-recursive"
@@ -3587,7 +3649,7 @@
]
},
{
- "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.",
+ "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-resource-write-recursive"
@@ -3629,7 +3691,7 @@
]
},
{
- "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.",
+ "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-runtime-write-recursive"
@@ -3671,7 +3733,7 @@
]
},
{
- "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.",
+ "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-temp-write-recursive"
@@ -3713,7 +3775,7 @@
]
},
{
- "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
+ "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-template-write-recursive"
@@ -3755,7 +3817,7 @@
]
},
{
- "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.",
+ "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-video-write-recursive"
@@ -4762,6 +4824,83 @@
"http:deny-fetch-send"
]
},
+ {
+ "description": "image:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "image:default"
+ ]
+ },
+ {
+ "description": "image:allow-from-bytes -> Enables the from_bytes command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-from-bytes"
+ ]
+ },
+ {
+ "description": "image:allow-from-path -> Enables the from_path command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-from-path"
+ ]
+ },
+ {
+ "description": "image:allow-new -> Enables the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-new"
+ ]
+ },
+ {
+ "description": "image:allow-rgba -> Enables the rgba command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-rgba"
+ ]
+ },
+ {
+ "description": "image:allow-size -> Enables the size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-size"
+ ]
+ },
+ {
+ "description": "image:deny-from-bytes -> Denies the from_bytes command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-from-bytes"
+ ]
+ },
+ {
+ "description": "image:deny-from-path -> Denies the from_path command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-from-path"
+ ]
+ },
+ {
+ "description": "image:deny-new -> Denies the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-new"
+ ]
+ },
+ {
+ "description": "image:deny-rgba -> Denies the rgba command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-rgba"
+ ]
+ },
+ {
+ "description": "image:deny-size -> Denies the size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-size"
+ ]
+ },
{
"description": "menu:default -> Default permissions for the plugin.",
"type": "string",
@@ -5126,6 +5265,12 @@
"notification:deny-request-permission"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "os:default"
+ ]
+ },
{
"description": "os:allow-arch -> Enables the arch command without any pre-configured scope.",
"type": "string",
@@ -5357,6 +5502,12 @@
"path:deny-resolve-directory"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "process:default"
+ ]
+ },
{
"description": "process:allow-exit -> Enables the exit command without any pre-configured scope.",
"type": "string",
@@ -5406,6 +5557,12 @@
"resources:deny-close"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "shell:default"
+ ]
+ },
{
"description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.",
"type": "string",
@@ -5462,6 +5619,12 @@
"shell:deny-stdin-write"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "store:default"
+ ]
+ },
{
"description": "store:allow-clear -> Enables the clear command without any pre-configured scope.",
"type": "string",
@@ -5637,6 +5800,13 @@
"tray:default"
]
},
+ {
+ "description": "tray:allow-get-by-id -> Enables the get_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-get-by-id"
+ ]
+ },
{
"description": "tray:allow-new -> Enables the new command without any pre-configured scope.",
"type": "string",
@@ -5644,6 +5814,13 @@
"tray:allow-new"
]
},
+ {
+ "description": "tray:allow-remove-by-id -> Enables the remove_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-remove-by-id"
+ ]
+ },
{
"description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.",
"type": "string",
@@ -5700,6 +5877,13 @@
"tray:allow-set-visible"
]
},
+ {
+ "description": "tray:deny-get-by-id -> Denies the get_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-get-by-id"
+ ]
+ },
{
"description": "tray:deny-new -> Denies the new command without any pre-configured scope.",
"type": "string",
@@ -5707,6 +5891,13 @@
"tray:deny-new"
]
},
+ {
+ "description": "tray:deny-remove-by-id -> Denies the remove_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-remove-by-id"
+ ]
+ },
{
"description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.",
"type": "string",
@@ -5798,6 +5989,12 @@
"updater:deny-download-and-install"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "upload:default"
+ ]
+ },
{
"description": "upload:allow-download -> Enables the download command without any pre-configured scope.",
"type": "string",
@@ -6834,6 +7031,12 @@
"window:deny-unminimize"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "window-state:default"
+ ]
+ },
{
"description": "window-state:allow-restore-window-state -> Enables the restore_window_state command without any pre-configured scope.",
"type": "string",
diff --git a/src-tauri/gen/schemas/macOS-schema.json b/src-tauri/gen/schemas/macOS-schema.json
index c0b4b0ee..06f35a34 100644
--- a/src-tauri/gen/schemas/macOS-schema.json
+++ b/src-tauri/gen/schemas/macOS-schema.json
@@ -11,6 +11,13 @@
}
]
},
+ {
+ "description": "A list of capabilities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Capability"
+ }
+ },
{
"description": "A list of capabilities.",
"type": "object",
@@ -34,8 +41,7 @@
"type": "object",
"required": [
"identifier",
- "permissions",
- "windows"
+ "permissions"
],
"properties": {
"identifier": {
@@ -86,14 +92,10 @@
},
"platforms": {
"description": "Target platforms this capability applies. By default all platforms are affected by this capability.",
- "default": [
- "linux",
- "macOS",
- "windows",
- "android",
- "iOS"
+ "type": [
+ "array",
+ "null"
],
- "type": "array",
"items": {
"$ref": "#/definitions/Target"
}
@@ -108,7 +110,7 @@
],
"properties": {
"urls": {
- "description": "Remote domains this capability refers to. Can use glob patterns.",
+ "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"
@@ -182,7 +184,7 @@
]
},
{
- "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.",
+ "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-app-write-recursive"
@@ -224,7 +226,7 @@
]
},
{
- "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.",
+ "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appcache-write-recursive"
@@ -266,7 +268,7 @@
]
},
{
- "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
+ "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appconfig-write-recursive"
@@ -308,7 +310,7 @@
]
},
{
- "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.",
+ "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appdata-write-recursive"
@@ -350,7 +352,7 @@
]
},
{
- "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
+ "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-applocaldata-write-recursive"
@@ -392,7 +394,7 @@
]
},
{
- "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.",
+ "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-applog-write-recursive"
@@ -434,7 +436,7 @@
]
},
{
- "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.",
+ "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-audio-write-recursive"
@@ -476,7 +478,7 @@
]
},
{
- "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.",
+ "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-cache-write-recursive"
@@ -518,7 +520,7 @@
]
},
{
- "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.",
+ "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-config-write-recursive"
@@ -560,7 +562,7 @@
]
},
{
- "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.",
+ "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-data-write-recursive"
@@ -602,7 +604,7 @@
]
},
{
- "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.",
+ "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-desktop-write-recursive"
@@ -644,7 +646,7 @@
]
},
{
- "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
+ "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-document-write-recursive"
@@ -686,7 +688,7 @@
]
},
{
- "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
+ "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-download-write-recursive"
@@ -728,7 +730,7 @@
]
},
{
- "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.",
+ "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-exe-write-recursive"
@@ -770,7 +772,7 @@
]
},
{
- "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.",
+ "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-font-write-recursive"
@@ -812,7 +814,7 @@
]
},
{
- "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.",
+ "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-home-write-recursive"
@@ -854,7 +856,7 @@
]
},
{
- "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
+ "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-localdata-write-recursive"
@@ -896,7 +898,7 @@
]
},
{
- "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.",
+ "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-log-write-recursive"
@@ -938,7 +940,7 @@
]
},
{
- "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.",
+ "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-picture-write-recursive"
@@ -980,7 +982,7 @@
]
},
{
- "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.",
+ "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-public-write-recursive"
@@ -1022,7 +1024,7 @@
]
},
{
- "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.",
+ "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-resource-write-recursive"
@@ -1064,7 +1066,7 @@
]
},
{
- "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.",
+ "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-runtime-write-recursive"
@@ -1106,7 +1108,7 @@
]
},
{
- "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.",
+ "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-temp-write-recursive"
@@ -1148,7 +1150,7 @@
]
},
{
- "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
+ "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-template-write-recursive"
@@ -1190,7 +1192,7 @@
]
},
{
- "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.",
+ "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-video-write-recursive"
@@ -2131,30 +2133,50 @@
},
"allow": {
"items": {
- "title": "Entry",
- "type": "object",
- "required": [
- "path"
- ],
- "properties": {
- "path": {
+ "title": "FsScopeEntry",
+ "description": "FS scope entry.",
+ "anyOf": [
+ {
+ "description": "FS scope path.",
"type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "path"
+ ],
+ "properties": {
+ "path": {
+ "description": "FS scope path.",
+ "type": "string"
+ }
+ }
}
- }
+ ]
}
},
"deny": {
"items": {
- "title": "Entry",
- "type": "object",
- "required": [
- "path"
- ],
- "properties": {
- "path": {
+ "title": "FsScopeEntry",
+ "description": "FS scope entry.",
+ "anyOf": [
+ {
+ "description": "FS scope path.",
"type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "path"
+ ],
+ "properties": {
+ "path": {
+ "description": "FS scope path.",
+ "type": "string"
+ }
+ }
}
- }
+ ]
}
}
}
@@ -2234,34 +2256,50 @@
},
"allow": {
"items": {
- "title": "ScopeEntry",
- "description": "HTTP scope entry object definition.",
- "type": "object",
- "required": [
- "url"
- ],
- "properties": {
- "url": {
- "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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/\"",
+ "title": "HttpScopeEntry",
+ "description": "HTTP scope entry.",
+ "anyOf": [
+ {
+ "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
"type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "url": {
+ "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
+ "type": "string"
+ }
+ }
}
- }
+ ]
}
},
"deny": {
"items": {
- "title": "ScopeEntry",
- "description": "HTTP scope entry object definition.",
- "type": "object",
- "required": [
- "url"
- ],
- "properties": {
- "url": {
- "description": "A URL that can be accessed by the webview when using the HTTP APIs. The scoped URL is matched against the request URL using a glob pattern.\n\nExamples:\n\n- \"https://*\" or \"https://**\" : allows all HTTPS urls\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/\"",
+ "title": "HttpScopeEntry",
+ "description": "HTTP scope entry.",
+ "anyOf": [
+ {
+ "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
"type": "string"
+ },
+ {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "url": {
+ "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"",
+ "type": "string"
+ }
+ }
}
- }
+ ]
}
}
}
@@ -2274,6 +2312,12 @@
"properties": {
"identifier": {
"oneOf": [
+ {
+ "type": "string",
+ "enum": [
+ "shell:default"
+ ]
+ },
{
"description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.",
"type": "string",
@@ -2339,7 +2383,7 @@
"type": "object",
"required": [
"args",
- "command",
+ "cmd",
"name",
"sidecar"
],
@@ -2352,7 +2396,7 @@
}
]
},
- "command": {
+ "cmd": {
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"type": "string"
},
@@ -2374,7 +2418,7 @@
"type": "object",
"required": [
"args",
- "command",
+ "cmd",
"name",
"sidecar"
],
@@ -2387,7 +2431,7 @@
}
]
},
- "command": {
+ "cmd": {
"description": "The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.",
"type": "string"
},
@@ -2487,6 +2531,12 @@
"app:deny-version"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "autostart:default"
+ ]
+ },
{
"description": "autostart:allow-disable -> Enables the disable command without any pre-configured scope.",
"type": "string",
@@ -2550,6 +2600,12 @@
"cli:deny-cli-matches"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "clipboard-manager:default"
+ ]
+ },
{
"description": "clipboard-manager:allow-read -> Enables the read command without any pre-configured scope.",
"type": "string",
@@ -2578,6 +2634,12 @@
"clipboard-manager:deny-write"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "dialog:default"
+ ]
+ },
{
"description": "dialog:allow-ask -> Enables the ask command without any pre-configured scope.",
"type": "string",
@@ -2747,7 +2809,7 @@
]
},
{
- "description": "fs:allow-app-write-recursive -> This allows full recusrive write access to the complete `$APP` folder, files and subdirectories.",
+ "description": "fs:allow-app-write-recursive -> This allows full recursive write access to the complete `$APP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-app-write-recursive"
@@ -2789,7 +2851,7 @@
]
},
{
- "description": "fs:allow-appcache-write-recursive -> This allows full recusrive write access to the complete `$APPCACHE` folder, files and subdirectories.",
+ "description": "fs:allow-appcache-write-recursive -> This allows full recursive write access to the complete `$APPCACHE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appcache-write-recursive"
@@ -2831,7 +2893,7 @@
]
},
{
- "description": "fs:allow-appconfig-write-recursive -> This allows full recusrive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
+ "description": "fs:allow-appconfig-write-recursive -> This allows full recursive write access to the complete `$APPCONFIG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appconfig-write-recursive"
@@ -2873,7 +2935,7 @@
]
},
{
- "description": "fs:allow-appdata-write-recursive -> This allows full recusrive write access to the complete `$APPDATA` folder, files and subdirectories.",
+ "description": "fs:allow-appdata-write-recursive -> This allows full recursive write access to the complete `$APPDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-appdata-write-recursive"
@@ -2915,7 +2977,7 @@
]
},
{
- "description": "fs:allow-applocaldata-write-recursive -> This allows full recusrive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
+ "description": "fs:allow-applocaldata-write-recursive -> This allows full recursive write access to the complete `$APPLOCALDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-applocaldata-write-recursive"
@@ -2957,7 +3019,7 @@
]
},
{
- "description": "fs:allow-applog-write-recursive -> This allows full recusrive write access to the complete `$APPLOG` folder, files and subdirectories.",
+ "description": "fs:allow-applog-write-recursive -> This allows full recursive write access to the complete `$APPLOG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-applog-write-recursive"
@@ -2999,7 +3061,7 @@
]
},
{
- "description": "fs:allow-audio-write-recursive -> This allows full recusrive write access to the complete `$AUDIO` folder, files and subdirectories.",
+ "description": "fs:allow-audio-write-recursive -> This allows full recursive write access to the complete `$AUDIO` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-audio-write-recursive"
@@ -3041,7 +3103,7 @@
]
},
{
- "description": "fs:allow-cache-write-recursive -> This allows full recusrive write access to the complete `$CACHE` folder, files and subdirectories.",
+ "description": "fs:allow-cache-write-recursive -> This allows full recursive write access to the complete `$CACHE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-cache-write-recursive"
@@ -3083,7 +3145,7 @@
]
},
{
- "description": "fs:allow-config-write-recursive -> This allows full recusrive write access to the complete `$CONFIG` folder, files and subdirectories.",
+ "description": "fs:allow-config-write-recursive -> This allows full recursive write access to the complete `$CONFIG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-config-write-recursive"
@@ -3125,7 +3187,7 @@
]
},
{
- "description": "fs:allow-data-write-recursive -> This allows full recusrive write access to the complete `$DATA` folder, files and subdirectories.",
+ "description": "fs:allow-data-write-recursive -> This allows full recursive write access to the complete `$DATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-data-write-recursive"
@@ -3167,7 +3229,7 @@
]
},
{
- "description": "fs:allow-desktop-write-recursive -> This allows full recusrive write access to the complete `$DESKTOP` folder, files and subdirectories.",
+ "description": "fs:allow-desktop-write-recursive -> This allows full recursive write access to the complete `$DESKTOP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-desktop-write-recursive"
@@ -3209,7 +3271,7 @@
]
},
{
- "description": "fs:allow-document-write-recursive -> This allows full recusrive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
+ "description": "fs:allow-document-write-recursive -> This allows full recursive write access to the complete `$DOCUMENT` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-document-write-recursive"
@@ -3251,7 +3313,7 @@
]
},
{
- "description": "fs:allow-download-write-recursive -> This allows full recusrive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
+ "description": "fs:allow-download-write-recursive -> This allows full recursive write access to the complete `$DOWNLOAD` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-download-write-recursive"
@@ -3293,7 +3355,7 @@
]
},
{
- "description": "fs:allow-exe-write-recursive -> This allows full recusrive write access to the complete `$EXE` folder, files and subdirectories.",
+ "description": "fs:allow-exe-write-recursive -> This allows full recursive write access to the complete `$EXE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-exe-write-recursive"
@@ -3335,7 +3397,7 @@
]
},
{
- "description": "fs:allow-font-write-recursive -> This allows full recusrive write access to the complete `$FONT` folder, files and subdirectories.",
+ "description": "fs:allow-font-write-recursive -> This allows full recursive write access to the complete `$FONT` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-font-write-recursive"
@@ -3377,7 +3439,7 @@
]
},
{
- "description": "fs:allow-home-write-recursive -> This allows full recusrive write access to the complete `$HOME` folder, files and subdirectories.",
+ "description": "fs:allow-home-write-recursive -> This allows full recursive write access to the complete `$HOME` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-home-write-recursive"
@@ -3419,7 +3481,7 @@
]
},
{
- "description": "fs:allow-localdata-write-recursive -> This allows full recusrive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
+ "description": "fs:allow-localdata-write-recursive -> This allows full recursive write access to the complete `$LOCALDATA` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-localdata-write-recursive"
@@ -3461,7 +3523,7 @@
]
},
{
- "description": "fs:allow-log-write-recursive -> This allows full recusrive write access to the complete `$LOG` folder, files and subdirectories.",
+ "description": "fs:allow-log-write-recursive -> This allows full recursive write access to the complete `$LOG` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-log-write-recursive"
@@ -3503,7 +3565,7 @@
]
},
{
- "description": "fs:allow-picture-write-recursive -> This allows full recusrive write access to the complete `$PICTURE` folder, files and subdirectories.",
+ "description": "fs:allow-picture-write-recursive -> This allows full recursive write access to the complete `$PICTURE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-picture-write-recursive"
@@ -3545,7 +3607,7 @@
]
},
{
- "description": "fs:allow-public-write-recursive -> This allows full recusrive write access to the complete `$PUBLIC` folder, files and subdirectories.",
+ "description": "fs:allow-public-write-recursive -> This allows full recursive write access to the complete `$PUBLIC` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-public-write-recursive"
@@ -3587,7 +3649,7 @@
]
},
{
- "description": "fs:allow-resource-write-recursive -> This allows full recusrive write access to the complete `$RESOURCE` folder, files and subdirectories.",
+ "description": "fs:allow-resource-write-recursive -> This allows full recursive write access to the complete `$RESOURCE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-resource-write-recursive"
@@ -3629,7 +3691,7 @@
]
},
{
- "description": "fs:allow-runtime-write-recursive -> This allows full recusrive write access to the complete `$RUNTIME` folder, files and subdirectories.",
+ "description": "fs:allow-runtime-write-recursive -> This allows full recursive write access to the complete `$RUNTIME` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-runtime-write-recursive"
@@ -3671,7 +3733,7 @@
]
},
{
- "description": "fs:allow-temp-write-recursive -> This allows full recusrive write access to the complete `$TEMP` folder, files and subdirectories.",
+ "description": "fs:allow-temp-write-recursive -> This allows full recursive write access to the complete `$TEMP` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-temp-write-recursive"
@@ -3713,7 +3775,7 @@
]
},
{
- "description": "fs:allow-template-write-recursive -> This allows full recusrive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
+ "description": "fs:allow-template-write-recursive -> This allows full recursive write access to the complete `$TEMPLATE` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-template-write-recursive"
@@ -3755,7 +3817,7 @@
]
},
{
- "description": "fs:allow-video-write-recursive -> This allows full recusrive write access to the complete `$VIDEO` folder, files and subdirectories.",
+ "description": "fs:allow-video-write-recursive -> This allows full recursive write access to the complete `$VIDEO` folder, files and subdirectories.",
"type": "string",
"enum": [
"fs:allow-video-write-recursive"
@@ -4762,6 +4824,83 @@
"http:deny-fetch-send"
]
},
+ {
+ "description": "image:default -> Default permissions for the plugin.",
+ "type": "string",
+ "enum": [
+ "image:default"
+ ]
+ },
+ {
+ "description": "image:allow-from-bytes -> Enables the from_bytes command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-from-bytes"
+ ]
+ },
+ {
+ "description": "image:allow-from-path -> Enables the from_path command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-from-path"
+ ]
+ },
+ {
+ "description": "image:allow-new -> Enables the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-new"
+ ]
+ },
+ {
+ "description": "image:allow-rgba -> Enables the rgba command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-rgba"
+ ]
+ },
+ {
+ "description": "image:allow-size -> Enables the size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:allow-size"
+ ]
+ },
+ {
+ "description": "image:deny-from-bytes -> Denies the from_bytes command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-from-bytes"
+ ]
+ },
+ {
+ "description": "image:deny-from-path -> Denies the from_path command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-from-path"
+ ]
+ },
+ {
+ "description": "image:deny-new -> Denies the new command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-new"
+ ]
+ },
+ {
+ "description": "image:deny-rgba -> Denies the rgba command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-rgba"
+ ]
+ },
+ {
+ "description": "image:deny-size -> Denies the size command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "image:deny-size"
+ ]
+ },
{
"description": "menu:default -> Default permissions for the plugin.",
"type": "string",
@@ -5126,6 +5265,12 @@
"notification:deny-request-permission"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "os:default"
+ ]
+ },
{
"description": "os:allow-arch -> Enables the arch command without any pre-configured scope.",
"type": "string",
@@ -5357,6 +5502,12 @@
"path:deny-resolve-directory"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "process:default"
+ ]
+ },
{
"description": "process:allow-exit -> Enables the exit command without any pre-configured scope.",
"type": "string",
@@ -5406,6 +5557,12 @@
"resources:deny-close"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "shell:default"
+ ]
+ },
{
"description": "shell:allow-execute -> Enables the execute command without any pre-configured scope.",
"type": "string",
@@ -5462,6 +5619,12 @@
"shell:deny-stdin-write"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "store:default"
+ ]
+ },
{
"description": "store:allow-clear -> Enables the clear command without any pre-configured scope.",
"type": "string",
@@ -5637,6 +5800,13 @@
"tray:default"
]
},
+ {
+ "description": "tray:allow-get-by-id -> Enables the get_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-get-by-id"
+ ]
+ },
{
"description": "tray:allow-new -> Enables the new command without any pre-configured scope.",
"type": "string",
@@ -5644,6 +5814,13 @@
"tray:allow-new"
]
},
+ {
+ "description": "tray:allow-remove-by-id -> Enables the remove_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:allow-remove-by-id"
+ ]
+ },
{
"description": "tray:allow-set-icon -> Enables the set_icon command without any pre-configured scope.",
"type": "string",
@@ -5700,6 +5877,13 @@
"tray:allow-set-visible"
]
},
+ {
+ "description": "tray:deny-get-by-id -> Denies the get_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-get-by-id"
+ ]
+ },
{
"description": "tray:deny-new -> Denies the new command without any pre-configured scope.",
"type": "string",
@@ -5707,6 +5891,13 @@
"tray:deny-new"
]
},
+ {
+ "description": "tray:deny-remove-by-id -> Denies the remove_by_id command without any pre-configured scope.",
+ "type": "string",
+ "enum": [
+ "tray:deny-remove-by-id"
+ ]
+ },
{
"description": "tray:deny-set-icon -> Denies the set_icon command without any pre-configured scope.",
"type": "string",
@@ -5798,6 +5989,12 @@
"updater:deny-download-and-install"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "upload:default"
+ ]
+ },
{
"description": "upload:allow-download -> Enables the download command without any pre-configured scope.",
"type": "string",
@@ -6834,6 +7031,12 @@
"window:deny-unminimize"
]
},
+ {
+ "type": "string",
+ "enum": [
+ "window-state:default"
+ ]
+ },
{
"description": "window-state:allow-restore-window-state -> Enables the restore_window_state command without any pre-configured scope.",
"type": "string",
diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png
index 13cebcbb..56f36021 100644
Binary files a/src-tauri/icons/128x128.png and b/src-tauri/icons/128x128.png differ
diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png
index d70bac39..35199afc 100644
Binary files a/src-tauri/icons/128x128@2x.png and b/src-tauri/icons/128x128@2x.png differ
diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png
index c8cf7ca7..2185ed86 100644
Binary files a/src-tauri/icons/32x32.png and b/src-tauri/icons/32x32.png differ
diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png
index f5584a68..18c8c76e 100644
Binary files a/src-tauri/icons/Square107x107Logo.png and b/src-tauri/icons/Square107x107Logo.png differ
diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png
index 9aa83bb9..5f184145 100644
Binary files a/src-tauri/icons/Square142x142Logo.png and b/src-tauri/icons/Square142x142Logo.png differ
diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png
index cc333f17..c8a396ef 100644
Binary files a/src-tauri/icons/Square150x150Logo.png and b/src-tauri/icons/Square150x150Logo.png differ
diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png
index 06190ac4..fdd2bd6b 100644
Binary files a/src-tauri/icons/Square284x284Logo.png and b/src-tauri/icons/Square284x284Logo.png differ
diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png
index 6097aa43..aad6fc4e 100644
Binary files a/src-tauri/icons/Square30x30Logo.png and b/src-tauri/icons/Square30x30Logo.png differ
diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png
index 62b94b13..a809f6fc 100644
Binary files a/src-tauri/icons/Square310x310Logo.png and b/src-tauri/icons/Square310x310Logo.png differ
diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png
index 5c96a034..dc15939c 100644
Binary files a/src-tauri/icons/Square44x44Logo.png and b/src-tauri/icons/Square44x44Logo.png differ
diff --git a/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png
index de112eab..9ce1ba37 100644
Binary files a/src-tauri/icons/Square71x71Logo.png and b/src-tauri/icons/Square71x71Logo.png differ
diff --git a/src-tauri/icons/Square89x89Logo.png b/src-tauri/icons/Square89x89Logo.png
index 1781e1b3..013e2ae9 100644
Binary files a/src-tauri/icons/Square89x89Logo.png and b/src-tauri/icons/Square89x89Logo.png differ
diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png
index 1ff398c2..bad4f774 100644
Binary files a/src-tauri/icons/StoreLogo.png and b/src-tauri/icons/StoreLogo.png differ
diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png
index d3869033..16b4b5ad 100644
Binary files a/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png
index 5b6224b6..84691090 100644
Binary files a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png
index d3869033..16b4b5ad 100644
Binary files a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png
index 5fddc0ce..b266e6b0 100644
Binary files a/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png
index 69abec5a..18b15dac 100644
Binary files a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png
index 5fddc0ce..b266e6b0 100644
Binary files a/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png
index 0e0941ac..4361debe 100644
Binary files a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png
index 41a35bd2..7a8055d9 100644
Binary files a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png
index 0e0941ac..4361debe 100644
Binary files a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png
index b5cc08ec..ea46451f 100644
Binary files a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png
index 2cfacdb2..0ea11444 100644
Binary files a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png
index b5cc08ec..ea46451f 100644
Binary files a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png
index 1ca20e43..e25f2e78 100644
Binary files a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png and b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png
index c4ed7464..af0120ab 100644
Binary files a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png and b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png
index 1ca20e43..e25f2e78 100644
Binary files a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png and b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns
index f3ddb0aa..074b9531 100644
Binary files a/src-tauri/icons/icon.icns and b/src-tauri/icons/icon.icns differ
diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico
index 7a1fb7d8..1b591117 100644
Binary files a/src-tauri/icons/icon.ico and b/src-tauri/icons/icon.ico differ
diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png
index ac6bcd43..8cd20216 100644
Binary files a/src-tauri/icons/icon.png and b/src-tauri/icons/icon.png differ
diff --git a/src-tauri/icons/ios/AppIcon-20x20@1x.png b/src-tauri/icons/ios/AppIcon-20x20@1x.png
index e045162f..cda199f4 100644
Binary files a/src-tauri/icons/ios/AppIcon-20x20@1x.png and b/src-tauri/icons/ios/AppIcon-20x20@1x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-20x20@2x-1.png b/src-tauri/icons/ios/AppIcon-20x20@2x-1.png
index 42f48c92..5a570738 100644
Binary files a/src-tauri/icons/ios/AppIcon-20x20@2x-1.png and b/src-tauri/icons/ios/AppIcon-20x20@2x-1.png differ
diff --git a/src-tauri/icons/ios/AppIcon-20x20@2x.png b/src-tauri/icons/ios/AppIcon-20x20@2x.png
index 42f48c92..5a570738 100644
Binary files a/src-tauri/icons/ios/AppIcon-20x20@2x.png and b/src-tauri/icons/ios/AppIcon-20x20@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-20x20@3x.png b/src-tauri/icons/ios/AppIcon-20x20@3x.png
index 3a0fa490..748f9542 100644
Binary files a/src-tauri/icons/ios/AppIcon-20x20@3x.png and b/src-tauri/icons/ios/AppIcon-20x20@3x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-29x29@1x.png b/src-tauri/icons/ios/AppIcon-29x29@1x.png
index 3fc13df7..28427ad4 100644
Binary files a/src-tauri/icons/ios/AppIcon-29x29@1x.png and b/src-tauri/icons/ios/AppIcon-29x29@1x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-29x29@2x-1.png b/src-tauri/icons/ios/AppIcon-29x29@2x-1.png
index 90a74eb7..b540bc6b 100644
Binary files a/src-tauri/icons/ios/AppIcon-29x29@2x-1.png and b/src-tauri/icons/ios/AppIcon-29x29@2x-1.png differ
diff --git a/src-tauri/icons/ios/AppIcon-29x29@2x.png b/src-tauri/icons/ios/AppIcon-29x29@2x.png
index 90a74eb7..b540bc6b 100644
Binary files a/src-tauri/icons/ios/AppIcon-29x29@2x.png and b/src-tauri/icons/ios/AppIcon-29x29@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-29x29@3x.png b/src-tauri/icons/ios/AppIcon-29x29@3x.png
index bb1c59ac..6391d182 100644
Binary files a/src-tauri/icons/ios/AppIcon-29x29@3x.png and b/src-tauri/icons/ios/AppIcon-29x29@3x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-40x40@1x.png b/src-tauri/icons/ios/AppIcon-40x40@1x.png
index 42f48c92..5a570738 100644
Binary files a/src-tauri/icons/ios/AppIcon-40x40@1x.png and b/src-tauri/icons/ios/AppIcon-40x40@1x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/src-tauri/icons/ios/AppIcon-40x40@2x-1.png
index ea29c8cb..52ce7e8c 100644
Binary files a/src-tauri/icons/ios/AppIcon-40x40@2x-1.png and b/src-tauri/icons/ios/AppIcon-40x40@2x-1.png differ
diff --git a/src-tauri/icons/ios/AppIcon-40x40@2x.png b/src-tauri/icons/ios/AppIcon-40x40@2x.png
index ea29c8cb..52ce7e8c 100644
Binary files a/src-tauri/icons/ios/AppIcon-40x40@2x.png and b/src-tauri/icons/ios/AppIcon-40x40@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-40x40@3x.png b/src-tauri/icons/ios/AppIcon-40x40@3x.png
index c9c3703d..f86f0d26 100644
Binary files a/src-tauri/icons/ios/AppIcon-40x40@3x.png and b/src-tauri/icons/ios/AppIcon-40x40@3x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-512@2x.png b/src-tauri/icons/ios/AppIcon-512@2x.png
index 8afb7cd9..eface06a 100644
Binary files a/src-tauri/icons/ios/AppIcon-512@2x.png and b/src-tauri/icons/ios/AppIcon-512@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-60x60@2x.png b/src-tauri/icons/ios/AppIcon-60x60@2x.png
index c9c3703d..f86f0d26 100644
Binary files a/src-tauri/icons/ios/AppIcon-60x60@2x.png and b/src-tauri/icons/ios/AppIcon-60x60@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-60x60@3x.png b/src-tauri/icons/ios/AppIcon-60x60@3x.png
index 678a1ad6..af2ca698 100644
Binary files a/src-tauri/icons/ios/AppIcon-60x60@3x.png and b/src-tauri/icons/ios/AppIcon-60x60@3x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-76x76@1x.png b/src-tauri/icons/ios/AppIcon-76x76@1x.png
index d1388a43..34f300bc 100644
Binary files a/src-tauri/icons/ios/AppIcon-76x76@1x.png and b/src-tauri/icons/ios/AppIcon-76x76@1x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-76x76@2x.png b/src-tauri/icons/ios/AppIcon-76x76@2x.png
index d33fc494..4de479e8 100644
Binary files a/src-tauri/icons/ios/AppIcon-76x76@2x.png and b/src-tauri/icons/ios/AppIcon-76x76@2x.png differ
diff --git a/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png
index 6d4ee0ef..7902048b 100644
Binary files a/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png and b/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png differ
diff --git a/src-tauri/icons/tray.png b/src-tauri/icons/tray.png
index 93437d3a..081c8977 100644
Binary files a/src-tauri/icons/tray.png and b/src-tauri/icons/tray.png differ
diff --git a/src-tauri/locales/en.json b/src-tauri/locales/en.json
index 1d96ffe3..d47cf177 100644
--- a/src-tauri/locales/en.json
+++ b/src-tauri/locales/en.json
@@ -234,7 +234,7 @@
}
},
"user": {
- "title": "User"
+ "title": "Account"
},
"zap": {
"title": "Zap",
diff --git a/src-tauri/resources/official_columns.json b/src-tauri/resources/official_columns.json
new file mode 100644
index 00000000..5714c362
--- /dev/null
+++ b/src-tauri/resources/official_columns.json
@@ -0,0 +1,52 @@
+[
+ {
+ "label": "rRtguZwIpd5G8Wt54OTb7",
+ "name": "For you",
+ "content": "/foryou",
+ "logo": "",
+ "cover": "/foryou.png",
+ "coverRetina": "/foryou@2x.png",
+ "author": "Lume",
+ "description": "Keep up to date with content based on your interests."
+ },
+ {
+ "label": "fve9fk2fVyFWORPBkjd79",
+ "name": "Group Feeds",
+ "content": "/group",
+ "logo": "",
+ "cover": "/group.png",
+ "coverRetina": "/group@2x.png",
+ "author": "Lume",
+ "description": "Collective of people you're interested in."
+ },
+ {
+ "label": "sDbO6XxAGnW5XuUZEgZMn",
+ "name": "Antenas",
+ "content": "/antenas",
+ "logo": "",
+ "cover": "/antenas.png",
+ "coverRetina": "/antenas@2x.png",
+ "author": "Lume",
+ "description": "Keep track to specific content."
+ },
+ {
+ "label": "gxtcIbgD8YNPbeI5o92I8",
+ "name": "Trending",
+ "content": "/trending",
+ "logo": "",
+ "cover": "/trending.png",
+ "coverRetina": "/trending@2x.png",
+ "author": "Lume",
+ "description": "What is trending on Nostr?."
+ },
+ {
+ "label": "GLFm44za8rhJDP04LMr3M",
+ "name": "Global",
+ "content": "/global",
+ "logo": "",
+ "cover": "/global.png",
+ "coverRetina": "/global@2x.png",
+ "author": "Lume",
+ "description": "All events from connected relays."
+ }
+]
diff --git a/src-tauri/resources/system_columns.json b/src-tauri/resources/system_columns.json
new file mode 100644
index 00000000..ba4fd23b
--- /dev/null
+++ b/src-tauri/resources/system_columns.json
@@ -0,0 +1,4 @@
+[
+ { "label": "newsfeed", "name": "Newsfeed", "content": "/newsfeed" },
+ { "label": "open", "name": "Open", "content": "/open" }
+]
diff --git a/src-tauri/src/commands.rs b/src-tauri/src/commands.rs
index 1434139e..99001bdc 100644
--- a/src-tauri/src/commands.rs
+++ b/src-tauri/src/commands.rs
@@ -1,2 +1,3 @@
pub mod folder;
pub mod opg;
+pub mod window;
diff --git a/src-tauri/src/commands/opg.rs b/src-tauri/src/commands/opg.rs
index 94a083ee..8eaa7371 100644
--- a/src-tauri/src/commands/opg.rs
+++ b/src-tauri/src/commands/opg.rs
@@ -1,54 +1,16 @@
use std::time::Duration;
-use webpage::{Webpage, WebpageOptions};
-
-#[derive(serde::Serialize)]
-pub struct OpenGraphResponse {
- title: String,
- description: String,
- url: String,
- image: String,
-}
+use webpage::{Opengraph, Webpage, WebpageOptions};
#[tauri::command]
-pub fn fetch_opg(url: String) -> Result {
+pub fn fetch_opg(url: String) -> Result {
let mut options = WebpageOptions::default();
options.allow_insecure = true;
- options.max_redirections = 3;
- options.timeout = Duration::from_secs(15);
+ options.max_redirections = 2;
+ options.timeout = Duration::from_secs(10);
- let info = Webpage::from_url(&url, options);
-
- if let Ok(data) = info {
- let html = data.html;
- let result = OpenGraphResponse {
- title: html
- .opengraph
- .properties
- .get("title")
- .cloned()
- .unwrap_or_default(),
- description: html
- .opengraph
- .properties
- .get("description")
- .cloned()
- .unwrap_or_default(),
- url: html
- .opengraph
- .properties
- .get("url")
- .cloned()
- .unwrap_or_default(),
- image: html
- .opengraph
- .images
- .get(0)
- .and_then(|i| Some(i.url.clone()))
- .unwrap_or_default(),
- };
-
- Ok(result.into())
+ if let Ok(data) = Webpage::from_url(&url, options) {
+ Ok(data.html.opengraph.into())
} else {
- Err(())
+ Err("Get open graph failed".into())
}
}
diff --git a/src-tauri/src/commands/window.rs b/src-tauri/src/commands/window.rs
new file mode 100644
index 00000000..3c9f6a50
--- /dev/null
+++ b/src-tauri/src/commands/window.rs
@@ -0,0 +1,68 @@
+use std::path::PathBuf;
+use tauri::{LogicalPosition, LogicalSize, Manager, WebviewUrl};
+
+#[tauri::command]
+pub fn create_column(
+ label: &str,
+ x: f32,
+ y: f32,
+ width: f32,
+ height: f32,
+ url: &str,
+ app_handle: tauri::AppHandle,
+) -> Result {
+ match app_handle.get_window("main") {
+ Some(main_window) => match app_handle.get_webview(label) {
+ Some(_) => Ok(label.into()),
+ None => {
+ let path = PathBuf::from(url);
+ let webview_url = WebviewUrl::App(path);
+ let builder = tauri::webview::WebviewBuilder::new(label, webview_url)
+ .user_agent("Lume/4.0")
+ .transparent(true);
+ match main_window.add_child(
+ builder,
+ LogicalPosition::new(x, y),
+ LogicalSize::new(width, height),
+ ) {
+ Ok(webview) => Ok(webview.label().into()),
+ Err(_) => Err("Create webview failed".into()),
+ }
+ }
+ },
+ None => Err("Main window not found".into()),
+ }
+}
+
+#[tauri::command]
+pub fn close_column(label: &str, app_handle: tauri::AppHandle) -> Result {
+ match app_handle.get_webview(label) {
+ Some(webview) => {
+ if let Ok(_) = webview.close() {
+ Ok(true)
+ } else {
+ Ok(false)
+ }
+ }
+ None => Ok(true),
+ }
+}
+
+#[tauri::command]
+pub fn reposition_column(
+ label: &str,
+ x: f32,
+ y: f32,
+ app_handle: tauri::AppHandle,
+) -> Result<(), String> {
+ match app_handle.get_webview(label) {
+ Some(webview) => {
+ if let Ok(_) = webview.set_position(LogicalPosition::new(x, y)) {
+ Ok(())
+ } else {
+ Err("Reposition column failed".into())
+ }
+ }
+ None => Err("Webview not found".into()),
+ }
+}
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index 53bd5515..45f51aec 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -5,13 +5,21 @@
pub mod commands;
pub mod nostr;
+pub mod traffic_light;
pub mod tray;
-use std::fs;
+#[cfg(target_os = "macos")]
+extern crate cocoa;
+
+#[cfg(target_os = "macos")]
+#[macro_use]
+extern crate objc;
use nostr_sdk::prelude::*;
+use std::fs;
use tauri::Manager;
use tauri_plugin_autostart::MacosLauncher;
+use traffic_light::setup_traffic_light_positioner;
pub struct Nostr {
client: Client,
@@ -20,6 +28,12 @@ pub struct Nostr {
fn main() {
tauri::Builder::default()
.setup(|app| {
+ #[cfg(target_os = "macos")]
+ app.set_activation_policy(tauri::ActivationPolicy::Regular);
+
+ #[cfg(target_os = "macos")]
+ setup_traffic_light_positioner(app.get_window("main").unwrap());
+
let _tray = tray::create_tray(app.handle()).unwrap();
let handle = app.handle().clone();
let home_dir = handle.path().home_dir().unwrap();
@@ -39,22 +53,14 @@ fn main() {
// Add some bootstrap relays
// #TODO: Pull bootstrap relays from user's settings
- client
- .add_relay("wss://nostr.mutinywallet.com")
- .await
- .unwrap_or_default();
client
.add_relay("wss://relay.nostr.band")
.await
- .unwrap_or_default();
- client
- .add_relay("wss://relay.damus.io")
- .await
- .unwrap_or_default();
+ .expect("Cannot connect to relay.nostr.band, please try again later.");
client
.add_relay("wss://purplepag.es")
.await
- .unwrap_or_default();
+ .expect("Cannot connect to purplepag.es, please try again later.");
// Connect
client.connect().await;
@@ -67,6 +73,13 @@ fn main() {
Ok(())
})
+ .on_window_event(|window, event| match event {
+ tauri::WindowEvent::CloseRequested { api, .. } => {
+ window.hide().unwrap();
+ api.prevent_close();
+ }
+ _ => {}
+ })
.plugin(tauri_plugin_store::Builder::default().build())
.plugin(tauri_plugin_clipboard_manager::init())
.plugin(tauri_plugin_dialog::init())
@@ -86,6 +99,7 @@ fn main() {
nostr::keys::create_keys,
nostr::keys::save_key,
nostr::keys::get_encrypted_key,
+ nostr::keys::get_stored_nsec,
nostr::keys::verify_signer,
nostr::keys::load_selected_account,
nostr::keys::event_to_bech32,
@@ -97,10 +111,8 @@ fn main() {
nostr::metadata::create_profile,
nostr::metadata::follow,
nostr::metadata::unfollow,
- nostr::metadata::set_interest,
- nostr::metadata::get_interest,
- nostr::metadata::set_settings,
- nostr::metadata::get_settings,
+ nostr::metadata::get_nstore,
+ nostr::metadata::set_nstore,
nostr::metadata::set_nwc,
nostr::metadata::load_nwc,
nostr::metadata::get_balance,
@@ -108,8 +120,8 @@ fn main() {
nostr::metadata::zap_event,
nostr::event::get_event,
nostr::event::get_events_from,
- nostr::event::get_local_events,
- nostr::event::get_global_events,
+ nostr::event::get_events,
+ nostr::event::get_events_from_interests,
nostr::event::get_event_thread,
nostr::event::publish,
nostr::event::repost,
@@ -118,23 +130,10 @@ fn main() {
commands::folder::show_in_folder,
commands::folder::get_accounts,
commands::opg::fetch_opg,
+ commands::window::create_column,
+ commands::window::close_column,
+ commands::window::reposition_column
])
- .build(tauri::generate_context!())
+ .run(tauri::generate_context!())
.expect("error while running tauri application")
- .run(
- #[allow(unused_variables)]
- |app, event| {
- #[cfg(any(target_os = "macos"))]
- if let tauri::RunEvent::Opened { urls } = event {
- if let Some(w) = app.get_webview_window("main") {
- let urls = urls
- .iter()
- .map(|u| u.as_str())
- .collect::>()
- .join(",");
- let _ = w.eval(&format!("window.onFileOpen(`{urls}`)"));
- }
- }
- },
- );
}
diff --git a/src-tauri/src/nostr/event.rs b/src-tauri/src/nostr/event.rs
index 6913b8f4..5898694d 100644
--- a/src-tauri/src/nostr/event.rs
+++ b/src-tauri/src/nostr/event.rs
@@ -72,66 +72,120 @@ pub async fn get_events_from(
}
#[tauri::command]
-pub async fn get_local_events(
+pub async fn get_events(
limit: usize,
until: Option<&str>,
+ contacts: Option>,
+ global: Option,
state: State<'_, Nostr>,
) -> Result, String> {
let client = &state.client;
- let f_until = match until {
+ let as_of = match until {
Some(until) => Timestamp::from_str(until).unwrap(),
None => Timestamp::now(),
};
-
- let contact_list = client
- .get_contact_list_public_keys(Some(Duration::from_secs(10)))
- .await;
-
- if let Ok(authors) = contact_list {
- if authors.len() == 0 {
- return Err("Get text event failed".into());
+ let authors = match contacts {
+ Some(val) => {
+ let c: Vec = val
+ .into_iter()
+ .map(|key| PublicKey::from_str(key).unwrap())
+ .collect();
+ Some(c)
}
-
- let filter = Filter::new()
+ None => match global {
+ Some(val) => match val {
+ true => None,
+ false => {
+ match client
+ .get_contact_list_public_keys(Some(Duration::from_secs(10)))
+ .await
+ {
+ Ok(val) => Some(val),
+ Err(_) => None,
+ }
+ }
+ },
+ None => {
+ match client
+ .get_contact_list_public_keys(Some(Duration::from_secs(10)))
+ .await
+ {
+ Ok(val) => Some(val),
+ Err(_) => None,
+ }
+ }
+ },
+ };
+ let filter = match authors {
+ Some(val) => Filter::new()
.kinds(vec![Kind::TextNote, Kind::Repost])
- .authors(authors)
+ .authors(val)
.limit(limit)
- .until(f_until);
+ .until(as_of),
+ None => Filter::new()
+ .kinds(vec![Kind::TextNote, Kind::Repost])
+ .limit(limit)
+ .until(as_of),
+ };
- if let Ok(events) = client
- .get_events_of(vec![filter], Some(Duration::from_secs(10)))
- .await
- {
- Ok(events)
- } else {
- Err("Get text event failed".into())
- }
+ if let Ok(events) = client
+ .get_events_of(vec![filter], Some(Duration::from_secs(15)))
+ .await
+ {
+ println!("total events: {}", events.len());
+ Ok(events)
} else {
- Err("Get contact list failed".into())
+ Err("Get text event failed".into())
}
}
#[tauri::command]
-pub async fn get_global_events(
+pub async fn get_events_from_interests(
+ hashtags: Vec<&str>,
limit: usize,
until: Option<&str>,
+ global: Option,
state: State<'_, Nostr>,
) -> Result, String> {
let client = &state.client;
- let f_until = match until {
+ let as_of = match until {
Some(until) => Timestamp::from_str(until).unwrap(),
None => Timestamp::now(),
};
-
- let filter = Filter::new()
- .kinds(vec![Kind::TextNote, Kind::Repost])
- .limit(limit)
- .until(f_until);
+ let authors = match global {
+ Some(val) => match val {
+ true => None,
+ false => {
+ match client
+ .get_contact_list_public_keys(Some(Duration::from_secs(10)))
+ .await
+ {
+ Ok(val) => Some(val),
+ Err(_) => None,
+ }
+ }
+ },
+ None => None,
+ };
+ let filter = match authors {
+ Some(val) => Filter::new()
+ .kinds(vec![Kind::TextNote, Kind::Repost])
+ .authors(val)
+ .limit(limit)
+ .until(as_of)
+ .hashtags(hashtags),
+ None => Filter::new()
+ .kinds(vec![Kind::TextNote, Kind::Repost])
+ .limit(limit)
+ .until(as_of)
+ .hashtags(hashtags),
+ };
if let Ok(events) = client
- .get_events_of(vec![filter], Some(Duration::from_secs(10)))
+ .get_events_of(vec![filter], Some(Duration::from_secs(15)))
.await
{
+ println!("total events: {}", events.len());
Ok(events)
} else {
Err("Get text event failed".into())
@@ -171,43 +225,37 @@ pub async fn publish(
}
#[tauri::command]
-pub async fn repost(id: &str, pubkey: &str, state: State<'_, Nostr>) -> Result {
+pub async fn repost(raw: &str, state: State<'_, Nostr>) -> Result {
let client = &state.client;
- let public_key = PublicKey::from_str(pubkey).unwrap();
- let event_id = EventId::from_hex(id).unwrap();
+ let event = Event::from_json(raw).unwrap();
- let event = client
- .repost_event(event_id, public_key)
- .await
- .expect("Repost failed");
-
- Ok(event)
+ if let Ok(event_id) = client.repost(&event, None).await {
+ Ok(event_id)
+ } else {
+ Err("Repost failed".into())
+ }
}
#[tauri::command]
-pub async fn upvote(id: &str, pubkey: &str, state: State<'_, Nostr>) -> Result {
+pub async fn upvote(raw: &str, state: State<'_, Nostr>) -> Result {
let client = &state.client;
- let public_key = PublicKey::from_str(pubkey).unwrap();
- let event_id = EventId::from_hex(id).unwrap();
+ let event = Event::from_json(raw).unwrap();
- let event = client
- .like(event_id, public_key)
- .await
- .expect("Upvote failed");
-
- Ok(event)
+ if let Ok(event_id) = client.like(&event).await {
+ Ok(event_id)
+ } else {
+ Err("Upvote failed".into())
+ }
}
#[tauri::command]
-pub async fn downvote(id: &str, pubkey: &str, state: State<'_, Nostr>) -> Result {
+pub async fn downvote(raw: &str, state: State<'_, Nostr>) -> Result {
let client = &state.client;
- let public_key = PublicKey::from_str(pubkey).unwrap();
- let event_id = EventId::from_hex(id).unwrap();
+ let event = Event::from_json(raw).unwrap();
- let event = client
- .dislike(event_id, public_key)
- .await
- .expect("Downvote failed");
-
- Ok(event)
+ if let Ok(event_id) = client.dislike(&event).await {
+ Ok(event_id)
+ } else {
+ Err("Downvote failed".into())
+ }
}
diff --git a/src-tauri/src/nostr/keys.rs b/src-tauri/src/nostr/keys.rs
index 62336941..a7d40eed 100644
--- a/src-tauri/src/nostr/keys.rs
+++ b/src-tauri/src/nostr/keys.rs
@@ -31,10 +31,10 @@ pub async fn save_key(
password: &str,
app_handle: tauri::AppHandle,
state: State<'_, Nostr>,
-) -> Result {
+) -> Result {
let secret_key: Result;
- if nsec.starts_with("ncrypto") {
+ if nsec.starts_with("ncryptsec") {
let encrypted_key = EncryptedSecretKey::from_bech32(nsec).unwrap();
secret_key = match encrypted_key.to_secret_key(password) {
Ok(val) => Ok(val),
@@ -68,7 +68,7 @@ pub async fn save_key(
// Update client's signer
client.set_signer(Some(signer)).await;
- Ok(true)
+ Ok(npub)
}
Err(msg) => Err(msg.into()),
}
@@ -91,7 +91,7 @@ pub fn get_encrypted_key(npub: &str, password: &str) -> Result {
if let Ok(nsec) = keyring.get_password() {
let secret_key = SecretKey::from_bech32(nsec).expect("Get secret key failed");
- let new_key = EncryptedSecretKey::new(&secret_key, password, 16, KeySecurity::Medium);
+ let new_key = EncryptedSecretKey::new(&secret_key, password, 16, KeySecurity::Unknown);
if let Ok(key) = new_key {
Ok(key.to_bech32().unwrap())
@@ -103,6 +103,17 @@ pub fn get_encrypted_key(npub: &str, password: &str) -> Result {
}
}
+#[tauri::command]
+pub fn get_stored_nsec(npub: &str) -> Result {
+ let keyring = Entry::new("Lume Secret Storage", npub).unwrap();
+
+ if let Ok(nsec) = keyring.get_password() {
+ Ok(nsec)
+ } else {
+ Err("Key not found".into())
+ }
+}
+
#[tauri::command]
pub async fn load_selected_account(npub: &str, state: State<'_, Nostr>) -> Result {
let client = &state.client;
@@ -141,9 +152,6 @@ pub async fn load_selected_account(npub: &str, state: State<'_, Nostr>) -> Resul
}
}
- // #TODO
- // Subscribe new event for activity and local newsfeed
-
Ok(true)
} else {
Err("nsec not found".into())
@@ -161,7 +169,7 @@ pub fn event_to_bech32(id: &str, relays: Vec) -> Result {
#[tauri::command]
pub fn user_to_bech32(key: &str, relays: Vec) -> Result {
let pubkey = PublicKey::from_str(key).unwrap();
- let profile = Nip19Profile::new(pubkey, relays);
+ let profile = Nip19Profile::new(pubkey, relays).unwrap();
Ok(profile.to_bech32().unwrap())
}
diff --git a/src-tauri/src/nostr/metadata.rs b/src-tauri/src/nostr/metadata.rs
index 0007e514..b463341b 100644
--- a/src-tauri/src/nostr/metadata.rs
+++ b/src-tauri/src/nostr/metadata.rs
@@ -3,6 +3,7 @@ use keyring::Entry;
use nostr_sdk::prelude::*;
use std::{str::FromStr, time::Duration};
use tauri::State;
+use url::Url;
#[derive(serde::Serialize)]
pub struct CacheContact {
@@ -99,22 +100,31 @@ pub async fn create_profile(
lud16: &str,
website: &str,
state: State<'_, Nostr>,
-) -> Result {
+) -> Result {
let client = &state.client;
- let metadata = Metadata::new()
+ let mut metadata = Metadata::new()
.name(name)
.display_name(display_name)
.about(about)
.nip05(nip05)
- .lud16(lud16)
- .picture(Url::parse(picture).unwrap())
- .banner(Url::parse(banner).unwrap())
- .website(Url::parse(website).unwrap());
+ .lud16(lud16);
+
+ if let Ok(url) = Url::parse(picture) {
+ metadata = metadata.picture(url)
+ }
+
+ if let Ok(url) = Url::parse(banner) {
+ metadata = metadata.banner(url)
+ }
+
+ if let Ok(url) = Url::parse(website) {
+ metadata = metadata.website(url)
+ }
if let Ok(event_id) = client.set_metadata(&metadata).await {
Ok(event_id)
} else {
- Err(())
+ Err("Create profile failed".into())
}
}
@@ -169,108 +179,57 @@ pub async fn unfollow(id: &str, state: State<'_, Nostr>) -> Result) -> Result {
+pub async fn set_nstore(
+ key: &str,
+ content: &str,
+ state: State<'_, Nostr>,
+) -> Result {
let client = &state.client;
- let tag = Tag::Identifier("lume_user_interest".into());
+ let tag = Tag::Identifier(key.into());
let builder = EventBuilder::new(Kind::ApplicationSpecificData, content, vec![tag]);
if let Ok(event_id) = client.send_event_builder(builder).await {
+ println!("set nstore: {}", event_id);
Ok(event_id)
} else {
- Err("Set interest failed".into())
+ Err("Event has been published failled".into())
}
}
#[tauri::command]
-pub async fn get_interest(id: &str, state: State<'_, Nostr>) -> Result {
+pub async fn get_nstore(key: &str, state: State<'_, Nostr>) -> Result {
let client = &state.client;
- let public_key: Option = match Nip19::from_bech32(id) {
- Ok(val) => match val {
- Nip19::Pubkey(pubkey) => Some(pubkey),
- Nip19::Profile(profile) => Some(profile.public_key),
- _ => None,
- },
- Err(_) => match PublicKey::from_str(id) {
- Ok(val) => Some(val),
- Err(_) => None,
- },
- };
- if let Some(author) = public_key {
- let filter = Filter::new()
- .author(author)
- .kind(Kind::ApplicationSpecificData)
- .identifier("lume_user_interest")
- .limit(1);
+ if let Ok(signer) = client.signer().await {
+ let public_key = signer.public_key().await;
- let query = client
- .get_events_of(vec![filter], Some(Duration::from_secs(10)))
- .await;
+ if let Ok(author) = public_key {
+ let filter = Filter::new()
+ .author(author)
+ .kind(Kind::ApplicationSpecificData)
+ .identifier(key)
+ .limit(1);
- if let Ok(events) = query {
- if let Some(event) = events.first() {
- Ok(event.content.to_string())
+ let query = client
+ .get_events_of(vec![filter], Some(Duration::from_secs(10)))
+ .await;
+
+ if let Ok(events) = query {
+ if let Some(event) = events.first() {
+ println!("get nstore key: {} - received: {}", key, event.id);
+ Ok(event.content.to_string())
+ } else {
+ println!("get nstore key: {}", key);
+ Err("Value not found".into())
+ }
} else {
- Err("User interest not found".into())
+ Err("Query nstore event failed".into())
}
} else {
- Err("User interest not found".into())
+ Err("Something is wrong".into())
}
} else {
- Err("Get interest failed".into())
- }
-}
-
-#[tauri::command]
-pub async fn set_settings(content: &str, state: State<'_, Nostr>) -> Result {
- let client = &state.client;
- let tag = Tag::Identifier("lume_user_settings".into());
- let builder = EventBuilder::new(Kind::ApplicationSpecificData, content, vec![tag]);
-
- if let Ok(event_id) = client.send_event_builder(builder).await {
- Ok(event_id)
- } else {
- Err("Set interest failed".into())
- }
-}
-
-#[tauri::command]
-pub async fn get_settings(id: &str, state: State<'_, Nostr>) -> Result {
- let client = &state.client;
- let public_key: Option = match Nip19::from_bech32(id) {
- Ok(val) => match val {
- Nip19::Pubkey(pubkey) => Some(pubkey),
- Nip19::Profile(profile) => Some(profile.public_key),
- _ => None,
- },
- Err(_) => match PublicKey::from_str(id) {
- Ok(val) => Some(val),
- Err(_) => None,
- },
- };
-
- if let Some(author) = public_key {
- let filter = Filter::new()
- .author(author)
- .kind(Kind::ApplicationSpecificData)
- .identifier("lume_user_settings")
- .limit(1);
-
- let query = client
- .get_events_of(vec![filter], Some(Duration::from_secs(10)))
- .await;
-
- if let Ok(events) = query {
- if let Some(event) = events.first() {
- Ok(event.content.to_string())
- } else {
- Err("User settings not found".into())
- }
- } else {
- Err("User settings not found".into())
- }
- } else {
- Err("Get settings failed".into())
+ Err("Signer is required".into())
}
}
@@ -294,7 +253,7 @@ pub async fn set_nwc(uri: &str, state: State<'_, Nostr>) -> Result
}
#[tauri::command]
-pub async fn load_nwc(state: State<'_, Nostr>) -> Result {
+pub async fn load_nwc(state: State<'_, Nostr>) -> Result {
let client = &state.client;
let keyring = Entry::new("Lume Secret Storage", "NWC").unwrap();
@@ -305,10 +264,10 @@ pub async fn load_nwc(state: State<'_, Nostr>) -> Result {
client.set_zapper(nwc).await;
Ok(true)
} else {
- Err(false)
+ Err("Cannot connect to NWC".into())
}
}
- Err(_) => Err(false),
+ Err(_) => Ok(false),
}
}
diff --git a/src-tauri/src/traffic_light.rs b/src-tauri/src/traffic_light.rs
new file mode 100644
index 00000000..d2dc4750
--- /dev/null
+++ b/src-tauri/src/traffic_light.rs
@@ -0,0 +1,342 @@
+use objc::{msg_send, sel, sel_impl};
+use rand::{distributions::Alphanumeric, Rng};
+use tauri::{
+ plugin::{Builder, TauriPlugin},
+ Manager, Runtime, Window,
+}; // 0.8
+
+const WINDOW_CONTROL_PAD_X: f64 = 8.0;
+const WINDOW_CONTROL_PAD_Y: f64 = 16.0;
+
+struct UnsafeWindowHandle(*mut std::ffi::c_void);
+unsafe impl Send for UnsafeWindowHandle {}
+unsafe impl Sync for UnsafeWindowHandle {}
+
+pub fn init() -> TauriPlugin {
+ Builder::new("traffic_light_positioner")
+ .on_window_ready(|window| {
+ #[cfg(target_os = "macos")]
+ setup_traffic_light_positioner(window);
+ return;
+ })
+ .build()
+}
+
+#[cfg(target_os = "macos")]
+fn position_traffic_lights(ns_window_handle: UnsafeWindowHandle, x: f64, y: f64) {
+ use cocoa::appkit::{NSView, NSWindow, NSWindowButton};
+ use cocoa::foundation::NSRect;
+ let ns_window = ns_window_handle.0 as cocoa::base::id;
+ unsafe {
+ let close = ns_window.standardWindowButton_(NSWindowButton::NSWindowCloseButton);
+ let miniaturize = ns_window.standardWindowButton_(NSWindowButton::NSWindowMiniaturizeButton);
+ let zoom = ns_window.standardWindowButton_(NSWindowButton::NSWindowZoomButton);
+
+ let title_bar_container_view = close.superview().superview();
+
+ let close_rect: NSRect = msg_send![close, frame];
+ let button_height = close_rect.size.height;
+
+ let title_bar_frame_height = button_height + y;
+ let mut title_bar_rect = NSView::frame(title_bar_container_view);
+ title_bar_rect.size.height = title_bar_frame_height;
+ title_bar_rect.origin.y = NSView::frame(ns_window).size.height - title_bar_frame_height;
+ let _: () = msg_send![title_bar_container_view, setFrame: title_bar_rect];
+
+ let window_buttons = vec![close, miniaturize, zoom];
+ let space_between = NSView::frame(miniaturize).origin.x - NSView::frame(close).origin.x;
+
+ for (i, button) in window_buttons.into_iter().enumerate() {
+ let mut rect: NSRect = NSView::frame(button);
+ rect.origin.x = x + (i as f64 * space_between);
+ button.setFrameOrigin(rect.origin);
+ }
+ }
+}
+
+#[cfg(target_os = "macos")]
+#[derive(Debug)]
+struct WindowState {
+ window: Window,
+}
+
+#[cfg(target_os = "macos")]
+pub fn setup_traffic_light_positioner(window: Window) {
+ use cocoa::appkit::NSWindow;
+ use cocoa::base::{id, BOOL};
+ use cocoa::foundation::NSUInteger;
+ use objc::runtime::{Object, Sel};
+ use std::ffi::c_void;
+
+ // Do the initial positioning
+ position_traffic_lights(
+ UnsafeWindowHandle(window.ns_window().expect("Failed to create window handle")),
+ WINDOW_CONTROL_PAD_X,
+ WINDOW_CONTROL_PAD_Y,
+ );
+
+ // Ensure they stay in place while resizing the window.
+ fn with_window_state) -> T, T>(this: &Object, func: F) {
+ let ptr = unsafe {
+ let x: *mut c_void = *this.get_ivar("app_box");
+ &mut *(x as *mut WindowState)
+ };
+ func(ptr);
+ }
+
+ unsafe {
+ let ns_win = window
+ .ns_window()
+ .expect("NS Window should exist to mount traffic light delegate.") as id;
+
+ let current_delegate: id = ns_win.delegate();
+
+ extern "C" fn on_window_should_close(this: &Object, _cmd: Sel, sender: id) -> BOOL {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, windowShouldClose: sender]
+ }
+ }
+ extern "C" fn on_window_will_close(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowWillClose: notification];
+ }
+ }
+ extern "C" fn on_window_did_resize(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ let id = state
+ .window
+ .ns_window()
+ .expect("NS window should exist on state to handle resize") as id;
+
+ #[cfg(target_os = "macos")]
+ position_traffic_lights(
+ UnsafeWindowHandle(id as *mut std::ffi::c_void),
+ WINDOW_CONTROL_PAD_X,
+ WINDOW_CONTROL_PAD_Y,
+ );
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidResize: notification];
+ }
+ }
+ extern "C" fn on_window_did_move(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidMove: notification];
+ }
+ }
+ extern "C" fn on_window_did_change_backing_properties(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidChangeBackingProperties: notification];
+ }
+ }
+ extern "C" fn on_window_did_become_key(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidBecomeKey: notification];
+ }
+ }
+ extern "C" fn on_window_did_resign_key(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidResignKey: notification];
+ }
+ }
+ extern "C" fn on_dragging_entered(this: &Object, _cmd: Sel, notification: id) -> BOOL {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, draggingEntered: notification]
+ }
+ }
+ extern "C" fn on_prepare_for_drag_operation(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) -> BOOL {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, prepareForDragOperation: notification]
+ }
+ }
+ extern "C" fn on_perform_drag_operation(this: &Object, _cmd: Sel, sender: id) -> BOOL {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, performDragOperation: sender]
+ }
+ }
+ extern "C" fn on_conclude_drag_operation(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, concludeDragOperation: notification];
+ }
+ }
+ extern "C" fn on_dragging_exited(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, draggingExited: notification];
+ }
+ }
+ extern "C" fn on_window_will_use_full_screen_presentation_options(
+ this: &Object,
+ _cmd: Sel,
+ window: id,
+ proposed_options: NSUInteger,
+ ) -> NSUInteger {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ msg_send![super_del, window: window willUseFullScreenPresentationOptions: proposed_options]
+ }
+ }
+ extern "C" fn on_window_did_enter_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ state
+ .window
+ .emit("did-enter-fullscreen", ())
+ .expect("Failed to emit event");
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidEnterFullScreen: notification];
+ }
+ }
+ extern "C" fn on_window_will_enter_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ state
+ .window
+ .emit("will-enter-fullscreen", ())
+ .expect("Failed to emit event");
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowWillEnterFullScreen: notification];
+ }
+ }
+ extern "C" fn on_window_did_exit_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ state
+ .window
+ .emit("did-exit-fullscreen", ())
+ .expect("Failed to emit event");
+
+ let id = state.window.ns_window().expect("Failed to emit event") as id;
+ position_traffic_lights(
+ UnsafeWindowHandle(id as *mut std::ffi::c_void),
+ WINDOW_CONTROL_PAD_X,
+ WINDOW_CONTROL_PAD_Y,
+ );
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidExitFullScreen: notification];
+ }
+ }
+ extern "C" fn on_window_will_exit_full_screen(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ with_window_state(&*this, |state: &mut WindowState| {
+ state
+ .window
+ .emit("will-exit-fullscreen", ())
+ .expect("Failed to emit event");
+ });
+
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowWillExitFullScreen: notification];
+ }
+ }
+ extern "C" fn on_window_did_fail_to_enter_full_screen(this: &Object, _cmd: Sel, window: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, windowDidFailToEnterFullScreen: window];
+ }
+ }
+ extern "C" fn on_effective_appearance_did_change(this: &Object, _cmd: Sel, notification: id) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![super_del, effectiveAppearanceDidChange: notification];
+ }
+ }
+ extern "C" fn on_effective_appearance_did_changed_on_main_thread(
+ this: &Object,
+ _cmd: Sel,
+ notification: id,
+ ) {
+ unsafe {
+ let super_del: id = *this.get_ivar("super_delegate");
+ let _: () = msg_send![
+ super_del,
+ effectiveAppearanceDidChangedOnMainThread: notification
+ ];
+ }
+ }
+
+ // Are we deallocing this properly ? (I miss safe Rust :( )
+ let window_label = window.label().to_string();
+
+ let app_state = WindowState { window };
+ let app_box = Box::into_raw(Box::new(app_state)) as *mut c_void;
+ let random_str: String = rand::thread_rng()
+ .sample_iter(&Alphanumeric)
+ .take(20)
+ .map(char::from)
+ .collect();
+
+ // We need to ensure we have a unique delegate name, otherwise we will panic while trying to create a duplicate
+ // delegate with the same name.
+ let delegate_name = format!("windowDelegate_{}_{}", window_label, random_str);
+
+ ns_win.setDelegate_(cocoa::delegate!(&delegate_name, {
+ window: id = ns_win,
+ app_box: *mut c_void = app_box,
+ toolbar: id = cocoa::base::nil,
+ super_delegate: id = current_delegate,
+ (windowShouldClose:) => on_window_should_close as extern fn(&Object, Sel, id) -> BOOL,
+ (windowWillClose:) => on_window_will_close as extern fn(&Object, Sel, id),
+ (windowDidResize:) => on_window_did_resize:: as extern fn(&Object, Sel, id),
+ (windowDidMove:) => on_window_did_move as extern fn(&Object, Sel, id),
+ (windowDidChangeBackingProperties:) => on_window_did_change_backing_properties as extern fn(&Object, Sel, id),
+ (windowDidBecomeKey:) => on_window_did_become_key as extern fn(&Object, Sel, id),
+ (windowDidResignKey:) => on_window_did_resign_key as extern fn(&Object, Sel, id),
+ (draggingEntered:) => on_dragging_entered as extern fn(&Object, Sel, id) -> BOOL,
+ (prepareForDragOperation:) => on_prepare_for_drag_operation as extern fn(&Object, Sel, id) -> BOOL,
+ (performDragOperation:) => on_perform_drag_operation as extern fn(&Object, Sel, id) -> BOOL,
+ (concludeDragOperation:) => on_conclude_drag_operation as extern fn(&Object, Sel, id),
+ (draggingExited:) => on_dragging_exited as extern fn(&Object, Sel, id),
+ (window:willUseFullScreenPresentationOptions:) => on_window_will_use_full_screen_presentation_options as extern fn(&Object, Sel, id, NSUInteger) -> NSUInteger,
+ (windowDidEnterFullScreen:) => on_window_did_enter_full_screen:: as extern fn(&Object, Sel, id),
+ (windowWillEnterFullScreen:) => on_window_will_enter_full_screen:: as extern fn(&Object, Sel, id),
+ (windowDidExitFullScreen:) => on_window_did_exit_full_screen:: as extern fn(&Object, Sel, id),
+ (windowWillExitFullScreen:) => on_window_will_exit_full_screen:: as extern fn(&Object, Sel, id),
+ (windowDidFailToEnterFullScreen:) => on_window_did_fail_to_enter_full_screen as extern fn(&Object, Sel, id),
+ (effectiveAppearanceDidChange:) => on_effective_appearance_did_change as extern fn(&Object, Sel, id),
+ (effectiveAppearanceDidChangedOnMainThread:) => on_effective_appearance_did_changed_on_main_thread as extern fn(&Object, Sel, id)
+ }))
+ }
+}
diff --git a/src-tauri/src/tray.rs b/src-tauri/src/tray.rs
index 3209c30b..0dfbfc3e 100644
--- a/src-tauri/src/tray.rs
+++ b/src-tauri/src/tray.rs
@@ -1,13 +1,13 @@
-use tauri::{Manager, Runtime};
+use std::path::PathBuf;
+use tauri::{Manager, Runtime, TitleBarStyle, WebviewUrl, WebviewWindowBuilder};
+use tauri_plugin_shell::ShellExt;
pub fn create_tray(app: &tauri::AppHandle) -> tauri::Result<()> {
let version = app.package_info().version.to_string();
- let tray = app.tray().unwrap();
+ let tray = app.tray_by_id("main_tray").unwrap();
let menu = tauri::menu::MenuBuilder::new(app)
- .item(
- &tauri::menu::MenuItem::with_id(app, "open_lume", "Open Lume", true, None::<&str>).unwrap(),
- )
- .item(&tauri::menu::MenuItem::with_id(app, "editor", "New Post", true, None::<&str>).unwrap())
+ .item(&tauri::menu::MenuItem::with_id(app, "open", "Open Lume", true, None::<&str>).unwrap())
+ .item(&tauri::menu::MenuItem::with_id(app, "editor", "New Post", true, Some("cmd+n")).unwrap())
.separator()
.item(
&tauri::menu::MenuItem::with_id(
@@ -25,7 +25,7 @@ pub fn create_tray(app: &tauri::AppHandle) -> tauri::Result<()> {
.unwrap(),
)
.item(
- &tauri::menu::MenuItem::with_id(app, "settings", "Settings...", true, None::<&str>).unwrap(),
+ &tauri::menu::MenuItem::with_id(app, "settings", "Settings...", true, Some("cmd+,")).unwrap(),
)
.item(&tauri::menu::MenuItem::with_id(app, "quit", "Quit", true, None::<&str>).unwrap())
.build()
@@ -33,9 +33,58 @@ pub fn create_tray(app: &tauri::AppHandle) -> tauri::Result<()> {
let _ = tray.set_menu(Some(menu));
tray.on_menu_event(move |app, event| match event.id.0.as_str() {
+ "open" => {
+ if let Some(window) = app.get_window("main") {
+ if window.is_visible().unwrap_or_default() {
+ let _ = window.set_focus();
+ } else {
+ let _ = window.show();
+ let _ = window.set_focus();
+ };
+ }
+ }
+ "editor" => {
+ if let Some(window) = app.get_window("editor-0") {
+ if window.is_visible().unwrap_or_default() {
+ let _ = window.set_focus();
+ } else {
+ let _ = window.show();
+ let _ = window.set_focus();
+ };
+ } else {
+ let _ =
+ WebviewWindowBuilder::new(app, "editor-0", WebviewUrl::App(PathBuf::from("editor")))
+ .title("Editor")
+ .min_inner_size(500., 400.)
+ .inner_size(600., 400.)
+ .hidden_title(true)
+ .title_bar_style(TitleBarStyle::Overlay)
+ .build()
+ .unwrap();
+ }
+ }
+ "about" => {
+ app.shell().open("https://lume.nu", None).unwrap();
+ }
+ "update" => {
+ println!("todo!")
+ }
+ "settings" => {
+ let _ = WebviewWindowBuilder::new(
+ app,
+ "settings",
+ WebviewUrl::App(PathBuf::from("settings/general")),
+ )
+ .title("Editor")
+ .min_inner_size(600., 500.)
+ .inner_size(800., 500.)
+ .hidden_title(true)
+ .title_bar_style(TitleBarStyle::Overlay)
+ .build()
+ .unwrap();
+ }
"quit" => {
- let handle = app.app_handle();
- handle.exit(0);
+ app.exit(0);
}
_ => {}
});
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index 3f6cd9d8..8a67f2d9 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -1,7 +1,7 @@
{
"$schema": "../node_modules/@tauri-apps/cli/schema.json",
"productName": "Lume",
- "version": "4.0.0-alpha+2",
+ "version": "4.0.0-beta",
"identifier": "nu.lume.Lume",
"build": {
"beforeBuildCommand": "pnpm desktop:build",
@@ -44,7 +44,7 @@
"targets": "all",
"active": true,
"category": "SocialNetworking",
- "resources": ["resources/*", "./locales/*"],
+ "resources": ["resources/*", "locales/*"],
"icon": [
"icons/32x32.png",
"icons/128x128.png",
diff --git a/src-tauri/tauri.linux.conf.json b/src-tauri/tauri.linux.conf.json
index 0712704c..31f87328 100644
--- a/src-tauri/tauri.linux.conf.json
+++ b/src-tauri/tauri.linux.conf.json
@@ -6,11 +6,10 @@
"title": "Lume",
"label": "main",
"titleBarStyle": "Overlay",
- "width": 1080,
+ "width": 500,
"height": 800,
- "minWidth": 1080,
- "minHeight": 800,
- "center": true
+ "minWidth": 500,
+ "minHeight": 800
}
]
}
diff --git a/src-tauri/tauri.macos.conf.json b/src-tauri/tauri.macos.conf.json
index 7f0b505b..81b4f0a2 100644
--- a/src-tauri/tauri.macos.conf.json
+++ b/src-tauri/tauri.macos.conf.json
@@ -6,13 +6,16 @@
"title": "Lume",
"label": "main",
"titleBarStyle": "Overlay",
- "width": 1080,
+ "width": 500,
"height": 800,
- "minWidth": 1080,
+ "minWidth": 500,
"minHeight": 800,
- "center": true,
"hiddenTitle": true,
- "decorations": true
+ "decorations": true,
+ "transparent": true,
+ "windowEffects": {
+ "effects": ["windowBackground"]
+ }
}
]
}
diff --git a/src-tauri/tauri.windows.conf.json b/src-tauri/tauri.windows.conf.json
index 4afd7720..1f49693f 100644
--- a/src-tauri/tauri.windows.conf.json
+++ b/src-tauri/tauri.windows.conf.json
@@ -5,11 +5,10 @@
{
"title": "Lume",
"label": "main",
- "width": 1080,
+ "width": 500,
"height": 800,
- "minWidth": 1080,
- "minHeight": 800,
- "center": true
+ "minWidth": 500,
+ "minHeight": 800
}
]
}