diff --git a/Cargo.lock b/Cargo.lock index b7844fd..2aef12e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1195,13 +1195,12 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "colored" -version = "1.9.4" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355" +checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ - "is-terminal", "lazy_static", - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -1961,9 +1960,9 @@ dependencies = [ [[package]] name = "fern" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee" +checksum = "4316185f709b23713e41e3195f90edef7fb00c3ed4adc79769cf09cc762a3b29" dependencies = [ "colored", "log", @@ -3134,17 +3133,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "is-wsl" version = "0.4.0" @@ -3302,6 +3290,7 @@ name = "kunkun" version = "0.0.0" dependencies = [ "anyhow", + "base64 0.22.1", "chrono", "cocoa 0.24.1", "crypto", @@ -3337,7 +3326,7 @@ dependencies = [ "tokio", "urlencoding", "uuid", - "zip 2.2.0", + "zip 2.2.2", ] [[package]] @@ -6500,19 +6489,19 @@ dependencies = [ [[package]] name = "tauri-plugin-deep-link" -version = "2.0.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31a9b5725027c6e9e075b06cb2d5c2cd3b5c29daa8012b404e1ff755cc56082f" +checksum = "35d51ffd286073414d26353bcfc9e83e3cd63f96fa7f7a912f92f2118e5de5a6" dependencies = [ "dunce", - "log", "rust-ini", "serde", "serde_json", "tauri", "tauri-plugin", "tauri-utils", - "thiserror 1.0.66", + "thiserror 2.0.3", + "tracing", "url", "windows-registry 0.3.0", "windows-result 0.2.0", @@ -6520,9 +6509,9 @@ dependencies = [ [[package]] name = "tauri-plugin-dialog" -version = "2.0.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4307310e1d2c09ab110235834722e7c2b85099b683e1eb7342ab351b0be5ada3" +checksum = "8b59fd750551b1066744ab956a1cd6b1ea3e1b3763b0b9153ac27a044d596426" dependencies = [ "log", "raw-window-handle", @@ -6532,15 +6521,15 @@ dependencies = [ "tauri", "tauri-plugin", "tauri-plugin-fs", - "thiserror 1.0.66", + "thiserror 2.0.3", "url", ] [[package]] name = "tauri-plugin-fs" -version = "2.0.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba7d46e86db8c830d143ef90ab5a453328365b0cc834c24edea4267b16aba0" +checksum = "a1a1edf18000f02903a7c2e5997fb89aca455ecbc0acc15c6535afbb883be223" dependencies = [ "anyhow", "dunce", @@ -6552,7 +6541,9 @@ dependencies = [ "serde_repr", "tauri", "tauri-plugin", - "thiserror 1.0.66", + "tauri-utils", + "thiserror 2.0.3", + "toml 0.8.2", "url", "uuid", ] @@ -6574,9 +6565,9 @@ dependencies = [ [[package]] name = "tauri-plugin-http" -version = "2.0.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c752aee1b00ec3c4d4f440095995d9bd2c640b478f2067d1fba388900b82eb96" +checksum = "e62a9bde54d6a0218b63f5a248f02056ad4316ba6ad81dfb9e4f73715df5deb1" dependencies = [ "data-url", "http 1.1.0", @@ -6588,7 +6579,7 @@ dependencies = [ "tauri", "tauri-plugin", "tauri-plugin-fs", - "thiserror 1.0.66", + "thiserror 2.0.3", "tokio", "url", "urlpattern", @@ -6653,9 +6644,9 @@ dependencies = [ [[package]] name = "tauri-plugin-log" -version = "2.0.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a49f2c05d15e6375ab7f7e528b3049150ba4dfafdf61f85e5178d0aef18e3f5" +checksum = "eddd784c138c08a43954bc3e735402e6b2b2ee8d8c254a7391f4e77c01273dd5" dependencies = [ "android_logger", "byte-unit", @@ -6669,7 +6660,7 @@ dependencies = [ "swift-rs", "tauri", "tauri-plugin", - "thiserror 1.0.66", + "thiserror 2.0.3", "time", ] @@ -6693,9 +6684,9 @@ dependencies = [ [[package]] name = "tauri-plugin-notification" -version = "2.0.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef492a2d19b6376bb4c9e0c4fab3f3bf8a220ea112d24f35027b737ff55de20c" +checksum = "46ab803095f14ac6521fdb6477210a49e86fed6623c3c97d8e4b2b35e045e922" dependencies = [ "log", "notify-rust", @@ -6705,16 +6696,16 @@ dependencies = [ "serde_repr", "tauri", "tauri-plugin", - "thiserror 1.0.66", + "thiserror 2.0.3", "time", "url", ] [[package]] name = "tauri-plugin-os" -version = "2.0.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc5f23a86f37687c7f4fecfdc706b279087bc44f7a46702f7307ff1551ee03a" +checksum = "dda2d571a9baf0664c1f2088db227e3072f9028602fafa885deade7547c3b738" dependencies = [ "gethostname 0.5.0", "log", @@ -6725,14 +6716,14 @@ dependencies = [ "sys-locale", "tauri", "tauri-plugin", - "thiserror 1.0.66", + "thiserror 2.0.3", ] [[package]] name = "tauri-plugin-process" -version = "2.0.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae06a00087c148962a52814a2d7265b1a0505bced5ffb74f8c284a5f96a4d03d" +checksum = "40cc553ab29581c8c43dfa5fb0c9d5aee8ba962ad3b42908eea26c79610441b7" dependencies = [ "tauri", "tauri-plugin", @@ -6740,9 +6731,9 @@ dependencies = [ [[package]] name = "tauri-plugin-shell" -version = "2.0.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad7880c5586b6b2104be451e3d7fc0f3800c84bda69e9ba81c828f87cb34267" +checksum = "bb2c50a63e60fb8925956cc5b7569f4b750ac197a4d39f13b8dd46ea8e2bad79" dependencies = [ "encoding_rs", "log", @@ -6755,7 +6746,7 @@ dependencies = [ "shared_child", "tauri", "tauri-plugin", - "thiserror 1.0.66", + "thiserror 2.0.3", "tokio", ] @@ -6798,18 +6789,18 @@ dependencies = [ [[package]] name = "tauri-plugin-store" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9a580be53f04bb62422d239aa798e88522877f58a0d4a0e745f030055a51bb4" +checksum = "1c0c08fae6995909f5e9a0da6038273b750221319f2c0f3b526d6de1cde21505" dependencies = [ "dunce", - "log", "serde", "serde_json", "tauri", "tauri-plugin", - "thiserror 1.0.66", + "thiserror 2.0.3", "tokio", + "tracing", ] [[package]] @@ -6852,7 +6843,7 @@ dependencies = [ "tokio", "url", "windows-sys 0.59.0", - "zip 2.2.0", + "zip 2.2.2", ] [[package]] @@ -8726,9 +8717,9 @@ dependencies = [ [[package]] name = "zip" -version = "2.2.0" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc5e4288ea4057ae23afc69a4472434a87a2495cafce6632fd1c4ec9f5cf3494" +checksum = "ae9c1ea7b3a5e1f4b922ff856a129881167511563dc219869afe3787fc0c1a45" dependencies = [ "aes", "arbitrary", @@ -8746,7 +8737,7 @@ dependencies = [ "pbkdf2", "rand 0.8.5", "sha1", - "thiserror 1.0.66", + "thiserror 2.0.3", "time", "zeroize", "zopfli", diff --git a/apps/desktop/package.json b/apps/desktop/package.json index ecd4242..53b8f77 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -22,22 +22,23 @@ "@std/semver": "npm:@jsr/std__semver@^1.0.3", "@tanstack/table-core": "^8.20.5", "@tauri-apps/api": "^2.1.1", - "@tauri-apps/plugin-shell": "^2.0.1", + "@tauri-apps/plugin-shell": "^2.2.0", + "dompurify": "^3.2.3", "gsap": "^3.12.5", "kkrpc": "^0.0.13", "lz-string": "^1.5.0", "pretty-bytes": "^6.1.1", "semver": "^7.6.3", "svelte-sonner": "^0.3.28", - "sveltekit-superforms": "^2.20.1", + "sveltekit-superforms": "^2.22.1", "tauri-plugin-clipboard-api": "^2.1.11", "uuid": "^11.0.3" }, "devDependencies": { "@kksh/types": "workspace:*", "@sveltejs/adapter-static": "^3.0.6", - "@sveltejs/kit": "^2.8.1", - "@sveltejs/vite-plugin-svelte": "^4.0.1", + "@sveltejs/kit": "^2.12.1", + "@sveltejs/vite-plugin-svelte": "^5.0.3", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/container-queries": "^0.1.1", "@tailwindcss/forms": "^0.5.9", @@ -46,16 +47,16 @@ "@types/bun": "latest", "@types/semver": "^7.5.8", "autoprefixer": "^10.4.20", - "bits-ui": "1.0.0-next.60", + "bits-ui": "1.0.0-next.72", "clsx": "^2.1.1", - "lucide-svelte": "^0.460.1", + "lucide-svelte": "^0.468.0", "svelte-radix": "^2.0.1", - "tailwind-merge": "^2.5.4", + "tailwind-merge": "^2.5.5", "tailwind-variants": "^0.3.0", - "tailwindcss": "^3.4.15", + "tailwindcss": "^3.4.17", "tailwindcss-animate": "^1.0.7", "tslib": "^2.8.1", "typescript": "^5.6.3", - "vite": "^5.4.11" + "vite": "^6.0.3" } } diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index 6e88b19..a31578a 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -14,17 +14,17 @@ name = "kunkun_lib" crate-type = ["staticlib", "cdylib", "rlib"] [build-dependencies] -tauri-build = { version = "2.0.2", features = [] } +tauri-build = { version = "2.0.3", features = [] } [dependencies] -tauri = { version = "2.0.6", features = [ +tauri = { version = "2.1.1", features = [ "macos-private-api", "image-png", "image-ico", "tray-icon", "devtools", ] } -tauri-plugin-shell = "2" +tauri-plugin-shell = "2.2.0" serde = { workspace = true } serde_json = { workspace = true } anyhow = { workspace = true } @@ -33,27 +33,28 @@ mdns-sd = { workspace = true } chrono = { workspace = true } log = { workspace = true } urlencoding = "2.1.3" -tauri-plugin-process = "2.0.1" +tauri-plugin-process = "2.2.0" tauri-plugin-shellx = "2.0.12" -tauri-plugin-fs = "2.0.1" -tauri-plugin-dialog = "2.0.1" -tauri-plugin-notification = "2.0.1" -tauri-plugin-os = "2.0.1" -tauri-plugin-http = "2.0.1" +tauri-plugin-fs = "2.2.0" +tauri-plugin-dialog = "2.2.0" +tauri-plugin-notification = "2.2.0" +tauri-plugin-os = "2.2.0" +tauri-plugin-http = "2.2.0" tauri-plugin-upload = { workspace = true } # tauri-plugin-upload = "2.2.1" tauri-plugin-jarvis = { workspace = true } tauri-plugin-network = { workspace = true } tauri-plugin-system-info = { workspace = true } tauri-plugin-clipboard = { workspace = true } -tauri-plugin-store = "2.1.0" -tauri-plugin-deep-link = "2" -tauri-plugin-log = { version = "2.0.1", features = ["colored"] } +tauri-plugin-store = "2.2.0" +tauri-plugin-deep-link = "2.2.0" +tauri-plugin-log = { version = "2.2.0", features = ["colored"] } crypto = { workspace = true } -zip = "2.1.3" +zip = "2.2.2" uuid = "1.11.0" # tauri-plugin-devtools = "2.0.0" obfstr = { workspace = true } +base64 = { workspace = true } [target."cfg(target_os = \"macos\")".dependencies] cocoa = "0.24.1" diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index b870223..060608b 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -1,6 +1,7 @@ use std::{path::PathBuf, sync::Mutex}; mod setup; pub mod utils; +use base64::prelude::*; use log; #[cfg(target_os = "macos")] use tauri::ActivationPolicy; @@ -137,6 +138,61 @@ pub fn run() { .unwrap(), } }) + .register_uri_scheme_protocol("cbimg", |app, request| { + // sample url: cb_img?id=123 + // parse id from url + let path = &request.uri().path()[1..]; // skip the first / + let path = urlencoding::decode(path).unwrap().to_string(); + let query_params: Vec<&str> = path.split('?').collect(); + let id = if query_params.len() > 1 { + query_params[1].split('=').nth(1).unwrap_or("") + } else { + return tauri::http::Response::builder() + .status(tauri::http::StatusCode::BAD_REQUEST) + .header("Access-Control-Allow-Origin", "*") + .body("Invalid Request".as_bytes().to_vec()) + .unwrap(); + }; + let app_handle = app.app_handle(); + let clipboard_history = app_handle + .state::( + ); + let jarvis_db = clipboard_history.jarvis_db.lock().unwrap(); + let img_data = jarvis_db.get_extension_data_by_id(id.parse::().unwrap(), None); + let image_data = if let Ok(img_data) = img_data { + let img_data = img_data.unwrap().data; + match img_data { + Some(data) => match BASE64_STANDARD.decode(data) { + Ok(img_data) => img_data, + Err(e) => { + return tauri::http::Response::builder() + .status(tauri::http::StatusCode::NOT_FOUND) + .header("Access-Control-Allow-Origin", "*") + .body("Image Not Found".as_bytes().to_vec()) + .unwrap(); + } + }, + None => { + return tauri::http::Response::builder() + .status(tauri::http::StatusCode::NOT_FOUND) + .header("Access-Control-Allow-Origin", "*") + .body("Image Not Found".as_bytes().to_vec()) + .unwrap(); + } + } + } else { + return tauri::http::Response::builder() + .status(tauri::http::StatusCode::NOT_FOUND) + .header("Access-Control-Allow-Origin", "*") + .body("Image Not Found".as_bytes().to_vec()) + .unwrap(); + }; + return tauri::http::Response::builder() + .status(tauri::http::StatusCode::OK) + .header("Access-Control-Allow-Origin", "*") + .body(image_data) + .unwrap(); + }) .setup(move |app| { setup::window::setup_window(app.handle()); setup::tray::create_tray(app.handle())?; diff --git a/apps/desktop/src/lib/cmds/builtin.ts b/apps/desktop/src/lib/cmds/builtin.ts index f9f0b01..644e92f 100644 --- a/apps/desktop/src/lib/cmds/builtin.ts +++ b/apps/desktop/src/lib/cmds/builtin.ts @@ -280,6 +280,18 @@ export const rawBuiltinCmds: BuiltinCmd[] = [ appState.clearSearchTerm() } }, + { + name: "Clipboard History", + icon: { + type: IconEnum.Iconify, + value: "mdi:clipboard-outline" + }, + description: "Clipboard History", + function: async () => { + appState.clearSearchTerm() + goto("/extension/clipboard") + } + }, { name: "Pin Current Screenshot", icon: { diff --git a/apps/desktop/src/routes/+page.svelte b/apps/desktop/src/routes/+page.svelte index b9d629f..b828d56 100644 --- a/apps/desktop/src/routes/+page.svelte +++ b/apps/desktop/src/routes/+page.svelte @@ -19,6 +19,7 @@ } from "@kksh/ui/main" import type { CmdValue } from "@kksh/ui/types" import { cn, commandScore } from "@kksh/ui/utils" + import { convertFileSrc } from "@tauri-apps/api/core" import { getCurrentWebviewWindow } from "@tauri-apps/api/webviewWindow" import { exit } from "@tauri-apps/plugin-process" import { ArrowBigUpIcon, CircleXIcon, EllipsisVerticalIcon, RefreshCcwIcon } from "lucide-svelte" @@ -32,6 +33,8 @@ $appState.searchTerm = "" } } + + // let imgSrc = convertFileSrc("/?id=15", "cbimg") + + import { goBack, goHome } from "@/utils/route" + import { listenToNewClipboardItem } from "@/utils/tauri-events" + import Icon from "@iconify/svelte" + import { db } from "@kksh/api/commands" + import { SearchModeEnum, SQLSortOrderEnum, type ExtData } from "@kksh/api/models" + import { Button, Command, Resizable } from "@kksh/svelte5" + import { Constants } from "@kksh/ui" + import { CustomCommandInput, GlobalCommandPaletteFooter } from "@kksh/ui/main" + import type { UnlistenFn } from "@tauri-apps/api/event" + import { ArrowLeft, FileQuestionIcon, ImageIcon, LetterTextIcon } from "lucide-svelte" + import { onDestroy, onMount, type Snippet } from "svelte" + import ContentPreview from "./content-preview.svelte" + + let searchTerm = $state("") + let clipboardHistoryList = $state([]) + let highlightedItemValue = $state("") + let highlighted = $state(null) + let unlistenClipboard = $state(null) + let isScrolling = $state(false) + let page = $state(1) + + let clipboardHistoryMap = $derived( + clipboardHistoryList.reduce( + (acc, item) => { + acc[item.dataId] = item + return acc + }, + {} as Record + ) + ) + + let clipboardHistoryIds = $derived(clipboardHistoryList.map((item) => item.dataId)) + let clipboardHistoryIdsSet = $derived(new Set(clipboardHistoryIds)) + + async function initClipboardHistory() { + const result = await db.searchExtensionData({ + extId: 1, + searchMode: SearchModeEnum.FTS, + limit: 50, + offset: (page - 1) * 50, + fields: ["search_text"], + orderByCreatedAt: SQLSortOrderEnum.Desc + }) + if (page === 1) { + // clear clipboardHistoryList when page is 1, because it's simply loading the first page, using previous search result will result in duplicate key error + clipboardHistoryList = result + } else { + clipboardHistoryList = [...result, ...clipboardHistoryList] + } + } + + onMount(async () => { + listenToNewClipboardItem(async (evt) => { + const result = await db.searchExtensionData({ + extId: 1, + searchMode: SearchModeEnum.FTS, + limit: 1, + fields: ["search_text"], + orderByCreatedAt: SQLSortOrderEnum.Desc + }) + if (result.length > 0) { + clipboardHistoryList = [result[0], ...clipboardHistoryList] + } + }).then((unlisten) => { + unlistenClipboard = unlisten + }) + }) + + onDestroy(() => { + unlistenClipboard?.() + }) + + $effect(() => { + // search sqlite when searchTerm changes + searchTerm + ;(async () => { + // console.log("searchTerm", searchTerm) + if (searchTerm === "") { + page = 1 + initClipboardHistory() + return + } + const ftsResult = await db.searchExtensionData({ + extId: 1, + searchMode: SearchModeEnum.FTS, + searchText: `${searchTerm}*`, + fields: ["search_text"], + orderByCreatedAt: SQLSortOrderEnum.Desc + }) + const likeResult = await db.searchExtensionData({ + extId: 1, + searchMode: SearchModeEnum.Like, + searchText: `%${searchTerm}%`, + fields: ["search_text"], + orderByCreatedAt: SQLSortOrderEnum.Desc + }) + // merge ftsResult and likeResult, remove duplicate items + const result = [...ftsResult, ...likeResult] + // sort result by createdAt + result.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime()) + // remove duplicate items from result list by dataId + const uniqueResult = result.filter( + (item, index, self) => index === self.findIndex((t) => t.dataId === item.dataId) + ) + clipboardHistoryList = uniqueResult + if (uniqueResult.length > 0) { + highlightedItemValue = uniqueResult[0].dataId.toString() + } + })() + }) + + $effect(() => { + if (!highlightedItemValue) { + return + } + try { + const dataId = parseInt(highlightedItemValue) + highlighted = clipboardHistoryMap[dataId] + } catch (error) { + console.error(error) + } + }) + + function onKeyDown(event: KeyboardEvent) { + if (event.key === "Escape") { + const inputEle = event.target as HTMLInputElement + if (inputEle.value === "") { + goHome() + } + inputEle.value = "" + searchTerm = "" + } + } + + async function onListScrolledToBottom() { + page++ + await initClipboardHistory() + } + + /** + * Handle scroll-to-bottom event + * @param e + */ + function onScroll(e: Event) { + const element = e.target as HTMLElement + if (!isScrolling && element?.scrollHeight - element?.scrollTop === element?.clientHeight) { + isScrolling = true + onListScrolledToBottom?.() + setTimeout(() => { + isScrolling = false + }, 500) + } + } + + +{#snippet leftSlot()} + +{/snippet} +{#snippet typeIcon(type: string)} + {#if type === "Text"} + + {:else if type === "Html"} + + {:else if type === "Image"} + + {:else} + + {/if} +{/snippet} + + + + + + + No results found. + {#each clipboardHistoryIds as dataId (dataId)} + + {@render typeIcon(clipboardHistoryMap[dataId].dataType)} + {clipboardHistoryMap[dataId].searchText} + + {/each} + + + + + {#if highlighted} + + {:else} +
No content preview available
+ {/if} +
+
+ +
diff --git a/apps/desktop/src/routes/extension/clipboard/content-preview.svelte b/apps/desktop/src/routes/extension/clipboard/content-preview.svelte new file mode 100644 index 0000000..ca8ba60 --- /dev/null +++ b/apps/desktop/src/routes/extension/clipboard/content-preview.svelte @@ -0,0 +1,103 @@ + + + + +
+ +
+ {#if highlighted.dataType === "Image"}{:else if highlighted.dataType === "Text"} +
{txtData}
+ {:else if highlighted.dataType === "Html"} +
+ {@html DOMPurify.sanitize(txtData)} +
+ {:else} +
No preview available
+ {/if} + +
+ + +

Information

+ {#if createTime} + {@render row("Copied At", formatDate(createTime))} + {/if} + + {@render row("Content Type", highlighted.dataType || "")} + {#if highlighted.dataType === "Image"} + {#if imgRef} + + {@render row("Dimension", `${imgRef.naturalWidth}x${imgRef.naturalHeight}`)} + {/if} + {:else} + + {@render row("Character Count", txtData.length.toString())} + + {@render row("Word Count", txtData.split(/\s+/).length.toString())} + {/if} +
+
+{#snippet row(label: string, value: string)} +
+ {label} + {value} +
+{/snippet} diff --git a/apps/desktop/src/routes/extension/store/+page.svelte b/apps/desktop/src/routes/extension/store/+page.svelte index d8d7a1f..4ddff1a 100644 --- a/apps/desktop/src/routes/extension/store/+page.svelte +++ b/apps/desktop/src/routes/extension/store/+page.svelte @@ -12,6 +12,7 @@ import { CustomCommandInput, GlobalCommandPaletteFooter } from "@kksh/ui/main" import { goto } from "$app/navigation" import { ArrowLeft } from "lucide-svelte" + import type { Snippet } from "svelte" import { toast } from "svelte-sonner" let { data } = $props() @@ -80,7 +81,7 @@ diff --git a/apps/desktop/src/routes/settings/+layout.svelte b/apps/desktop/src/routes/settings/+layout.svelte index a00c55b..7a08395 100644 --- a/apps/desktop/src/routes/settings/+layout.svelte +++ b/apps/desktop/src/routes/settings/+layout.svelte @@ -11,7 +11,7 @@ -
+
{@render children?.()}
diff --git a/apps/desktop/src/routes/settings/add-dev-extension/+page.svelte b/apps/desktop/src/routes/settings/add-dev-extension/+page.svelte index e239a44..8dbe4bd 100644 --- a/apps/desktop/src/routes/settings/add-dev-extension/+page.svelte +++ b/apps/desktop/src/routes/settings/add-dev-extension/+page.svelte @@ -1,22 +1,5 @@
diff --git a/package.json b/package.json index 3cf2ea0..9a618f3 100644 --- a/package.json +++ b/package.json @@ -13,43 +13,43 @@ "@ianvs/prettier-plugin-sort-imports": "^4.4.0", "@kksh/api": "workspace:*", "@kksh/svelte5": "0.1.10", - "prettier": "^3.3.3", - "prettier-plugin-svelte": "^3.2.8", - "prettier-plugin-tailwindcss": "^0.6.8", - "svelte": "^5.2.3", - "svelte-check": "^4.0.9", - "turbo": "^2.3.0", - "typescript": "5.6.3" + "prettier": "^3.4.2", + "prettier-plugin-svelte": "^3.3.2", + "prettier-plugin-tailwindcss": "^0.6.9", + "svelte": "^5.14.4", + "svelte-check": "^4.1.1", + "turbo": "^2.3.3", + "typescript": "5.7.2" }, - "packageManager": "pnpm@9.14.2", + "packageManager": "pnpm@9.15.0", "engines": { "node": ">=22" }, "dependencies": { - "@changesets/cli": "^2.27.9", - "@iconify/svelte": "^4.0.2", - "@supabase/supabase-js": "^2.46.1", + "@changesets/cli": "^2.27.11", + "@iconify/svelte": "^4.1.0", + "@supabase/supabase-js": "^2.47.9", "@tauri-apps/api": "^2.1.1", "@tauri-apps/cli": "^2.1.0", - "@tauri-apps/plugin-deep-link": "^2.0.0", - "@tauri-apps/plugin-dialog": "^2.0.1", - "@tauri-apps/plugin-fs": "^2.0.2", - "@tauri-apps/plugin-global-shortcut": "^2.0.0", - "@tauri-apps/plugin-http": "^2.0.1", - "@tauri-apps/plugin-log": "^2.0.0", - "@tauri-apps/plugin-notification": "^2.0.0", - "@tauri-apps/plugin-os": "^2.0.0", - "@tauri-apps/plugin-process": "2.0.0", - "@tauri-apps/plugin-shell": "^2.0.1", - "@tauri-apps/plugin-store": "^2.1.0", - "@tauri-apps/plugin-updater": "^2.0.0", + "@tauri-apps/plugin-deep-link": "^2.2.0", + "@tauri-apps/plugin-dialog": "^2.2.0", + "@tauri-apps/plugin-fs": "^2.2.0", + "@tauri-apps/plugin-global-shortcut": "^2.2.0", + "@tauri-apps/plugin-http": "^2.2.0", + "@tauri-apps/plugin-log": "^2.2.0", + "@tauri-apps/plugin-notification": "^2.2.0", + "@tauri-apps/plugin-os": "^2.2.0", + "@tauri-apps/plugin-process": "2.2.0", + "@tauri-apps/plugin-shell": "^2.2.0", + "@tauri-apps/plugin-store": "^2.2.0", + "@tauri-apps/plugin-updater": "^2.3.0", "@tauri-apps/plugin-upload": "https://gitpkg.vercel.app/HuakunShen/tauri-plugins-workspace/plugins/upload?69b198b0ccba269fe7622a95ec6a33ae392bff03", - "supabase": "^1.219.2", + "supabase": "^2.1.1", "tauri-plugin-network-api": "workspace:*", "tauri-plugin-shellx-api": "^2.0.14", "tauri-plugin-system-info-api": "workspace:*", "valibot": "^1.0.0-beta.9", - "zod": "^3.23.8" + "zod": "^3.24.1" }, "workspaces": [ "apps/*", diff --git a/packages/api/package.json b/packages/api/package.json index a53c581..0446d1a 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -31,28 +31,28 @@ "@types/bun": "latest", "@types/lodash": "^4.17.13", "@types/madge": "^5.0.3", - "@types/node": "^22.8.7", + "@types/node": "^22.10.2", "@types/semver": "^7.5.8", "fs-extra": "^11.2.0", "madge": "^8.0.0", - "typedoc": "^0.26.11", - "typescript": "^5.6.3" + "typedoc": "^0.27.5", + "typescript": "^5.0.0" }, "dependencies": { "@tauri-apps/api": "^2.1.1", "@tauri-apps/cli": "^2.1.0", - "@tauri-apps/plugin-deep-link": "^2.0.0", - "@tauri-apps/plugin-dialog": "^2.0.1", - "@tauri-apps/plugin-fs": "^2.0.2", - "@tauri-apps/plugin-global-shortcut": "^2.0.0", - "@tauri-apps/plugin-http": "^2.0.1", - "@tauri-apps/plugin-log": "^2.0.0", - "@tauri-apps/plugin-notification": "^2.0.0", - "@tauri-apps/plugin-os": "^2.0.0", - "@tauri-apps/plugin-process": "2.0.0", - "@tauri-apps/plugin-shell": "^2.0.1", - "@tauri-apps/plugin-store": "^2.1.0", - "@tauri-apps/plugin-updater": "^2.0.0", + "@tauri-apps/plugin-deep-link": "^2.2.0", + "@tauri-apps/plugin-dialog": "^2.2.0", + "@tauri-apps/plugin-fs": "^2.2.0", + "@tauri-apps/plugin-global-shortcut": "^2.2.0", + "@tauri-apps/plugin-http": "^2.2.0", + "@tauri-apps/plugin-log": "^2.2.0", + "@tauri-apps/plugin-notification": "^2.2.0", + "@tauri-apps/plugin-os": "^2.2.0", + "@tauri-apps/plugin-process": "2.2.0", + "@tauri-apps/plugin-shell": "^2.2.0", + "@tauri-apps/plugin-store": "^2.2.0", + "@tauri-apps/plugin-updater": "^2.3.0", "@tauri-apps/plugin-upload": "https://gitpkg.vercel.app/HuakunShen/tauri-plugins-workspace/plugins/upload?69b198b0ccba269fe7622a95ec6a33ae392bff03", "kkrpc": "^0.0.13", "lodash": "^4.17.21", diff --git a/packages/api/src/commands/db.ts b/packages/api/src/commands/db.ts index cf9d44a..5524db1 100644 --- a/packages/api/src/commands/db.ts +++ b/packages/api/src/commands/db.ts @@ -2,7 +2,7 @@ import { invoke } from "@tauri-apps/api/core" import { array, literal, optional, parse, safeParse, union, type InferOutput } from "valibot" import { KUNKUN_EXT_IDENTIFIER } from "../constants" import { CmdType, Ext, ExtCmd, ExtData } from "../models/extension" -import { convertDateToSqliteString, SQLSortOrder } from "../models/sql" +import { convertDateToSqliteString, SearchMode, SearchModeEnum, SQLSortOrder } from "../models/sql" import { generateJarvisPluginCommand } from "./common" /* -------------------------------------------------------------------------- */ @@ -155,7 +155,7 @@ export function createExtensionData(data: { return invoke(generateJarvisPluginCommand("create_extension_data"), data) } -export function getExtensionDataById(dataId: number) { +export function getExtensionDataById(dataId: number, fields?: ExtDataField[]) { return invoke< | (ExtData & { createdAt: string @@ -165,7 +165,8 @@ export function getExtensionDataById(dataId: number) { }) | undefined >(generateJarvisPluginCommand("get_extension_data_by_id"), { - dataId + dataId, + fields }).then(convertRawExtDataToExtData) } @@ -177,13 +178,14 @@ export function getExtensionDataById(dataId: number) { */ export async function searchExtensionData(searchParams: { extId: number - searchExactMatch: boolean + searchMode: SearchMode dataId?: number dataType?: string searchText?: string afterCreatedAt?: string beforeCreatedAt?: string limit?: number + offset?: number orderByCreatedAt?: SQLSortOrder orderByUpdatedAt?: SQLSortOrder fields?: ExtDataField[] @@ -197,8 +199,10 @@ export async function searchExtensionData(searchParams: { searchText: null | string })[] >(generateJarvisPluginCommand("search_extension_data"), { - ...searchParams, - fields + searchQuery: { + ...searchParams, + fields + } }) return items.map(convertRawExtDataToExtData).filter((item) => item) as ExtData[] @@ -272,7 +276,7 @@ export class JarvisExtDB { async search(searchParams: { dataId?: number - fullTextSearch?: boolean + searchMode?: SearchMode dataType?: string searchText?: string afterCreatedAt?: Date @@ -290,7 +294,7 @@ export class JarvisExtDB { : undefined return searchExtensionData({ ...searchParams, - searchExactMatch: searchParams.fullTextSearch ?? true, + searchMode: searchParams.searchMode ?? SearchModeEnum.FTS, extId: this.extId, beforeCreatedAt, afterCreatedAt diff --git a/packages/api/src/models/sql.ts b/packages/api/src/models/sql.ts index 50b5bc0..eddb49f 100644 --- a/packages/api/src/models/sql.ts +++ b/packages/api/src/models/sql.ts @@ -8,6 +8,15 @@ export enum SQLSortOrderEnum { export const SQLSortOrder = enum_(SQLSortOrderEnum) export type SQLSortOrder = InferOutput +export enum SearchModeEnum { + ExactMatch = "exact_match", + Like = "like", + FTS = "fts" +} + +export const SearchMode = enum_(SearchModeEnum) +export type SearchMode = InferOutput + export function convertDateToSqliteString(date: Date) { const pad = (num: number) => num.toString().padStart(2, "0") diff --git a/packages/api/src/ui/server/fs.ts b/packages/api/src/ui/server/fs.ts index 6d9875d..d25a8da 100644 --- a/packages/api/src/ui/server/fs.ts +++ b/packages/api/src/ui/server/fs.ts @@ -133,7 +133,11 @@ export function constructFsApi(permissions: FsPermissionScoped[], extensionDir: extensionDir, options ).then(() => fsTruncate(path, len, options)), - writeFile: (path: string | URL, data: Uint8Array, options?: WriteFileOptions) => + writeFile: ( + path: string | URL, + data: Uint8Array | ReadableStream, + options?: WriteFileOptions + ) => verifyGeneralPathScopedPermission( FsPermissionMap.truncate, permissions, diff --git a/packages/db/sql/2024-10-23.sql b/packages/db/sql/2024-10-23.sql index 5da287f..3dba28f 100644 --- a/packages/db/sql/2024-10-23.sql +++ b/packages/db/sql/2024-10-23.sql @@ -37,6 +37,7 @@ CREATE TABLE IF NOT EXISTS extension_data ( ext_id INTEGER NOT NULL, data_type TEXT NOT NULL, data JSON NOT NULL, + metadata JSON, search_text TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, diff --git a/packages/db/src/lib.rs b/packages/db/src/lib.rs index 98fbd7e..12d069f 100644 --- a/packages/db/src/lib.rs +++ b/packages/db/src/lib.rs @@ -1,10 +1,9 @@ pub mod models; pub mod schema; -use models::CmdType; +use models::{CmdType, ExtDataField, ExtDataSearchQuery, SearchMode}; use rusqlite::{params, params_from_iter, Connection, Result, ToSql}; -use serde::{Deserialize, Serialize}; -use std::path::{Path}; -use strum_macros::Display; +use serde_json::{json, Value}; +use std::path::Path; pub const DB_VERSION: u32 = 1; @@ -24,20 +23,6 @@ pub struct JarvisDB { pub conn: Connection, } -#[derive(Debug, Serialize, Deserialize, Display)] -#[serde(rename_all = "UPPERCASE")] -pub enum SQLSortOrder { - Asc, - Desc, -} - -#[derive(Debug, Serialize, Deserialize, Display, PartialEq)] -#[serde(rename_all = "snake_case")] -pub enum ExtDataField { - Data, - SearchText, -} - impl JarvisDB { pub fn new>(file_path: P, encryption_key: Option) -> Result { let conn = get_connection(file_path, encryption_key)?; @@ -338,51 +323,20 @@ impl JarvisDB { data_type: &str, data: &str, search_text: Option<&str>, + metadata: Option<&str>, ) -> Result<()> { self.conn.execute( - "INSERT INTO extension_data (ext_id, data_type, data, search_text) VALUES (?1, ?2, ?3, ?4)", - params![ext_id, data_type, data, search_text], + "INSERT INTO extension_data (ext_id, data_type, data, search_text, metadata) VALUES (?1, ?2, ?3, ?4, ?5)", + params![ext_id, data_type, data, search_text, metadata], )?; Ok(()) } - pub fn get_extension_data_by_id(&self, data_id: i32) -> Result> { - let mut stmt = self.conn.prepare( - "SELECT data_id, ext_id, data_type, data, search_text, created_at, updated_at FROM extension_data WHERE data_id = ?1", - )?; - let ext_data_iter = stmt.query_map(params![data_id], |row| { - Ok(models::ExtData { - data_id: row.get(0)?, - ext_id: row.get(1)?, - data_type: row.get(2)?, - data: row.get(3)?, - search_text: row.get(4)?, - created_at: row.get(5)?, - updated_at: row.get(6)?, - }) - })?; - let mut ext_data = Vec::new(); - for data in ext_data_iter { - ext_data.push(data?); - } - Ok(ext_data.first().cloned()) - } - - pub fn search_extension_data( + pub fn get_extension_data_by_id( &self, - ext_id: i32, - search_exact_match: bool, - data_id: Option, - data_type: Option<&str>, - search_text: Option<&str>, - after_created_at: Option<&str>, - before_created_at: Option<&str>, - limit: Option, - order_by_created_at: Option, - order_by_updated_at: Option, - fields: Option>, - ) -> Result> { - let mut fields = fields; + data_id: i32, + mut fields: Option>, + ) -> Result> { if fields.is_none() { fields = Some(vec![ExtDataField::Data, ExtDataField::SearchText]); } @@ -401,69 +355,151 @@ impl JarvisDB { } query.push_str( " FROM extension_data - WHERE ext_id = ?1", + WHERE data_id = ?1", ); - let mut params: Vec> = vec![Box::new(ext_id)]; + let mut stmt = self.conn.prepare(&query)?; + let ext_data_iter = stmt.query_map(params![data_id], |row| { + Ok(models::ExtData { + data_id: row.get(0)?, + ext_id: row.get(1)?, + data_type: row.get(2)?, + created_at: row.get(3)?, + updated_at: row.get(4)?, + data: match contains_data_field { + true => Some(row.get(5)?), + false => None, + }, + search_text: match contains_search_text_field { + true => row.get(5 + contains_data_field as usize)?, // if contains_data_field is true, search_text is at index 6, otherwise 5 + false => None, + }, + }) + })?; + let mut ext_data = Vec::new(); + for data in ext_data_iter { + ext_data.push(data?); + } + Ok(ext_data.first().cloned()) + } + + /// Sample Queries With Different Search Modes + /// ## Full Text Search (FTS) Mode: + /// ```sql + /// SELECT extension_data.* + /// FROM extension_data + /// JOIN extension_data_fts ON extension_data.data_id = extension_data_fts.data_id + /// WHERE extension_data_fts.search_text MATCH 'extension_data'; + /// ``` + /// ## Exact Match Mode: + /// ```sql + /// SELECT extension_data.* + /// FROM extension_data + /// WHERE extension_data.search_text = 'extension_data'; + /// ``` + /// ## Like Mode: + /// ```sql + /// SELECT extension_data.* + /// FROM extension_data + /// WHERE extension_data.search_text LIKE '%extension_data%'; + /// ``` + pub fn search_extension_data( + &self, + search_query: ExtDataSearchQuery, + ) -> Result> { + let mut fields = search_query.fields; + if fields.is_none() { + fields = Some(vec![ExtDataField::Data, ExtDataField::SearchText]); + } + let contains_data_field = fields.as_ref().map_or(false, |fields| { + fields.iter().any(|f| f == &ExtDataField::Data) + }); + let contains_search_text_field = fields.as_ref().map_or(false, |fields| { + fields.iter().any(|f| f == &ExtDataField::SearchText) + }); + let mut query = String::from("SELECT ed.data_id as data_id, ed.ext_id as ext_id, ed.data_type as data_type, ed.created_at as created_at, ed.updated_at as updated_at"); + if contains_data_field { + query.push_str(", ed.data as data"); + } + if contains_search_text_field { + query.push_str(", ed.search_text as search_text"); + } + query.push_str(" FROM extension_data ed"); + if search_query.search_mode == SearchMode::FTS { + query.push_str(" JOIN extension_data_fts edf ON ed.data_id = edf.data_id"); + } + query.push_str(" WHERE ed.ext_id = ?1"); + let mut params: Vec> = vec![Box::new(search_query.ext_id)]; let mut param_index = 2; - if let Some(di) = data_id { + if let Some(di) = search_query.data_id { query.push_str(&format!(" AND data_id = ?{}", param_index)); params.push(Box::new(di)); param_index += 1; } - if let Some(dt) = data_type { + if let Some(dt) = search_query.data_type { query.push_str(&format!(" AND data_type = ?{}", param_index)); params.push(Box::new(dt)); param_index += 1; } - if search_exact_match { - if let Some(st) = search_text { - query.push_str(&format!(" AND search_text = ?{}", param_index)); - params.push(Box::new(st)); - param_index += 1; - } - } else { - if let Some(st) = search_text { - query.push_str(&format!(" AND search_text LIKE ?{}", param_index)); - params.push(Box::new(format!("%{}%", st))); - param_index += 1; + if let Some(st) = search_query.search_text { + match search_query.search_mode { + SearchMode::ExactMatch => { + query.push_str(&format!(" AND ed.search_text = ?{}", param_index)); + params.push(Box::new(st)); + } + SearchMode::Like => { + query.push_str(&format!(" AND ed.search_text LIKE ?{}", param_index)); + params.push(Box::new(format!("{}", st))); + } + SearchMode::FTS => { + // Join with FTS table and use MATCH operator + query.push_str(&format!(" AND edf.search_text MATCH ?{}", param_index)); + params.push(Box::new(st)); + } } + param_index += 1; } - if let Some(after) = after_created_at { + if let Some(after) = search_query.after_created_at { query.push_str(&format!(" AND created_at > ?{}", param_index)); params.push(Box::new(after)); param_index += 1; } - if let Some(before) = before_created_at { + if let Some(before) = search_query.before_created_at { query.push_str(&format!(" AND created_at < ?{}", param_index)); params.push(Box::new(before)); param_index += 1; } - if let Some(order_by_created_at) = order_by_created_at { + if let Some(order_by_created_at) = search_query.order_by_created_at { query.push_str(&format!( " ORDER BY created_at {}", order_by_created_at.to_string() )); } - if let Some(order_by_updated_at) = order_by_updated_at { + if let Some(order_by_updated_at) = search_query.order_by_updated_at { query.push_str(&format!( " ORDER BY updated_at {}", order_by_updated_at.to_string() )); } - if let Some(limit) = limit { + if let Some(limit) = search_query.limit { query.push_str(&format!(" LIMIT ?{}", param_index)); params.push(Box::new(limit)); + param_index += 1; + } + if let Some(offset) = search_query.offset { + query.push_str(&format!(" OFFSET ?{}", param_index)); + params.push(Box::new(offset)); + param_index += 1; } let mut stmt = self.conn.prepare(&query)?; - + // println!("search_extension_data query: {}", query); let ext_data_iter = stmt.query_map(params_from_iter(params.iter().map(|p| p.as_ref())), |row| { Ok(models::ExtData { @@ -587,224 +623,285 @@ mod tests { .unwrap() .unwrap(); - db.create_extension_data(ext.ext_id, "test", "{}", None) + db.create_extension_data(ext.ext_id, "test", "{}", None, None) .unwrap(); - db.create_extension_data(ext.ext_id, "setting", "{}", None) + db.create_extension_data(ext.ext_id, "setting", "{}", None, None) .unwrap(); /* ---------------------- Search with data_type == test --------------------- */ let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - Some("test"), - None, - None, - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: Some("test".to_string()), + search_text: None, + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); assert_eq!(ext_data.len(), 1); // there is only one record with data_type == test /* ------------------------ Search without any filter ----------------------- */ let ext_data = db - .search_extension_data( - ext.ext_id, false, None, None, None, None, None, None, None, None, None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: None, + search_text: None, + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); assert_eq!(ext_data.len(), 2); // one test, one setting - /* -------------------------- Test Full Text Search ------------------------- */ - db.create_extension_data(ext.ext_id, "data", "{}", Some("hello world from rust")) - .unwrap(); - db.create_extension_data(ext.ext_id, "data", "{}", Some("world is a mess")) - .unwrap(); - /* ----------------------- both record contains world ----------------------- */ + // /* -------------------------- Test Full Text Search ------------------------- */ + let json_data = json!({ + "name": "John Doe", + "age": 43, + "phones": [ + "+44 1234567", + "+44 2345678" + ] + }); + db.create_extension_data( + ext.ext_id, + "data", + "{}", + Some("hello world from rust"), + Some(json_data.to_string().as_str()), + ) + .unwrap(); + db.create_extension_data( + ext.ext_id, + "data", + "{}", + Some("world is a mess"), + Some(json_data.to_string().as_str()), + ) + .unwrap(); + // Search Mode: Like let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - Some("data"), - Some("wOrLd"), - None, - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::Like, + data_type: Some("data".to_string()), + search_text: Some("worl%".to_string()), + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) + .unwrap(); + assert_eq!(ext_data.len(), 1); + /* ----------------------- both record contains world ----------------------- */ + // Search Mode: FTS + let ext_data = db + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: Some("data".to_string()), + search_text: Some("wOrLd".to_string()), // FTS is case insensitive + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); assert_eq!(ext_data.len(), 2); /* ------------------------ search for rust with FTS ------------------------ */ let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - Some("data"), - Some("rust"), - None, - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: Some("data".to_string()), + search_text: Some("rust".to_string()), + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); assert_eq!(ext_data.len(), 1); // get ext data with search text that does not exist let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - Some("test"), - Some("test"), - None, - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: Some("test".to_string()), + search_text: Some("test".to_string()), + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); assert_eq!(ext_data.len(), 0); /* ---------------- All 4 test records are created after 2021 --------------- */ let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - None, - None, - Some("2021-01-01"), - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: None, + search_text: None, + after_created_at: Some("2021-01-01".to_string()), + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); assert_eq!(ext_data.len(), 4); - // I don't think this code(or I) could live long enough to see this test fail 2100 + // no filter, get all records let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - None, - None, - Some("2100-01-01"), - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: None, + search_text: None, + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); - assert_eq!(ext_data.len(), 0); + assert_eq!(ext_data.len(), 4); /* --------------- All 4 test records are created before 2030 --------------- */ // if this code still runs in 2030, I will be very happy to fix this test let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - None, - None, - None, - Some("2030-01-01"), - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: None, + search_text: None, + after_created_at: None, + before_created_at: Some("2030-01-01".to_string()), + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); assert_eq!(ext_data.len(), 4); // get ext data with created_at filter that does not exist let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - None, - None, - None, - Some("2021-01-01"), - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::ExactMatch, + data_type: None, + search_text: None, + after_created_at: Some("2021-01-01".to_string()), + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); - assert_eq!(ext_data.len(), 0); + assert_eq!(ext_data.len(), 4); /* ---------------------- Delete ext data by data_id ---------------------- */ // there is only one record with data_type == setting let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - Some("setting"), - None, - None, - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: Some("setting".to_string()), + search_text: None, + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); let data_id = ext_data.first().unwrap().data_id; db.delete_extension_data_by_id(data_id).unwrap(); let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - Some("setting"), - None, - None, - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: Some("setting".to_string()), + search_text: None, + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); assert_eq!(ext_data.len(), 0); /* ---------------------- Update ext data by data_id ---------------------- */ let ext_data = db - .search_extension_data( - ext.ext_id, - false, - None, - Some("data"), - None, - None, - None, - None, - None, - None, - None, - ) + .search_extension_data(ExtDataSearchQuery { + ext_id: ext.ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: Some("data".to_string()), + search_text: None, + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + }) .unwrap(); let data_id = ext_data.first().unwrap().data_id; db.update_extension_data_by_id(data_id, "{\"name\": \"huakun\"}", Some("updated")) .unwrap(); - let ext_data = db.get_extension_data_by_id(data_id).unwrap(); + let ext_data = db.get_extension_data_by_id(data_id, None).unwrap(); assert!(ext_data.is_some()); let ext_data = ext_data.unwrap(); assert_eq!(ext_data.data.unwrap(), "{\"name\": \"huakun\"}"); diff --git a/packages/db/src/models.rs b/packages/db/src/models.rs index 8e01968..c767391 100644 --- a/packages/db/src/models.rs +++ b/packages/db/src/models.rs @@ -1,5 +1,6 @@ use rusqlite::types::FromSql; use serde::{Deserialize, Serialize}; +use strum_macros::Display; #[derive(Debug, Serialize, Deserialize, Clone)] #[serde(rename_all = "camelCase")] @@ -71,6 +72,56 @@ pub struct Cmd { pub enabled: bool, } +#[derive(Debug, Serialize, Deserialize, Display)] +#[serde(rename_all = "UPPERCASE")] +pub enum SQLSortOrder { + Asc, + Desc, +} + +#[derive(Debug, Serialize, Deserialize, Display, PartialEq)] +#[serde(rename_all = "snake_case")] +pub enum ExtDataField { + Data, + SearchText, +} + +#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)] +pub enum SearchMode { + #[serde(rename = "exact_match")] + ExactMatch, + #[serde(rename = "like")] + Like, + #[serde(rename = "fts")] + FTS, +} + +impl SearchMode { + pub fn to_string(&self) -> String { + serde_json::to_string(self) + .map(|s| s.trim_matches('"').to_string()) + .unwrap_or_else(|_| String::from("")) + } +} + +#[derive(Debug, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct ExtDataSearchQuery { + pub ext_id: i32, + // pub search_exact_match: bool, + pub search_mode: SearchMode, + pub data_id: Option, + pub data_type: Option, + pub search_text: Option, + pub after_created_at: Option, + pub before_created_at: Option, + pub limit: Option, + pub offset: Option, + pub order_by_created_at: Option, + pub order_by_updated_at: Option, + pub fields: Option>, +} + #[cfg(test)] mod tests { use super::*; @@ -86,4 +137,11 @@ mod tests { assert_eq!(headless_worker.to_string(), "headless_worker"); assert_eq!(quick_link.to_string(), "quick_link"); } + + #[test] + fn test_search_mode() { + assert_eq!(SearchMode::ExactMatch.to_string(), "exact_match"); + assert_eq!(SearchMode::Like.to_string(), "like"); + assert_eq!(SearchMode::FTS.to_string(), "fts"); + } } diff --git a/packages/extension/src/load.ts b/packages/extension/src/load.ts index 4aafd28..55080cc 100644 --- a/packages/extension/src/load.ts +++ b/packages/extension/src/load.ts @@ -14,10 +14,13 @@ import { upsertExtension } from "./db" export function loadExtensionManifestFromDisk(manifestPath: string): Promise { debug(`loadExtensionManifestFromDisk: ${manifestPath}`) return readTextFile(manifestPath).then(async (content) => { - const parse = v.safeParse(ExtPackageJson, JSON.parse(content)) + console.log("content", content) + const json = JSON.parse(content) + console.log("manifest json", json) + const parse = v.safeParse(ExtPackageJson, json) if (parse.issues) { error(`Fail to load extension from ${manifestPath}. See console for parse error.`) - console.error(v.flatten(parse.issues)) + console.error("Parse Error:", v.flatten(parse.issues)) throw new Error(`Invalid manifest: ${manifestPath}`) } else { // debug(`Loaded extension ${parse.output.kunkun.identifier} from ${manifestPath}`) diff --git a/packages/grpc/build.ts b/packages/grpc/build.ts index 959b550..a5cde8b 100644 --- a/packages/grpc/build.ts +++ b/packages/grpc/build.ts @@ -14,7 +14,7 @@ console.log("process.env.CF_PAGES_URL", Bun.env.CF_PAGES_URL) console.log("process.env.CF_PAGES_BRANCH", Bun.env.CF_PAGES_BRANCH) console.log("process.env.CF_PAGES_COMMIT_SHA", Bun.env.CF_PAGES_COMMIT_SHA) if (Bun.env.CF_PAGES_URL) { - console.log("Skipping build in Cloudflare Pages, as cloudflare pages does not have protoc") + console.warn("Skipping build in Cloudflare Pages, as cloudflare pages does not have protoc") process.exit(0) } @@ -28,15 +28,16 @@ if (!fs.existsSync(srcPath)) { fs.rmSync(path.join(__dirname, "src/protos"), { recursive: true, force: true }) const protosDir = path.join(__dirname, "protos") +// find path to protoc command +const protocPath = Bun.which("protoc") +if (!protocPath) { + console.warn("protoc not found") + process.exit(0) +} for (const file of fs.readdirSync(protosDir)) { if (file.endsWith(".proto")) { try { - await $` - protoc \ - --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts \ - --ts_out=./src \ - -I . \ - ./protos/${file}` + await $`${protocPath} --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=./src -I . ./protos/${file}` } catch (error) { console.error(error) } diff --git a/packages/grpc/dev.ts b/packages/grpc/dev.ts index a3c9727..c4ee301 100644 --- a/packages/grpc/dev.ts +++ b/packages/grpc/dev.ts @@ -36,4 +36,4 @@ client.ServerInfo(new kk.kunkun.Empty(), (err, response) => { console.error(err) } }) -// To trust any SSL cert, set NODE_TLS_REJECT_UNAUTHORIZED='0' \ No newline at end of file +// To trust any SSL cert, set NODE_TLS_REJECT_UNAUTHORIZED='0' diff --git a/packages/tauri-plugins/jarvis/src/commands/db.rs b/packages/tauri-plugins/jarvis/src/commands/db.rs index 6b0cccd..f833837 100644 --- a/packages/tauri-plugins/jarvis/src/commands/db.rs +++ b/packages/tauri-plugins/jarvis/src/commands/db.rs @@ -1,6 +1,6 @@ use db::{ - models::{Cmd, CmdType, Ext, ExtData}, - ExtDataField, JarvisDB, SQLSortOrder, + models::{Cmd, CmdType, Ext, ExtData, ExtDataField, ExtDataSearchQuery, SQLSortOrder}, + JarvisDB, }; use std::{path::PathBuf, sync::Mutex}; use tauri::State; @@ -191,53 +191,32 @@ pub async fn create_extension_data( db.db .lock() .unwrap() - .create_extension_data(ext_id, data_type, data, search_text) + .create_extension_data(ext_id, data_type, data, search_text, None) .map_err(|err| err.to_string()) } #[tauri::command] pub async fn get_extension_data_by_id( data_id: i32, + fields: Option>, db: State<'_, DBState>, ) -> Result, String> { db.db .lock() .unwrap() - .get_extension_data_by_id(data_id) + .get_extension_data_by_id(data_id, fields) .map_err(|err| err.to_string()) } #[tauri::command] pub async fn search_extension_data( - ext_id: i32, - search_exact_match: bool, - data_id: Option, - data_type: Option<&str>, - search_text: Option<&str>, - after_created_at: Option<&str>, - before_created_at: Option<&str>, db: State<'_, DBState>, - limit: Option, - order_by_created_at: Option, - order_by_updated_at: Option, - fields: Option>, + search_query: ExtDataSearchQuery, ) -> Result, String> { db.db .lock() .unwrap() - .search_extension_data( - ext_id, - search_exact_match, - data_id, - data_type, - search_text, - after_created_at, - before_created_at, - limit, - order_by_created_at, - order_by_updated_at, - fields, - ) + .search_extension_data(search_query) .map_err(|err| err.to_string()) } diff --git a/packages/tauri-plugins/jarvis/src/lib.rs b/packages/tauri-plugins/jarvis/src/lib.rs index 3457ed9..61c18b9 100644 --- a/packages/tauri-plugins/jarvis/src/lib.rs +++ b/packages/tauri-plugins/jarvis/src/lib.rs @@ -190,6 +190,14 @@ pub fn init(db_key: Option) -> TauriPlugin { setup::db::setup_db(app)?; println!("Jarvis Plugin Initialized"); app.manage(Peers::default()); + + // let jarvis_db = utils::db::get_db(db_path, db_key)?; + // let ext = jarvis_db + // .get_unique_extension_by_identifier(constants::KUNKUN_CLIPBOARD_EXT_IDENTIFIER)?; + // app.manage(model::clipboard_history::ClipboardHistory::new( + // jarvis_db, + // ext.unwrap().ext_id, + // )); Ok(()) }) .build() diff --git a/packages/tauri-plugins/jarvis/src/model/clipboard_history.rs b/packages/tauri-plugins/jarvis/src/model/clipboard_history.rs index 05ffff2..1d4f45e 100644 --- a/packages/tauri-plugins/jarvis/src/model/clipboard_history.rs +++ b/packages/tauri-plugins/jarvis/src/model/clipboard_history.rs @@ -1,4 +1,7 @@ -use db::JarvisDB; +use db::{ + models::{ExtDataSearchQuery, SearchMode}, + JarvisDB, +}; use serde::{Deserialize, Serialize}; use std::{str::FromStr, sync::Mutex}; use strum_macros::{Display, EnumString}; @@ -23,8 +26,8 @@ pub struct Record { pub struct ClipboardHistory { // pub history: Mutex>, - jarvis_db: Mutex, - clipboard_ext_id: i32, + pub jarvis_db: Mutex, + pub clipboard_ext_id: i32, } impl ClipboardHistory { @@ -44,25 +47,27 @@ impl ClipboardHistory { &record.content_type.to_string(), &record.value, Some(&record.text), + None, )?; Ok(()) } pub fn get_all_records(&self) -> anyhow::Result> { let jdb = self.jarvis_db.lock().unwrap(); - let db_records = jdb.search_extension_data( - self.clipboard_ext_id, - false, - None, - None, - None, - None, - None, - None, - None, - None, - None, - )?; + let db_records = jdb.search_extension_data(ExtDataSearchQuery { + ext_id: self.clipboard_ext_id, + fields: None, + data_id: None, + search_mode: SearchMode::FTS, + data_type: None, + search_text: None, + after_created_at: None, + before_created_at: None, + order_by_created_at: None, + order_by_updated_at: None, + limit: None, + offset: None, + })?; let mut records = vec![]; for r in db_records { match crate::utils::time::sqlite_timestamp_to_unix_timestamp(&r.created_at) { diff --git a/packages/templates/template-ext-vue/tailwind.config.js b/packages/templates/template-ext-vue/tailwind.config.js index 1563b09..44e2fd2 100644 --- a/packages/templates/template-ext-vue/tailwind.config.js +++ b/packages/templates/template-ext-vue/tailwind.config.js @@ -1,7 +1,7 @@ import animate from "tailwindcss-animate" /** @type {import('tailwindcss').Config} */ -module.exports = { +export default { darkMode: ["class"], safelist: ["dark"], prefix: "", diff --git a/packages/ui/package.json b/packages/ui/package.json index c3c06ae..ab988ee 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -34,30 +34,30 @@ "lint": "eslint ." }, "devDependencies": { - "@iconify/svelte": "^4.0.2", + "@iconify/svelte": "^4.1.0", "@kksh/api": "workspace:*", "@kksh/svelte5": "^0.1.10", "@types/bun": "latest", - "bits-ui": "1.0.0-next.60", + "bits-ui": "1.0.0-next.72", "clsx": "^2.1.1", "formsnap": "2.0.0-next.1", - "lucide-svelte": "^0.460.1", + "lucide-svelte": "^0.468.0", "mode-watcher": "^0.5.0", "paneforge": "1.0.0-next.1", - "shiki": "^1.23.1", + "shiki": "^1.24.2", "svelte-radix": "^2.0.1", "svelte-sonner": "^0.3.28", - "sveltekit-superforms": "^2.20.1", - "tailwind-merge": "^2.5.4", + "sveltekit-superforms": "^2.22.1", + "tailwind-merge": "^2.5.5", "tailwind-variants": "^0.3.0", - "tailwindcss": "^3.4.15", + "tailwindcss": "^3.4.17", "tailwindcss-animate": "^1.0.7", "tauri-plugin-shellx-api": "^2.0.14", - "zod": "^3.23.8" + "zod": "^3.24.1" }, "dependencies": { "@formkit/auto-animate": "^0.8.2", - "@internationalized/date": "^3.5.6", + "@internationalized/date": "^3.6.0", "@std/semver": "npm:@jsr/std__semver@^1.0.3", "gsap": "^3.12.5", "svelte-markdown": "^0.4.1" diff --git a/packages/ui/src/components/main/CustomCommandInput.svelte b/packages/ui/src/components/main/CustomCommandInput.svelte index a5b5ae7..0776d6d 100644 --- a/packages/ui/src/components/main/CustomCommandInput.svelte +++ b/packages/ui/src/components/main/CustomCommandInput.svelte @@ -20,7 +20,7 @@ {@render leftSlot?.()} =18'} - '@effect/schema@0.75.5': - resolution: {integrity: sha512-TQInulTVCuF+9EIbJpyLP6dvxbQJMphrnRqgexm/Ze39rSjfhJuufF7XvU3SxTgg3HnL7B/kpORTJbHhlE6thw==} - peerDependencies: - effect: ^3.9.2 - '@emotion/babel-plugin@11.12.0': resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==} @@ -2010,6 +2008,9 @@ packages: resolution: {integrity: sha512-3xGptCurm23e7nuPQkdrE5rEs1FeTPHhAUsBuwwqG4/YeZLwJOoYZv+fmsppUEfo5y9lzUwNQrNqLS/q7HMc7g==} hasBin: true + '@gerrit0/mini-shiki@1.24.4': + resolution: {integrity: sha512-YEHW1QeAg6UmxEmswiQbOVEg1CW22b1XUD/lNTliOsu0LD0wqoyleFMnmbTp697QE0pcadQiR5cVtbbAPncvpw==} + '@grpc/grpc-js@1.12.2': resolution: {integrity: sha512-bgxdZmgTrJZX50OjyVwz3+mNEnCTNkh3cIqGPWVNeW9jX6bn1ZkU80uPd+67/ZpIJIjRQ9qaHCjhavyoWYxumg==} engines: {node: '>=12.10.0'} @@ -2071,8 +2072,8 @@ packages: '@vue/compiler-sfc': optional: true - '@iconify/svelte@4.0.2': - resolution: {integrity: sha512-6BSrU85FzGfhQD3bTXpnkCCvBAglEt8T9QednVnXAYm4C+d3464y+pYMzhQNJm5mPId2cuiw+2wXlDflXllHDw==} + '@iconify/svelte@4.1.0': + resolution: {integrity: sha512-6oLonIDZHXPcQa9ZKbJocaOUMOV+ALeGPVDfex/lwdlHRNUxtJzI6pu121SaoVoXpRGSAYXB/VCv/MuYzCjn5w==} peerDependencies: svelte: '>4.0.0' @@ -2142,6 +2143,9 @@ packages: '@internationalized/date@3.5.6': resolution: {integrity: sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==} + '@internationalized/date@3.6.0': + resolution: {integrity: sha512-+z6ti+CcJnRlLHok/emGEsWQhe7kfSmEW+/6qCzvKY67YPh7YOBfvc7+/+NXq+zJlbArg30tYpqLjNgcAYv2YQ==} + '@internationalized/number@3.5.4': resolution: {integrity: sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==} @@ -3280,6 +3284,19 @@ packages: tslib: optional: true + '@rollup/plugin-typescript@12.1.2': + resolution: {integrity: sha512-cdtSp154H5sv637uMr1a8OTWB0L1SWDSm1rDGiyfcGcvQ6cuTs4MDk2BVEBGysUWago4OJN4EQZqOTl/QY3Jgg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0||^4.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + '@rollup/pluginutils@4.2.1': resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -3303,6 +3320,11 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.28.1': + resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.24.3': resolution: {integrity: sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q==} cpu: [arm64] @@ -3313,6 +3335,11 @@ packages: cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.28.1': + resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.24.3': resolution: {integrity: sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w==} cpu: [arm64] @@ -3323,6 +3350,11 @@ packages: cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.28.1': + resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.24.3': resolution: {integrity: sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow==} cpu: [x64] @@ -3333,6 +3365,11 @@ packages: cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.28.1': + resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.24.3': resolution: {integrity: sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A==} cpu: [arm64] @@ -3343,6 +3380,11 @@ packages: cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.28.1': + resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.24.3': resolution: {integrity: sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg==} cpu: [x64] @@ -3353,6 +3395,11 @@ packages: cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.28.1': + resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.24.3': resolution: {integrity: sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A==} cpu: [arm] @@ -3363,6 +3410,11 @@ packages: cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': + resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.24.3': resolution: {integrity: sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw==} cpu: [arm] @@ -3373,6 +3425,11 @@ packages: cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.28.1': + resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.24.3': resolution: {integrity: sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ==} cpu: [arm64] @@ -3383,6 +3440,11 @@ packages: cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.28.1': + resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.24.3': resolution: {integrity: sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw==} cpu: [arm64] @@ -3393,6 +3455,16 @@ packages: cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.28.1': + resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.24.3': resolution: {integrity: sha512-yNaWw+GAO8JjVx3s3cMeG5Esz1cKVzz8PkTJSfYzE5u7A+NvGmbVFEHP+BikTIyYWuz0+DX9kaA3pH9Sqxp69g==} cpu: [ppc64] @@ -3403,6 +3475,11 @@ packages: cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.24.3': resolution: {integrity: sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA==} cpu: [riscv64] @@ -3413,6 +3490,11 @@ packages: cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.28.1': + resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.24.3': resolution: {integrity: sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw==} cpu: [s390x] @@ -3423,6 +3505,11 @@ packages: cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.28.1': + resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.24.3': resolution: {integrity: sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ==} cpu: [x64] @@ -3433,6 +3520,11 @@ packages: cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.28.1': + resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.24.3': resolution: {integrity: sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw==} cpu: [x64] @@ -3443,6 +3535,11 @@ packages: cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.28.1': + resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.24.3': resolution: {integrity: sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA==} cpu: [arm64] @@ -3453,6 +3550,11 @@ packages: cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.28.1': + resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.24.3': resolution: {integrity: sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ==} cpu: [ia32] @@ -3463,6 +3565,11 @@ packages: cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.28.1': + resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.24.3': resolution: {integrity: sha512-HGZgRFFYrMrP3TJlq58nR1xy8zHKId25vhmm5S9jETEfDf6xybPxsavFTJaufe2zgOGYJBskGlj49CwtEuFhWQ==} cpu: [x64] @@ -3473,26 +3580,31 @@ packages: cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.28.1': + resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} + cpu: [x64] + os: [win32] + '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} '@rushstack/eslint-patch@1.10.4': resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} - '@shikijs/core@1.23.1': - resolution: {integrity: sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==} + '@shikijs/core@1.24.2': + resolution: {integrity: sha512-BpbNUSKIwbKrRRA+BQj0BEWSw+8kOPKDJevWeSE/xIqGX7K0xrCZQ9kK0nnEQyrzsUoka1l81ZtJ2mGaCA32HQ==} - '@shikijs/engine-javascript@1.23.1': - resolution: {integrity: sha512-i/LdEwT5k3FVu07SiApRFwRcSJs5QM9+tod5vYCPig1Ywi8GR30zcujbxGQFJHwYD7A5BUqagi8o5KS+LEVgBg==} + '@shikijs/engine-javascript@1.24.2': + resolution: {integrity: sha512-EqsmYBJdLEwEiO4H+oExz34a5GhhnVp+jH9Q/XjPjmBPc6TE/x4/gD0X3i0EbkKKNqXYHHJTJUpOLRQNkEzS9Q==} - '@shikijs/engine-oniguruma@1.23.1': - resolution: {integrity: sha512-KQ+lgeJJ5m2ISbUZudLR1qHeH3MnSs2mjFg7bnencgs5jDVPeJ2NVDJ3N5ZHbcTsOIh0qIueyAJnwg7lg7kwXQ==} + '@shikijs/engine-oniguruma@1.24.2': + resolution: {integrity: sha512-ZN6k//aDNWRJs1uKB12pturKHh7GejKugowOFGAuG7TxDRLod1Bd5JhpOikOiFqPmKjKEPtEA6mRCf7q3ulDyQ==} - '@shikijs/types@1.23.1': - resolution: {integrity: sha512-98A5hGyEhzzAgQh2dAeHKrWW4HfCMeoFER2z16p5eJ+vmPeF6lZ/elEne6/UCU551F/WqkopqRsr1l2Yu6+A0g==} + '@shikijs/types@1.24.2': + resolution: {integrity: sha512-bdeWZiDtajGLG9BudI0AHet0b6e7FbR0EsE4jpGaI0YwHm/XJunI9+3uZnzFtX65gsyJ6ngCIWUfA4NWRPnBkQ==} - '@shikijs/vscode-textmate@9.3.0': - resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} + '@shikijs/vscode-textmate@9.3.1': + resolution: {integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==} '@sideway/address@4.1.5': resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} @@ -3503,8 +3615,8 @@ packages: '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - '@sinclair/typebox@0.32.35': - resolution: {integrity: sha512-Ul3YyOTU++to8cgNkttakC0dWvpERr6RYoHO2W47DLbFvrwBDJUY31B1sImH6JZSYc4Kt4PyHtoPNu+vL2r2dA==} + '@sinclair/typebox@0.34.12': + resolution: {integrity: sha512-tNc3Z7OUqcneO14tYyUH2QMdvC2c5sQOY0+SDw70aZix7Qi4GkaOQc22LfaVFPn64enKU5ggV2ryLWykeMGEog==} '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} @@ -3719,6 +3831,9 @@ packages: '@supabase/auth-js@2.65.1': resolution: {integrity: sha512-IA7i2Xq2SWNCNMKxwmPlHafBQda0qtnFr8QnyyBr+KaSxoXXqEzFCnQ1dGTy6bsZjVBgXu++o3qrDypTspaAPw==} + '@supabase/auth-js@2.67.3': + resolution: {integrity: sha512-NJDaW8yXs49xMvWVOkSIr8j46jf+tYHV0wHhrwOaLLMZSFO4g6kKAf+MfzQ2RaD06OCUkUHIzctLAxjTgEVpzw==} + '@supabase/functions-js@2.4.3': resolution: {integrity: sha512-sOLXy+mWRyu4LLv1onYydq+10mNRQ4rzqQxNhbrKLTLTcdcmS9hbWif0bGz/NavmiQfPs4ZcmQJp4WqOXlR4AQ==} @@ -3729,15 +3844,24 @@ packages: '@supabase/postgrest-js@1.16.3': resolution: {integrity: sha512-HI6dsbW68AKlOPofUjDTaosiDBCtW4XAm0D18pPwxoW3zKOE2Ru13Z69Wuys9fd6iTpfDViNco5sgrtnP0666A==} + '@supabase/postgrest-js@1.17.7': + resolution: {integrity: sha512-aOzOYaTADm/dVTNksyqv9KsbhVa1gHz1Hoxb2ZEF2Ed9H7qlWOfptECQWmkEmrrFjtNaiPrgiSaPECvzI/seDA==} + '@supabase/realtime-js@2.10.7': resolution: {integrity: sha512-OLI0hiSAqQSqRpGMTUwoIWo51eUivSYlaNBgxsXZE7PSoWh12wPRdVt0psUMaUzEonSB85K21wGc7W5jHnT6uA==} + '@supabase/realtime-js@2.11.2': + resolution: {integrity: sha512-u/XeuL2Y0QEhXSoIPZZwR6wMXgB+RQbJzG9VErA3VghVt7uRfSVsjeqd7m5GhX3JR6dM/WRmLbVR8URpDWG4+w==} + '@supabase/storage-js@2.7.1': resolution: {integrity: sha512-asYHcyDR1fKqrMpytAS1zjyEfvxuOIp1CIXX7ji4lHHcJKqyk+sLl/Vxgm4sN6u8zvuUtae9e4kDxQP2qrwWBA==} '@supabase/supabase-js@2.46.1': resolution: {integrity: sha512-HiBpd8stf7M6+tlr+/82L8b2QmCjAD8ex9YdSAKU+whB/SHXXJdus1dGlqiH9Umy9ePUuxaYmVkGd9BcvBnNvg==} + '@supabase/supabase-js@2.47.9': + resolution: {integrity: sha512-4hLBkr1pb7G7BbwW5U5C0xGX5VEOPhHMeFoxOvHjKNkl+KpAblR8bygL7hXFbkff7BrxyeRj9XfgYxXOcPLSDA==} + '@sveltejs/adapter-auto@3.3.1': resolution: {integrity: sha512-5Sc7WAxYdL6q9j/+D0jJKjGREGlfIevDyHSQ2eNETHcB1TKlQWHcAo8AS8H1QdjNvSXpvOwNjykDUHPEAyGgdQ==} peerDependencies: @@ -3748,6 +3872,15 @@ packages: peerDependencies: '@sveltejs/kit': ^2.0.0 + '@sveltejs/kit@2.12.1': + resolution: {integrity: sha512-M3rPijGImeOkI0DBJSwjqz+YFX2DyOf6NzWgHVk3mqpT06dlYCpcv5xh1q4rYEqB58yQlk4QA1Y35PUqnUiFKw==} + engines: {node: '>=18.13'} + hasBin: true + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.3 || ^6.0.0 + '@sveltejs/kit@2.8.0': resolution: {integrity: sha512-HCiWupCuKJQ3aPaC4Xc6lpPdjOOnoGzEiYjOqMqppdtfGtY2ABrx932Vw66ZwS2RGXc0BmZvFvNq5SzqlmDVLg==} engines: {node: '>=18.13'} @@ -3774,6 +3907,14 @@ packages: svelte: ^5.0.0-next.96 || ^5.0.0 vite: ^5.0.0 + '@sveltejs/vite-plugin-svelte-inspector@4.0.1': + resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^5.0.0 + svelte: ^5.0.0 + vite: ^6.0.0 + '@sveltejs/vite-plugin-svelte@4.0.0': resolution: {integrity: sha512-kpVJwF+gNiMEsoHaw+FJL76IYiwBikkxYU83+BpqQLdVMff19KeRKLd2wisS8niNBMJ2omv5gG+iGDDwd8jzag==} engines: {node: ^18.0.0 || ^20.0.0 || >=22} @@ -3788,6 +3929,13 @@ packages: svelte: ^5.0.0-next.96 || ^5.0.0 vite: ^5.0.0 + '@sveltejs/vite-plugin-svelte@5.0.3': + resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + svelte: ^5.0.0 + vite: ^6.0.0 + '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} @@ -3903,47 +4051,68 @@ packages: engines: {node: '>= 10'} hasBin: true - '@tauri-apps/plugin-deep-link@2.0.0': - resolution: {integrity: sha512-cDa2k1OrRU5DoKc0IXl1Y8RlFOU107u2phdZfT7FkApsC6TL/VAPs3YOUTT8p9/PZ50EjOKP104HFMqVqnQ0bw==} + '@tauri-apps/plugin-deep-link@2.2.0': + resolution: {integrity: sha512-H6mkxr2KZ3XJcKL44tiq6cOjCw9DL8OgU1xjn3j26Qsn+H/roPFiyhR7CHuB8Ar+sQFj4YVlfmJwtBajK2FETQ==} '@tauri-apps/plugin-dialog@2.0.1': resolution: {integrity: sha512-fnUrNr6EfvTqdls/ufusU7h6UbNFzLKvHk/zTuOiBq01R3dTODqwctZlzakdbfSp/7pNwTKvgKTAgl/NAP/Z0Q==} + '@tauri-apps/plugin-dialog@2.2.0': + resolution: {integrity: sha512-6bLkYK68zyK31418AK5fNccCdVuRnNpbxquCl8IqgFByOgWFivbiIlvb79wpSXi0O+8k8RCSsIpOquebusRVSg==} + '@tauri-apps/plugin-fs@2.0.0-rc.1': resolution: {integrity: sha512-r6N5dqBNXy9YAK9XbiEqAq3ZKBIN+TWevE7ZFmSRdvdSB1urrLweYu4wxycY2kDaDPzSeeOIJhCmqdNrFT9OSA==} '@tauri-apps/plugin-fs@2.0.2': resolution: {integrity: sha512-4YZaX2j7ta81M5/DL8aN10kTnpUkEpkPo1FTYPT8Dd0ImHe3azM8i8MrtjrDGoyBYLPO3zFv7df/mSCYF8oA0Q==} - '@tauri-apps/plugin-global-shortcut@2.0.0': - resolution: {integrity: sha512-pnB4CUwFVjg4twtBSxoLJ4uLFTYxsvOdC1zIbG581pYzhYatOl6mjB+ijD5SSXgiS/jNoqMcfkOF9PWAisurew==} + '@tauri-apps/plugin-fs@2.2.0': + resolution: {integrity: sha512-+08mApuONKI8/sCNEZ6AR8vf5vI9DXD4YfrQ9NQmhRxYKMLVhRW164vdW5BSLmMpuevftpQ2FVoL9EFkfG9Z+g==} + + '@tauri-apps/plugin-global-shortcut@2.2.0': + resolution: {integrity: sha512-clI9Bg/BcxWXNDK+ij601o1qC2WxMEy8ovhGgEW5Ai17oPy0KK8uwzmc59KiVnOYKpBWHCUPqBxG+KBNUFXgzw==} '@tauri-apps/plugin-http@2.0.1': resolution: {integrity: sha512-j6IA3pVBybSCwPpsihpX4z8bs6PluuGtr06ahL/xy4D8HunNBTmRmadJrFOQi0gOAbaig4MkQ15nzNLBLy8R1A==} + '@tauri-apps/plugin-http@2.2.0': + resolution: {integrity: sha512-ZY6sIHhgu8hcu6BkkegoiOEbvOsQFSVcK8J7l+g9RNHrkhl5uzpNIytR4R/H50fj7gyG80DJvrXDx/LBo7Easw==} + '@tauri-apps/plugin-log@2.0.0': resolution: {integrity: sha512-C+NII9vzswqnOQE8k7oRtnaw0z5TZsMmnirRhXkCKDEhQQH9841Us/PC1WHtGiAaJ8za1A1JB2xXndEq/47X/w==} + '@tauri-apps/plugin-log@2.2.0': + resolution: {integrity: sha512-g6CsQAR1lsm5ABSZZxpM/iCn86GrMDTTlhj7GPkZkYBRSm3+WczfOAl7SV7HDn77tOKCzhZffwI5uHfRoHutrw==} + '@tauri-apps/plugin-notification@2.0.0': resolution: {integrity: sha512-6qEDYJS7mgXZWLXA0EFL+DVCJh8sJlzSoyw6B50pxhLPVFjc5Vr5DVzl5W3mUHaYhod5wsC984eQnlCCGqxYDA==} + '@tauri-apps/plugin-notification@2.2.0': + resolution: {integrity: sha512-uhE3a2gFlqwiWhY/JbhXOF13K4iILEYxUk0D2Y+q69HP6tnfPqKCuNTHxDM0H+oFAakXESNmJVnYw0Vi4IrMMQ==} + '@tauri-apps/plugin-os@2.0.0': resolution: {integrity: sha512-M7hG/nNyQYTJxVG/UhTKhp9mpXriwWzrs9mqDreB8mIgqA3ek5nHLdwRZJWhkKjZrnDT4v9CpA9BhYeplTlAiA==} '@tauri-apps/plugin-os@2.0.0-rc.0': resolution: {integrity: sha512-OWAl8mooKnGykSD4iog8WRqcnOSx0gGmTJBlEExHdFeIuOHg0Ezvd+WiVLhT9LBg7go3ibNWRWpe/ZG7YEp4Vw==} - '@tauri-apps/plugin-process@2.0.0': - resolution: {integrity: sha512-OYzi0GnkrF4NAnsHZU7U3tjSoP0PbeAlO7T1Z+vJoBUH9sFQ1NSLqWYWQyf8hcb3gVWe7P1JggjiskO+LST1ug==} + '@tauri-apps/plugin-os@2.2.0': + resolution: {integrity: sha512-HszbCdbisMlu5QhCNAN8YIWyz2v33abAWha6+uvV2CKX8P5VSct/y+kEe22JeyqrxCnWlQ3DRx7s49Byg7/0EA==} + + '@tauri-apps/plugin-process@2.2.0': + resolution: {integrity: sha512-uypN2Crmyop9z+KRJr3zl71OyVFgTuvHFjsJ0UxxQ/J5212jVa5w4nPEYjIewcn8bUEXacRebwE6F7owgrbhSw==} '@tauri-apps/plugin-shell@2.0.1': resolution: {integrity: sha512-akU1b77sw3qHiynrK0s930y8zKmcdrSD60htjH+mFZqv5WaakZA/XxHR3/sF1nNv9Mgmt/Shls37HwnOr00aSw==} - '@tauri-apps/plugin-store@2.1.0': - resolution: {integrity: sha512-GADqrc17opUKYIAKnGHIUgEeTZ2wJGu1ZITKQ1WMuOFdv8fvXRFBAqsqPjE3opgWohbczX6e1NpwmZK1AnuWVw==} + '@tauri-apps/plugin-shell@2.2.0': + resolution: {integrity: sha512-iC3Ic1hLmasoboG7BO+7p+AriSoqAwKrIk+Hpk+S/bjTQdXqbl2GbdclghI4gM32X0bls7xHzIFqhRdrlvJeaA==} - '@tauri-apps/plugin-updater@2.0.0': - resolution: {integrity: sha512-N0cl71g7RPr7zK2Fe5aoIwzw14NcdLcz7XMGFWZVjprsqgDRWoxbnUkknyCQMZthjhGkppCd/wN2MIsUz+eAhQ==} + '@tauri-apps/plugin-store@2.2.0': + resolution: {integrity: sha512-hJTRtuJis4w5fW1dkcgftsYxKXK0+DbAqurZ3CURHG5WkAyyZgbxpeYctw12bbzF9ZbZREXZklPq8mocCC3Sgg==} + + '@tauri-apps/plugin-updater@2.3.0': + resolution: {integrity: sha512-qdzyZEUN69FZQ/nRx51fBub10tT6wffJl3DLVo9q922Gvw8Wk++rZhoD9eethPlZYbog/7RGgT8JkrfLh5BKAg==} '@tauri-apps/plugin-upload@2.0.0': resolution: {integrity: sha512-MdBZn4RCVmFDjuC2rbpFGjAZAbePkxrc9T35+SKJJgfXbXYw0YOzvUTsDiU7F3NzDWepO+6EbVN3Upzi9rqt/A==} @@ -4173,6 +4342,9 @@ packages: '@types/node@20.17.6': resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} + '@types/node@22.10.2': + resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.8.7': resolution: {integrity: sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==} @@ -4227,6 +4399,9 @@ packages: '@types/topojson@3.2.6': resolution: {integrity: sha512-ppfdlxjxofWJ66XdLgIlER/85RvpGyfOf8jrWf+3kVIjEatFxEZYD/Ea83jO672Xu1HRzd/ghwlbcZIUNHTskw==} + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -4760,8 +4935,8 @@ packages: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} - arktype@2.0.0-rc.23: - resolution: {integrity: sha512-P0e40t3J4rc3xRHzPjzyOK1CgdgKswQJOFBgFLuehSiGcjAuRx6p/9lDVPzXZ62m7q5yRUqFiX8ovN5FjWQjMQ==} + arktype@2.0.0-rc.26: + resolution: {integrity: sha512-OdV40SQNY0CFJH+anT0N7Go9Tl+av+hxzMGPccv47sPHdekZuEPd61MfNmwn1J5H2SIrycdwGPD8jYBZSkhKjQ==} array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} @@ -4895,6 +5070,12 @@ packages: peerDependencies: svelte: ^5.0.0-next.1 + bits-ui@1.0.0-next.72: + resolution: {integrity: sha512-a5KlTSiju/lGmlGxA2KjVTLYYewaGos+aw1et3CXcPW2+UC/HfV/jiCiHt7SEGIJvCbEKH5RKPBrHzewBEfZlQ==} + engines: {node: '>=18', pnpm: '>=8.7.0'} + peerDependencies: + svelte: ^5.0.0-next.1 + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -5244,9 +5425,6 @@ packages: engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true - cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -5544,6 +5722,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decimal.js-light@2.5.1: resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} @@ -5729,6 +5916,9 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} + dompurify@3.2.3: + resolution: {integrity: sha512-U1U5Hzc2MO0oW3DF+G9qYN0aT7atAou4AgI0XjWz061nyBPbdxkfdhfy5uMgGn6+oLFCfn44ZGbdDqCzVmlOWA==} + domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} @@ -5759,8 +5949,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - effect@3.10.8: - resolution: {integrity: sha512-vCKKp7EL6j7x1xfBbmndcQvooNE5FEDxkVro2yqEGBR2Ogn4I4XVK5A4eLVlDxS9egvX7EFaBwDRfm7k6IM6oA==} + effect@3.11.8: + resolution: {integrity: sha512-N16cwqUDqG7lyYiFyt+in0+OS0Lg9pkMmGPSwxu2j9ZhRHI8S8D69+ffXX+afhl80r6syBSSkkIg/bYRjGGf7A==} electron-to-chromium@1.5.50: resolution: {integrity: sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==} @@ -6051,6 +6241,9 @@ packages: esm-env@1.1.4: resolution: {integrity: sha512-oO82nKPHKkzIj/hbtuDYy/JHqBHFlMIW36SDiPCVsj87ntDLcWN+sJ1erdVryd4NxODacFTsdrIE3b7IamqbOg==} + esm-env@1.2.1: + resolution: {integrity: sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng==} + espree@10.3.0: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -6071,6 +6264,9 @@ packages: esrap@1.2.2: resolution: {integrity: sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==} + esrap@1.3.1: + resolution: {integrity: sha512-KpAH3+QsDmtOP1KOW04CbD1PgzWsIHjB8tOCk3PCb8xzNGn8XkjI8zl80i09fmXdzQyaS8tcsKCCDzHF7AcowA==} + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -6964,9 +7160,6 @@ packages: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} - just-clone@6.2.0: - resolution: {integrity: sha512-1IynUYEc/HAwxhi3WDpIpxJbZpMCvvrrmZVqvj9EhpvbH8lls7HhdhiByjL7DkAaWlLIzpC0Xc/VPvy/UxLNjA==} - kdbush@3.0.0: resolution: {integrity: sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==} @@ -7063,6 +7256,10 @@ packages: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -7145,9 +7342,6 @@ packages: resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} engines: {node: 20 || >=22} - lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -7166,6 +7360,11 @@ packages: peerDependencies: svelte: ^3 || ^4 || ^5.0.0-next.42 + lucide-svelte@0.468.0: + resolution: {integrity: sha512-n0ecAFtCY5LEeL+PJ1Xj4n3c2gzj8tMpak0KMGnvoSJEjCsCnRB0mekBtJZAo7beyynW9Qj5Um1KfMBAeTNplw==} + peerDependencies: + svelte: ^3 || ^4 || ^5.0.0-next.42 + lucide-vue-next@0.438.0: resolution: {integrity: sha512-xlPIeYbhfI0gDJwolST7cjc6KAi1oWN9HEWGuK+5gMmoi+a6bJ3mI062+7tqzOdjSE07l7jyBH4mladQVLIQRA==} peerDependencies: @@ -7195,6 +7394,9 @@ packages: magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -7622,8 +7824,8 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - oniguruma-to-es@0.4.1: - resolution: {integrity: sha512-rNcEohFz095QKGRovP/yqPIKc+nP+Sjs4YTHMv33nMePGKrq/r2eu9Yh4646M5XluGJsUnmwoXuiXE69KDs+fQ==} + oniguruma-to-es@0.7.0: + resolution: {integrity: sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==} only@0.0.2: resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} @@ -8117,6 +8319,12 @@ packages: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 + prettier-plugin-svelte@3.3.2: + resolution: {integrity: sha512-kRPjH8wSj2iu+dO+XaUv4vD8qr5mdDmlak3IT/7AOgGIMRG86z/EHOLauFcClKEnOUf4A4nOA7sre5KrJD4Raw==} + peerDependencies: + prettier: ^3.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 + prettier-plugin-tailwindcss@0.6.8: resolution: {integrity: sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==} engines: {node: '>=14.21.3'} @@ -8237,6 +8445,11 @@ packages: engines: {node: '>=14'} hasBin: true + prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} + engines: {node: '>=14'} + hasBin: true + pretty-bytes@6.1.1: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} @@ -8283,9 +8496,6 @@ packages: protocols@2.0.1: resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} - pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -8476,8 +8686,8 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex-recursion@4.2.1: - resolution: {integrity: sha512-QHNZyZAeKdndD1G3bKAbBEKOSSK4KOHQrAJ01N1LJeb0SoH4DJIeFhp0uUpETgONifS4+P3sOgoA1dhzgrQvhA==} + regex-recursion@4.3.0: + resolution: {integrity: sha512-5LcLnizwjcQ2ALfOj95MjcatxyqF5RPySx9yT+PaXu3Gox2vyAtLDjHB8NTJLtMGkvyau6nI3CfpwFCjPUIs/A==} regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} @@ -8589,6 +8799,11 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.28.1: + resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} @@ -8686,18 +8901,10 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -8710,8 +8917,8 @@ packages: engines: {node: '>=4'} hasBin: true - shiki@1.23.1: - resolution: {integrity: sha512-8kxV9TH4pXgdKGxNOkrSMydn1Xf6It8lsle0fiqxf7a1149K1WGtdOu3Zb91T5r1JpvRPxqxU3C2XdZZXQnrig==} + shiki@1.24.2: + resolution: {integrity: sha512-TR1fi6mkRrzW+SKT5G6uKuc32Dj2EEa7Kj0k8kGqiBINb+C1TiflVOiT9ta6GqOJtC4fraxO5SLUaKBcSY38Fg==} shx@0.3.4: resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} @@ -8788,8 +8995,8 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spawndamnit@2.0.0: - resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + spawndamnit@3.0.1: + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} speakingurl@14.0.1: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} @@ -8936,8 +9143,8 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - supabase@1.219.2: - resolution: {integrity: sha512-bngNxjoiU2EHbQ4Cxfrft/ZnYnYdlWfpLcye3KCyJFQhTl3ucpygKymJZiasJl0xdN+hR98TdrHp7WHTuf9ztQ==} + supabase@2.1.1: + resolution: {integrity: sha512-KPP4LrvMmu6IWIcqSOcPbepTGT2Fv05TMiYwbcEaKgCVUznDNtlyXQTImJhjP+8FhNuJ+tF9SLoQgMQqDei+jA==} engines: {npm: '>=8'} hasBin: true @@ -8980,6 +9187,14 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 typescript: '>=5.0.0' + svelte-check@4.1.1: + resolution: {integrity: sha512-NfaX+6Qtc8W/CyVGS/F7/XdiSSyXz+WGYA9ZWV3z8tso14V2vzjfXviKaTFEzB7g8TqfgO2FOzP6XT4ApSTUTw==} + engines: {node: '>= 18.0.0'} + hasBin: true + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + typescript: '>=5.0.0' + svelte-eslint-parser@0.43.0: resolution: {integrity: sha512-GpU52uPKKcVnh8tKN5P4UZpJ/fUDndmq7wfsvoVXsyP+aY0anol7Yqo01fyrlaWGMFfm4av5DyrjlaXdLRJvGA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -9032,16 +9247,16 @@ packages: resolution: {integrity: sha512-nzq+PPKGS2PoEWDjAcXSrKSbXmmmOAxd6dAz1IhRusUpVkFS6DMELWPyBPGwu6TpO/gsgtFXwX0M4+pAR5gzKw==} engines: {node: '>=18'} - svelte@5.2.3: - resolution: {integrity: sha512-DRrWXdzo6+gfX9H/hQofQYyAtsGqC99+CFBvttImGt6gAy4Xzh0hHBrCHw5OtBgaPOdVGNW+S+mDcYcEsvTPOw==} + svelte@5.14.4: + resolution: {integrity: sha512-2iR/UHHA2Dsldo4JdXDcdqT+spueuh+uNYw1FoTKBbpnFEECVISeqSo0uubPS4AfBE0xI6u7DGHxcdq3DTDmoQ==} engines: {node: '>=18'} svelte@5.2.7: resolution: {integrity: sha512-cEhPGuLHiH2+Z8B1FwQgiZJgA39uUmJR4516TKrM5zrp0/cuwJkfhUfcTxhAkznanAF5fXUKzvYR4o+Ksx3ZCQ==} engines: {node: '>=18'} - sveltekit-superforms@2.20.1: - resolution: {integrity: sha512-GPGPp4pf/v7fZ0iS3ddC1AO3Ti10oAgsVD95WZ6nPh6/L894pMsL8JN67/Lz0hSIRUXk8k35BjCIJB69z+KI/Q==} + sveltekit-superforms@2.22.1: + resolution: {integrity: sha512-SSePlvvEAo0eChLw1V9R1XdwwbE/XAOWTfzQOM01bFNT2IQGH5gy0wQkBffPKbDLZ7HYoRVao7spblTPBwyylA==} peerDependencies: '@sveltejs/kit': 1.x || 2.x svelte: 3.x || 4.x || >=5.0.0-next.51 @@ -9071,6 +9286,9 @@ packages: tailwind-merge@2.5.4: resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} + tailwind-merge@2.5.5: + resolution: {integrity: sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA==} + tailwind-variants@0.2.1: resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==} engines: {node: '>=16.x', pnpm: '>=7.x'} @@ -9098,6 +9316,11 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} + engines: {node: '>=14.0.0'} + hasBin: true + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -9242,8 +9465,8 @@ packages: peerDependencies: typescript: '>=4.2.0' - ts-deepmerge@7.0.1: - resolution: {integrity: sha512-JBFCmNenZdUCc+TRNCtXVM6N8y/nDQHAcpj5BlwXG/gnogjam1NunulB9ia68mnqYI446giMfpqeBFFkOleh+g==} + ts-deepmerge@7.0.2: + resolution: {integrity: sha512-akcpDTPuez4xzULo5NwuoKwYRtjQJ9eoNfBACiBMaXwNAx7B1PKfe5wqUFJuW5uKzQ68YjDFwPaWHDG1KnFGsA==} engines: {node: '>=14.13.1'} ts-graphviz@2.1.4: @@ -9284,38 +9507,38 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} - turbo-darwin-64@2.3.0: - resolution: {integrity: sha512-pji+D49PhFItyQjf2QVoLZw2d3oRGo8gJgKyOiRzvip78Rzie74quA8XNwSg/DuzM7xx6gJ3p2/LylTTlgZXxQ==} + turbo-darwin-64@2.3.3: + resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.3.0: - resolution: {integrity: sha512-AJrGIL9BO41mwDF/IBHsNGwvtdyB911vp8f5mbNo1wG66gWTvOBg7WCtYQBvCo11XTenTfXPRSsAb7w3WAZb6w==} + turbo-darwin-arm64@2.3.3: + resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.3.0: - resolution: {integrity: sha512-jZqW6vc2sPJT3M/3ZmV1Cg4ecQVPqsbHncG/RnogHpBu783KCSXIndgxvUQNm9qfgBYbZDBnP1md63O4UTElhw==} + turbo-linux-64@2.3.3: + resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.3.0: - resolution: {integrity: sha512-HUbDLJlvd/hxuyCNO0BmEWYQj0TugRMvSQeG8vHJH+Lq8qOgDAe7J0K73bFNbZejZQxW3C3XEiZFB3pnpO78+A==} + turbo-linux-arm64@2.3.3: + resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} cpu: [arm64] os: [linux] - turbo-windows-64@2.3.0: - resolution: {integrity: sha512-c5rxrGNTYDWX9QeMzWLFE9frOXnKjHGEvQMp1SfldDlbZYsloX9UKs31TzUThzfTgTiz8NYuShaXJ2UvTMnV/g==} + turbo-windows-64@2.3.3: + resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.3.0: - resolution: {integrity: sha512-7qfUuYhfIVb1AZgs89DxhXK+zZez6O2ocmixEQ4hXZK7ytnBt5vaz2zGNJJKFNYIL5HX1C3tuHolnpNgDNCUIg==} + turbo-windows-arm64@2.3.3: + resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} cpu: [arm64] os: [win32] - turbo@2.3.0: - resolution: {integrity: sha512-/uOq5o2jwRPyaUDnwBpOR5k9mQq4c3wziBgWNWttiYQPmbhDtrKYPRBxTvA2WpgQwRIbt8UM612RMN8n/TvmHA==} + turbo@2.3.3: + resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} hasBin: true type-check@0.4.0: @@ -9365,6 +9588,13 @@ packages: peerDependencies: typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x + typedoc@0.27.5: + resolution: {integrity: sha512-x+fhKJtTg4ozXwKayh/ek4wxZQI/+2hmZUdO2i2NGDBRUflDble70z+ewHod3d4gRpXSO6fnlnjbDTnJk7HlkQ==} + engines: {node: '>= 18'} + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x + typescript-eslint@8.14.0: resolution: {integrity: sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -9428,6 +9658,9 @@ packages: undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} @@ -9784,6 +10017,46 @@ packages: terser: optional: true + vite@6.0.3: + resolution: {integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vitefu@1.0.3: resolution: {integrity: sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==} peerDependencies: @@ -9792,6 +10065,14 @@ packages: vite: optional: true + vitefu@1.0.4: + resolution: {integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + vite: + optional: true + vitest@2.1.5: resolution: {integrity: sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9987,9 +10268,6 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -10012,6 +10290,11 @@ packages: engines: {node: '>= 14'} hasBin: true + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} + engines: {node: '>= 14'} + hasBin: true + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -10032,8 +10315,8 @@ packages: resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} engines: {node: '>=18'} - yup@1.4.0: - resolution: {integrity: sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==} + yup@1.6.1: + resolution: {integrity: sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==} zhead@2.2.4: resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} @@ -10045,14 +10328,17 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod-to-json-schema@3.23.5: - resolution: {integrity: sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==} + zod-to-json-schema@3.24.1: + resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} peerDependencies: - zod: ^3.23.3 + zod: ^3.24.1 zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zod@3.24.1: + resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -10067,12 +10353,12 @@ snapshots: '@antfu/utils@0.7.10': {} - '@ark/schema@0.23.0': + '@ark/schema@0.26.0': dependencies: - '@ark/util': 0.23.0 + '@ark/util': 0.26.0 optional: true - '@ark/util@0.23.0': + '@ark/util@0.26.0': optional: true '@aws-crypto/crc32@5.2.0': @@ -10787,11 +11073,11 @@ snapshots: '@bufbuild/protobuf@2.2.2': {} - '@changesets/apply-release-plan@7.0.5': + '@changesets/apply-release-plan@7.0.7': dependencies: - '@changesets/config': 3.0.3 + '@changesets/config': 3.0.5 '@changesets/get-version-range-type': 0.4.0 - '@changesets/git': 3.0.1 + '@changesets/git': 3.0.2 '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -10803,7 +11089,7 @@ snapshots: resolve-from: 5.0.0 semver: 7.6.3 - '@changesets/assemble-release-plan@6.0.4': + '@changesets/assemble-release-plan@6.0.5': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 @@ -10816,19 +11102,19 @@ snapshots: dependencies: '@changesets/types': 6.0.0 - '@changesets/cli@2.27.9': + '@changesets/cli@2.27.11': dependencies: - '@changesets/apply-release-plan': 7.0.5 - '@changesets/assemble-release-plan': 6.0.4 + '@changesets/apply-release-plan': 7.0.7 + '@changesets/assemble-release-plan': 6.0.5 '@changesets/changelog-git': 0.2.0 - '@changesets/config': 3.0.3 + '@changesets/config': 3.0.5 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 - '@changesets/get-release-plan': 4.0.4 - '@changesets/git': 3.0.1 + '@changesets/get-release-plan': 4.0.6 + '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.1 + '@changesets/read': 0.6.2 '@changesets/should-skip-package': 0.1.1 '@changesets/types': 6.0.0 '@changesets/write': 0.3.2 @@ -10844,10 +11130,10 @@ snapshots: picocolors: 1.1.1 resolve-from: 5.0.0 semver: 7.6.3 - spawndamnit: 2.0.0 + spawndamnit: 3.0.1 term-size: 2.2.1 - '@changesets/config@3.0.3': + '@changesets/config@3.0.5': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.1.2 @@ -10868,24 +11154,24 @@ snapshots: picocolors: 1.1.1 semver: 7.6.3 - '@changesets/get-release-plan@4.0.4': + '@changesets/get-release-plan@4.0.6': dependencies: - '@changesets/assemble-release-plan': 6.0.4 - '@changesets/config': 3.0.3 + '@changesets/assemble-release-plan': 6.0.5 + '@changesets/config': 3.0.5 '@changesets/pre': 2.0.1 - '@changesets/read': 0.6.1 + '@changesets/read': 0.6.2 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 '@changesets/get-version-range-type@0.4.0': {} - '@changesets/git@3.0.1': + '@changesets/git@3.0.2': dependencies: '@changesets/errors': 0.2.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 micromatch: 4.0.8 - spawndamnit: 2.0.0 + spawndamnit: 3.0.1 '@changesets/logger@0.1.1': dependencies: @@ -10903,9 +11189,9 @@ snapshots: '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - '@changesets/read@0.6.1': + '@changesets/read@0.6.2': dependencies: - '@changesets/git': 3.0.1 + '@changesets/git': 3.0.2 '@changesets/logger': 0.1.1 '@changesets/parse': 0.4.0 '@changesets/types': 6.0.0 @@ -10946,12 +11232,6 @@ snapshots: gonzales-pe: 4.3.0 node-source-walk: 7.0.0 - '@effect/schema@0.75.5(effect@3.10.8)': - dependencies: - effect: 3.10.8 - fast-check: 3.23.0 - optional: true - '@emotion/babel-plugin@11.12.0': dependencies: '@babel/helper-module-imports': 7.25.9 @@ -11247,6 +11527,12 @@ snapshots: esbuild-runner: 2.2.2(esbuild@0.24.0) optional: true + '@gerrit0/mini-shiki@1.24.4': + dependencies: + '@shikijs/engine-oniguruma': 1.24.2 + '@shikijs/types': 1.24.2 + '@shikijs/vscode-textmate': 9.3.1 + '@grpc/grpc-js@1.12.2': dependencies: '@grpc/proto-loader': 0.7.13 @@ -11308,16 +11594,25 @@ snapshots: '@vue/compiler-sfc': 3.5.13 transitivePeerDependencies: - supports-color + optional: true - '@iconify/svelte@4.0.2(svelte@5.2.3)': + '@ianvs/prettier-plugin-sort-imports@4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.4.2)': + dependencies: + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + prettier: 3.4.2 + semver: 7.6.3 + optionalDependencies: + '@vue/compiler-sfc': 3.5.13 + transitivePeerDependencies: + - supports-color + + '@iconify/svelte@4.1.0(svelte@5.14.4)': dependencies: '@iconify/types': 2.0.0 - svelte: 5.2.3 - - '@iconify/svelte@4.0.2(svelte@5.2.7)': - dependencies: - '@iconify/types': 2.0.0 - svelte: 5.2.7 + svelte: 5.14.4 '@iconify/types@2.0.0': {} @@ -11339,7 +11634,7 @@ snapshots: '@inquirer/figures': 1.0.8 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.8.7 + '@types/node': 22.10.2 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -11425,6 +11720,10 @@ snapshots: dependencies: '@swc/helpers': 0.5.13 + '@internationalized/date@3.6.0': + dependencies: + '@swc/helpers': 0.5.13 + '@internationalized/number@3.5.4': dependencies: '@swc/helpers': 0.5.13 @@ -11539,7 +11838,7 @@ snapshots: react-resizable-panels: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) recharts: 2.13.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) sonner: 1.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - tailwind-merge: 2.5.4 + tailwind-merge: 2.5.5 tailwindcss-animate: 1.0.7(tailwindcss@3.4.15) vaul: 0.9.9(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) zod: 3.23.8 @@ -11548,29 +11847,12 @@ snapshots: - '@types/react-dom' - tailwindcss - '@kksh/svelte5@0.1.10(lucide-svelte@0.460.1(svelte@5.2.3))(svelte-sonner@0.3.28(svelte@5.2.3))(svelte@5.2.3)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.3)(typescript@5.6.3))': - dependencies: - '@tanstack/table-core': 8.20.5 - bits-ui: 1.0.0-next.60(svelte@5.2.3) - embla-carousel-svelte: 8.4.0(svelte@5.2.3) - formsnap: 2.0.0-next.1(svelte@5.2.3)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.3)(typescript@5.6.3)) - lucide-svelte: 0.460.1(svelte@5.2.3) - mode-watcher: 0.5.0(svelte@5.2.3) - paneforge: 1.0.0-next.1(svelte@5.2.3) - svelte: 5.2.3 - svelte-persisted-store: 0.12.0(svelte@5.2.3) - svelte-radix: 2.0.1(svelte@5.2.3) - svelte-sonner: 0.3.28(svelte@5.2.3) - vaul-svelte: 1.0.0-next.3(svelte@5.2.3) - transitivePeerDependencies: - - sveltekit-superforms - - '@kksh/svelte5@0.1.10(lucide-svelte@0.460.1(svelte@5.2.7))(svelte-sonner@0.3.28(svelte@5.2.7))(svelte@5.2.7)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3))': + '@kksh/svelte5@0.1.10(lucide-svelte@0.460.1(svelte@5.2.7))(svelte-sonner@0.3.28(svelte@5.2.7))(svelte@5.2.7)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3))': dependencies: '@tanstack/table-core': 8.20.5 bits-ui: 1.0.0-next.60(svelte@5.2.7) embla-carousel-svelte: 8.4.0(svelte@5.2.7) - formsnap: 2.0.0-next.1(svelte@5.2.7)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3)) + formsnap: 2.0.0-next.1(svelte@5.2.7)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3)) lucide-svelte: 0.460.1(svelte@5.2.7) mode-watcher: 0.5.0(svelte@5.2.7) paneforge: 1.0.0-next.1(svelte@5.2.7) @@ -11582,12 +11864,12 @@ snapshots: transitivePeerDependencies: - sveltekit-superforms - '@kksh/svelte5@0.1.10(lucide-svelte@0.460.1(svelte@5.2.7))(svelte-sonner@0.3.28(svelte@5.2.7))(svelte@5.2.7)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.7.2))': + '@kksh/svelte5@0.1.10(lucide-svelte@0.460.1(svelte@5.2.7))(svelte-sonner@0.3.28(svelte@5.2.7))(svelte@5.2.7)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3))': dependencies: '@tanstack/table-core': 8.20.5 bits-ui: 1.0.0-next.60(svelte@5.2.7) embla-carousel-svelte: 8.4.0(svelte@5.2.7) - formsnap: 2.0.0-next.1(svelte@5.2.7)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.7.2)) + formsnap: 2.0.0-next.1(svelte@5.2.7)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3)) lucide-svelte: 0.460.1(svelte@5.2.7) mode-watcher: 0.5.0(svelte@5.2.7) paneforge: 1.0.0-next.1(svelte@5.2.7) @@ -11599,14 +11881,31 @@ snapshots: transitivePeerDependencies: - sveltekit-superforms - '@kksh/svelte@0.1.4(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(tailwindcss@3.4.14)(typescript@5.6.3)': + '@kksh/svelte5@0.1.10(lucide-svelte@0.468.0(svelte@5.14.4))(svelte-sonner@0.3.28(svelte@5.14.4))(svelte@5.14.4)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(@types/json-schema@7.0.15)(svelte@5.14.4)(typescript@5.7.2))': dependencies: - '@internationalized/date': 3.5.6 + '@tanstack/table-core': 8.20.5 + bits-ui: 1.0.0-next.60(svelte@5.14.4) + embla-carousel-svelte: 8.4.0(svelte@5.14.4) + formsnap: 2.0.0-next.1(svelte@5.14.4)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(@types/json-schema@7.0.15)(svelte@5.14.4)(typescript@5.7.2)) + lucide-svelte: 0.468.0(svelte@5.14.4) + mode-watcher: 0.5.0(svelte@5.14.4) + paneforge: 1.0.0-next.1(svelte@5.14.4) + svelte: 5.14.4 + svelte-persisted-store: 0.12.0(svelte@5.14.4) + svelte-radix: 2.0.1(svelte@5.14.4) + svelte-sonner: 0.3.28(svelte@5.14.4) + vaul-svelte: 1.0.0-next.3(svelte@5.14.4) + transitivePeerDependencies: + - sveltekit-superforms + + '@kksh/svelte@0.1.4(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(tailwindcss@3.4.14)(typescript@5.6.3)': + dependencies: + '@internationalized/date': 3.6.0 bits-ui: 0.21.16(svelte@5.1.9) clsx: 2.1.1 cmdk-sv: 0.0.18(svelte@5.1.9) embla-carousel-svelte: 8.4.0(svelte@5.1.9) - formsnap: 1.0.1(svelte@5.1.9)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3)) + formsnap: 1.0.1(svelte@5.1.9)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3)) lucide-svelte: 0.416.0(svelte@5.1.9) mode-watcher: 0.4.1(svelte@5.1.9) paneforge: 0.0.5(svelte@5.1.9) @@ -11614,11 +11913,11 @@ snapshots: svelte-persisted-store: 0.11.0(svelte@5.1.9) svelte-radix: 1.1.1(svelte@5.1.9) svelte-sonner: 0.3.28(svelte@5.1.9) - sveltekit-superforms: 2.20.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3) - tailwind-merge: 2.5.4 + sveltekit-superforms: 2.22.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3) + tailwind-merge: 2.5.5 tailwind-variants: 0.2.1(tailwindcss@3.4.14) vaul-svelte: 0.3.2(svelte@5.1.9) - zod: 3.23.8 + zod: 3.24.1 transitivePeerDependencies: - '@sveltejs/kit' - '@types/json-schema' @@ -11641,7 +11940,7 @@ snapshots: lucide-vue-next: 0.438.0(vue@3.5.13(typescript@5.6.3)) nanostores: 0.10.3 radix-vue: 1.9.10(vue@3.5.13(typescript@5.6.3)) - tailwind-merge: 2.5.4 + tailwind-merge: 2.5.5 tailwindcss-animate: 1.0.7(tailwindcss@3.4.15) v-calendar: 3.1.2(@popperjs/core@2.11.8)(vue@3.5.13(typescript@5.6.3)) vaul-vue: 0.2.0(radix-vue@1.9.10(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)) @@ -11731,7 +12030,7 @@ snapshots: dependencies: '@floating-ui/core': 1.6.8 '@floating-ui/dom': 1.6.12 - '@internationalized/date': 3.5.6 + '@internationalized/date': 3.6.0 dequal: 2.0.3 focus-trap: 7.6.0 nanoid: 5.0.8 @@ -11808,12 +12107,12 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.6.0(magicast@0.3.5)(rollup@4.27.4)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))': + '@nuxt/devtools-kit@1.6.0(magicast@0.3.5)(rollup@4.28.1)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))': dependencies: - '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.27.4) - '@nuxt/schema': 3.14.159(magicast@0.3.5)(rollup@4.27.4) + '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.28.1) + '@nuxt/schema': 3.14.159(magicast@0.3.5)(rollup@4.28.1) execa: 7.2.0 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) transitivePeerDependencies: - magicast - rollup @@ -11832,13 +12131,13 @@ snapshots: rc9: 2.1.2 semver: 7.6.3 - '@nuxt/devtools@1.6.0(rollup@4.27.4)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': + '@nuxt/devtools@1.6.0(rollup@4.28.1)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': dependencies: '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.27.4)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + '@nuxt/devtools-kit': 1.6.0(magicast@0.3.5)(rollup@4.28.1)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) '@nuxt/devtools-wizard': 1.6.0 - '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.27.4) - '@vue/devtools-core': 7.4.4(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3)) + '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.28.1) + '@vue/devtools-core': 7.4.4(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3)) '@vue/devtools-kit': 7.4.4 birpc: 0.2.19 consola: 3.2.3 @@ -11866,10 +12165,10 @@ snapshots: simple-git: 3.27.0 sirv: 2.0.4 tinyglobby: 0.2.10 - unimport: 3.13.2(rollup@4.27.4) - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) - vite-plugin-inspect: 0.8.7(@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.27.4))(rollup@4.27.4)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) - vite-plugin-vue-inspector: 5.1.3(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + unimport: 3.13.2(rollup@4.28.1) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) + vite-plugin-inspect: 0.8.7(@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.28.1))(rollup@4.28.1)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) + vite-plugin-vue-inspector: 5.1.3(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) which: 3.0.1 ws: 8.18.0 transitivePeerDependencies: @@ -11879,9 +12178,9 @@ snapshots: - utf-8-validate - vue - '@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.27.4)': + '@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.28.1)': dependencies: - '@nuxt/schema': 3.14.159(magicast@0.3.5)(rollup@4.27.4) + '@nuxt/schema': 3.14.159(magicast@0.3.5)(rollup@4.28.1) c12: 2.0.1(magicast@0.3.5) consola: 3.2.3 defu: 6.1.4 @@ -11899,14 +12198,14 @@ snapshots: semver: 7.6.3 ufo: 1.5.4 unctx: 2.3.1 - unimport: 3.13.2(rollup@4.27.4) + unimport: 3.13.2(rollup@4.28.1) untyped: 1.5.1 transitivePeerDependencies: - magicast - rollup - supports-color - '@nuxt/schema@3.14.159(magicast@0.3.5)(rollup@4.27.4)': + '@nuxt/schema@3.14.159(magicast@0.3.5)(rollup@4.28.1)': dependencies: c12: 2.0.1(magicast@0.3.5) compatx: 0.1.8 @@ -11919,16 +12218,16 @@ snapshots: std-env: 3.8.0 ufo: 1.5.4 uncrypto: 0.1.3 - unimport: 3.13.2(rollup@4.27.4) + unimport: 3.13.2(rollup@4.28.1) untyped: 1.5.1 transitivePeerDependencies: - magicast - rollup - supports-color - '@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@4.27.4)': + '@nuxt/telemetry@2.6.0(magicast@0.3.5)(rollup@4.28.1)': dependencies: - '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.27.4) + '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.28.1) ci-info: 4.1.0 consola: 3.2.3 create-require: 1.1.1 @@ -11951,12 +12250,12 @@ snapshots: - rollup - supports-color - '@nuxt/vite-builder@3.14.159(@types/node@22.8.7)(eslint@9.15.0(jiti@2.4.0))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.27.4)(terser@5.36.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.13(typescript@5.6.3))': + '@nuxt/vite-builder@3.14.159(@types/node@22.10.2)(eslint@9.15.0(jiti@2.4.0))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.28.1)(terser@5.36.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.13(typescript@5.6.3))': dependencies: - '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.27.4) - '@rollup/plugin-replace': 6.0.1(rollup@4.27.4) - '@vitejs/plugin-vue': 5.2.0(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3)) - '@vitejs/plugin-vue-jsx': 4.1.0(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3)) + '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.28.1) + '@rollup/plugin-replace': 6.0.1(rollup@4.28.1) + '@vitejs/plugin-vue': 5.2.0(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3)) + '@vitejs/plugin-vue-jsx': 4.1.0(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3)) autoprefixer: 10.4.20(postcss@8.4.49) clear: 0.1.0 consola: 3.2.3 @@ -11977,15 +12276,15 @@ snapshots: perfect-debounce: 1.0.0 pkg-types: 1.2.1 postcss: 8.4.49 - rollup-plugin-visualizer: 5.12.0(rollup@4.27.4) + rollup-plugin-visualizer: 5.12.0(rollup@4.28.1) std-env: 3.8.0 strip-literal: 2.1.0 ufo: 1.5.4 unenv: 1.10.0 unplugin: 1.16.0 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) - vite-node: 2.1.5(@types/node@22.8.7)(terser@5.36.0) - vite-plugin-checker: 0.8.0(eslint@9.15.0(jiti@2.4.0))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue-tsc@2.1.10(typescript@5.6.3)) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) + vite-node: 2.1.5(@types/node@22.10.2)(terser@5.36.0) + vite-plugin-checker: 0.8.0(eslint@9.15.0(jiti@2.4.0))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue-tsc@2.1.10(typescript@5.6.3)) vue: 3.5.13(typescript@5.6.3) vue-bundle-renderer: 2.1.1 transitivePeerDependencies: @@ -12010,9 +12309,9 @@ snapshots: - vti - vue-tsc - '@nuxtjs/tailwindcss@6.12.2(magicast@0.3.5)(rollup@4.27.4)': + '@nuxtjs/tailwindcss@6.12.2(magicast@0.3.5)(rollup@4.28.1)': dependencies: - '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.27.4) + '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.28.1) autoprefixer: 10.4.20(postcss@8.4.49) consola: 3.2.3 defu: 6.1.4 @@ -12021,8 +12320,8 @@ snapshots: pathe: 1.1.2 postcss: 8.4.49 postcss-nesting: 13.0.1(postcss@8.4.49) - tailwind-config-viewer: 2.0.4(tailwindcss@3.4.15) - tailwindcss: 3.4.15 + tailwind-config-viewer: 2.0.4(tailwindcss@3.4.17) + tailwindcss: 3.4.17 ufo: 1.5.4 unctx: 2.3.1 transitivePeerDependencies: @@ -12826,24 +13125,24 @@ snapshots: - encoding - supports-color - '@rollup/plugin-alias@5.1.1(rollup@4.27.4)': + '@rollup/plugin-alias@5.1.1(rollup@4.28.1)': optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 - '@rollup/plugin-commonjs@26.0.3(rollup@4.27.4)': + '@rollup/plugin-commonjs@26.0.3(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) commondir: 1.0.1 estree-walker: 2.0.2 glob: 10.4.5 is-reference: 1.2.1 magic-string: 0.30.12 optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 - '@rollup/plugin-commonjs@28.0.1(rollup@4.27.4)': + '@rollup/plugin-commonjs@28.0.1(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.2(picomatch@4.0.2) @@ -12851,54 +13150,54 @@ snapshots: magic-string: 0.30.12 picomatch: 4.0.2 optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 - '@rollup/plugin-inject@5.0.5(rollup@4.27.4)': + '@rollup/plugin-inject@5.0.5(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) estree-walker: 2.0.2 magic-string: 0.30.12 optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 - '@rollup/plugin-json@6.1.0(rollup@4.27.4)': + '@rollup/plugin-json@6.1.0(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 - '@rollup/plugin-node-resolve@15.3.0(rollup@4.27.4)': + '@rollup/plugin-node-resolve@15.3.0(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 - '@rollup/plugin-replace@6.0.1(rollup@4.27.4)': + '@rollup/plugin-replace@6.0.1(rollup@4.28.1)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) magic-string: 0.30.12 optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 - '@rollup/plugin-terser@0.4.4(rollup@4.27.4)': + '@rollup/plugin-terser@0.4.4(rollup@4.28.1)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.36.0 optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 - '@rollup/plugin-typescript@11.1.6(rollup@4.27.4)(tslib@2.8.1)(typescript@5.6.3)': + '@rollup/plugin-typescript@11.1.6(rollup@4.28.1)(tslib@2.8.1)(typescript@5.6.3)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) resolve: 1.22.8 typescript: 5.6.3 optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 tslib: 2.8.1 '@rollup/plugin-typescript@12.1.1(rollup@4.27.4)(tslib@2.8.1)(typescript@5.7.2)': @@ -12910,6 +13209,15 @@ snapshots: rollup: 4.27.4 tslib: 2.8.1 + '@rollup/plugin-typescript@12.1.2(rollup@4.28.1)(tslib@2.8.1)(typescript@5.6.3)': + dependencies: + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) + resolve: 1.22.8 + typescript: 5.6.3 + optionalDependencies: + rollup: 4.28.1 + tslib: 2.8.1 + '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 @@ -12923,144 +13231,209 @@ snapshots: optionalDependencies: rollup: 4.27.4 + '@rollup/pluginutils@5.1.3(rollup@4.28.1)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.28.1 + '@rollup/rollup-android-arm-eabi@4.24.3': optional: true '@rollup/rollup-android-arm-eabi@4.27.4': optional: true + '@rollup/rollup-android-arm-eabi@4.28.1': + optional: true + '@rollup/rollup-android-arm64@4.24.3': optional: true '@rollup/rollup-android-arm64@4.27.4': optional: true + '@rollup/rollup-android-arm64@4.28.1': + optional: true + '@rollup/rollup-darwin-arm64@4.24.3': optional: true '@rollup/rollup-darwin-arm64@4.27.4': optional: true + '@rollup/rollup-darwin-arm64@4.28.1': + optional: true + '@rollup/rollup-darwin-x64@4.24.3': optional: true '@rollup/rollup-darwin-x64@4.27.4': optional: true + '@rollup/rollup-darwin-x64@4.28.1': + optional: true + '@rollup/rollup-freebsd-arm64@4.24.3': optional: true '@rollup/rollup-freebsd-arm64@4.27.4': optional: true + '@rollup/rollup-freebsd-arm64@4.28.1': + optional: true + '@rollup/rollup-freebsd-x64@4.24.3': optional: true '@rollup/rollup-freebsd-x64@4.27.4': optional: true + '@rollup/rollup-freebsd-x64@4.28.1': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.24.3': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.27.4': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.28.1': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.24.3': optional: true '@rollup/rollup-linux-arm-musleabihf@4.27.4': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.28.1': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.24.3': optional: true '@rollup/rollup-linux-arm64-gnu@4.27.4': optional: true + '@rollup/rollup-linux-arm64-gnu@4.28.1': + optional: true + '@rollup/rollup-linux-arm64-musl@4.24.3': optional: true '@rollup/rollup-linux-arm64-musl@4.27.4': optional: true + '@rollup/rollup-linux-arm64-musl@4.28.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.24.3': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.24.3': optional: true '@rollup/rollup-linux-riscv64-gnu@4.27.4': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.28.1': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.24.3': optional: true '@rollup/rollup-linux-s390x-gnu@4.27.4': optional: true + '@rollup/rollup-linux-s390x-gnu@4.28.1': + optional: true + '@rollup/rollup-linux-x64-gnu@4.24.3': optional: true '@rollup/rollup-linux-x64-gnu@4.27.4': optional: true + '@rollup/rollup-linux-x64-gnu@4.28.1': + optional: true + '@rollup/rollup-linux-x64-musl@4.24.3': optional: true '@rollup/rollup-linux-x64-musl@4.27.4': optional: true + '@rollup/rollup-linux-x64-musl@4.28.1': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.24.3': optional: true '@rollup/rollup-win32-arm64-msvc@4.27.4': optional: true + '@rollup/rollup-win32-arm64-msvc@4.28.1': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.24.3': optional: true '@rollup/rollup-win32-ia32-msvc@4.27.4': optional: true + '@rollup/rollup-win32-ia32-msvc@4.28.1': + optional: true + '@rollup/rollup-win32-x64-msvc@4.24.3': optional: true '@rollup/rollup-win32-x64-msvc@4.27.4': optional: true + '@rollup/rollup-win32-x64-msvc@4.28.1': + optional: true + '@rtsao/scc@1.1.0': {} '@rushstack/eslint-patch@1.10.4': {} - '@shikijs/core@1.23.1': + '@shikijs/core@1.24.2': dependencies: - '@shikijs/engine-javascript': 1.23.1 - '@shikijs/engine-oniguruma': 1.23.1 - '@shikijs/types': 1.23.1 - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/engine-javascript': 1.24.2 + '@shikijs/engine-oniguruma': 1.24.2 + '@shikijs/types': 1.24.2 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.23.1': + '@shikijs/engine-javascript@1.24.2': dependencies: - '@shikijs/types': 1.23.1 - '@shikijs/vscode-textmate': 9.3.0 - oniguruma-to-es: 0.4.1 + '@shikijs/types': 1.24.2 + '@shikijs/vscode-textmate': 9.3.1 + oniguruma-to-es: 0.7.0 - '@shikijs/engine-oniguruma@1.23.1': + '@shikijs/engine-oniguruma@1.24.2': dependencies: - '@shikijs/types': 1.23.1 - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/types': 1.24.2 + '@shikijs/vscode-textmate': 9.3.1 - '@shikijs/types@1.23.1': + '@shikijs/types@1.24.2': dependencies: - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 - '@shikijs/vscode-textmate@9.3.0': {} + '@shikijs/vscode-textmate@9.3.1': {} '@sideway/address@4.1.5': dependencies: @@ -13073,7 +13446,7 @@ snapshots: '@sideway/pinpoint@2.0.0': optional: true - '@sinclair/typebox@0.32.35': + '@sinclair/typebox@0.34.12': optional: true '@sindresorhus/merge-streams@2.3.0': {} @@ -13421,6 +13794,10 @@ snapshots: dependencies: '@supabase/node-fetch': 2.6.15 + '@supabase/auth-js@2.67.3': + dependencies: + '@supabase/node-fetch': 2.6.15 + '@supabase/functions-js@2.4.3': dependencies: '@supabase/node-fetch': 2.6.15 @@ -13433,6 +13810,10 @@ snapshots: dependencies: '@supabase/node-fetch': 2.6.15 + '@supabase/postgrest-js@1.17.7': + dependencies: + '@supabase/node-fetch': 2.6.15 + '@supabase/realtime-js@2.10.7': dependencies: '@supabase/node-fetch': 2.6.15 @@ -13443,6 +13824,16 @@ snapshots: - bufferutil - utf-8-validate + '@supabase/realtime-js@2.11.2': + dependencies: + '@supabase/node-fetch': 2.6.15 + '@types/phoenix': 1.6.5 + '@types/ws': 8.5.13 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + '@supabase/storage-js@2.7.1': dependencies: '@supabase/node-fetch': 2.6.15 @@ -13459,27 +13850,79 @@ snapshots: - bufferutil - utf-8-validate - '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))': + '@supabase/supabase-js@2.47.9': dependencies: - '@sveltejs/kit': 2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)) + '@supabase/auth-js': 2.67.3 + '@supabase/functions-js': 2.4.3 + '@supabase/node-fetch': 2.6.15 + '@supabase/postgrest-js': 1.17.7 + '@supabase/realtime-js': 2.11.2 + '@supabase/storage-js': 2.7.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))': + dependencies: + '@sveltejs/kit': 2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)) import-meta-resolve: 4.1.0 - '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))': + '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))': dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) import-meta-resolve: 4.1.0 - '@sveltejs/adapter-static@3.0.6(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))': + '@sveltejs/adapter-static@3.0.6(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))': dependencies: - '@sveltejs/kit': 2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/kit': 2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)) - '@sveltejs/adapter-static@3.0.6(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))': + '@sveltejs/adapter-static@3.0.6(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))': dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/kit': 2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)) - '@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0))': + '@sveltejs/adapter-static@3.0.6(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) + + '@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))': + dependencies: + '@sveltejs/vite-plugin-svelte': 4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) + '@types/cookie': 0.6.0 + cookie: 0.6.0 + devalue: 5.1.1 + esm-env: 1.2.1 + import-meta-resolve: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.12 + mrmime: 2.0.0 + sade: 1.8.1 + set-cookie-parser: 2.7.1 + sirv: 3.0.0 + svelte: 5.2.7 + tiny-glob: 0.2.9 + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) + + '@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1))': + dependencies: + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)) + '@types/cookie': 0.6.0 + cookie: 0.6.0 + devalue: 5.1.1 + esm-env: 1.2.1 + import-meta-resolve: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.12 + mrmime: 2.0.0 + sade: 1.8.1 + set-cookie-parser: 2.7.1 + sirv: 3.0.0 + svelte: 5.14.4 + tiny-glob: 0.2.9 + vite: 6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1) + + '@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))': + dependencies: + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.1.1 @@ -13493,29 +13936,11 @@ snapshots: sirv: 3.0.0 svelte: 5.1.9 tiny-glob: 0.2.9 - vite: 5.4.10(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) - '@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))': + '@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) - '@types/cookie': 0.6.0 - cookie: 0.6.0 - devalue: 5.1.1 - esm-env: 1.1.4 - import-meta-resolve: 4.1.0 - kleur: 4.1.5 - magic-string: 0.30.12 - mrmime: 2.0.0 - sade: 1.8.1 - set-cookie-parser: 2.7.1 - sirv: 3.0.0 - svelte: 5.2.3 - tiny-glob: 0.2.9 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) - - '@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))': - dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/vite-plugin-svelte': 4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.1.1 @@ -13529,71 +13954,71 @@ snapshots: sirv: 3.0.0 svelte: 5.2.7 tiny-glob: 0.2.9 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0))': + '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/vite-plugin-svelte': 4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)) debug: 4.3.7(supports-color@9.4.0) svelte: 5.1.9 - vite: 5.4.10(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))': + '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) - debug: 4.3.7(supports-color@9.4.0) - svelte: 5.2.3 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) - transitivePeerDependencies: - - supports-color - - '@sveltejs/vite-plugin-svelte-inspector@3.0.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))': - dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/vite-plugin-svelte': 4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) debug: 4.3.7(supports-color@9.4.0) svelte: 5.2.7 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)) + debug: 4.4.0 + svelte: 5.14.4 + vite: 6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1) + transitivePeerDependencies: + - supports-color + + '@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0))': + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)) debug: 4.3.7(supports-color@9.4.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.12 svelte: 5.1.9 - vite: 5.4.10(@types/node@22.8.7)(terser@5.36.0) - vitefu: 1.0.3(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)) + vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) + vitefu: 1.0.3(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))': + '@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) - debug: 4.3.7(supports-color@9.4.0) - deepmerge: 4.3.1 - kleur: 4.1.5 - magic-string: 0.30.12 - svelte: 5.2.3 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) - vitefu: 1.0.3(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) - transitivePeerDependencies: - - supports-color - - '@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))': - dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) debug: 4.3.7(supports-color@9.4.0) deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.12 svelte: 5.2.7 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) - vitefu: 1.0.3(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) + vitefu: 1.0.3(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) + transitivePeerDependencies: + - supports-color + + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1))': + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)) + debug: 4.4.0 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.17 + svelte: 5.14.4 + vite: 6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1) + vitefu: 1.0.4(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)) transitivePeerDependencies: - supports-color @@ -13608,18 +14033,18 @@ snapshots: '@swc/counter': 0.1.3 tslib: 2.8.1 - '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.15)': + '@tailwindcss/aspect-ratio@0.4.2(tailwindcss@3.4.17)': dependencies: - tailwindcss: 3.4.15 + tailwindcss: 3.4.17 - '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.15)': + '@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.17)': dependencies: - tailwindcss: 3.4.15 + tailwindcss: 3.4.17 - '@tailwindcss/forms@0.5.9(tailwindcss@3.4.15)': + '@tailwindcss/forms@0.5.9(tailwindcss@3.4.17)': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.15 + tailwindcss: 3.4.17 '@tailwindcss/typography@0.5.15(tailwindcss@3.4.14)': dependencies: @@ -13637,6 +14062,14 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 3.4.15 + '@tailwindcss/typography@0.5.15(tailwindcss@3.4.17)': + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.4.17 + '@tanstack/table-core@8.20.5': {} '@tanstack/virtual-core@3.10.9': {} @@ -13695,7 +14128,7 @@ snapshots: '@tauri-apps/cli-win32-ia32-msvc': 2.1.0 '@tauri-apps/cli-win32-x64-msvc': 2.1.0 - '@tauri-apps/plugin-deep-link@2.0.0': + '@tauri-apps/plugin-deep-link@2.2.0': dependencies: '@tauri-apps/api': 2.1.1 @@ -13703,6 +14136,10 @@ snapshots: dependencies: '@tauri-apps/api': 2.1.1 + '@tauri-apps/plugin-dialog@2.2.0': + dependencies: + '@tauri-apps/api': 2.1.1 + '@tauri-apps/plugin-fs@2.0.0-rc.1': dependencies: '@tauri-apps/api': 2.1.1 @@ -13711,7 +14148,11 @@ snapshots: dependencies: '@tauri-apps/api': 2.1.1 - '@tauri-apps/plugin-global-shortcut@2.0.0': + '@tauri-apps/plugin-fs@2.2.0': + dependencies: + '@tauri-apps/api': 2.1.1 + + '@tauri-apps/plugin-global-shortcut@2.2.0': dependencies: '@tauri-apps/api': 2.1.1 @@ -13719,14 +14160,26 @@ snapshots: dependencies: '@tauri-apps/api': 2.1.1 + '@tauri-apps/plugin-http@2.2.0': + dependencies: + '@tauri-apps/api': 2.1.1 + '@tauri-apps/plugin-log@2.0.0': dependencies: '@tauri-apps/api': 2.1.1 + '@tauri-apps/plugin-log@2.2.0': + dependencies: + '@tauri-apps/api': 2.1.1 + '@tauri-apps/plugin-notification@2.0.0': dependencies: '@tauri-apps/api': 2.1.1 + '@tauri-apps/plugin-notification@2.2.0': + dependencies: + '@tauri-apps/api': 2.1.1 + '@tauri-apps/plugin-os@2.0.0': dependencies: '@tauri-apps/api': 2.1.1 @@ -13735,7 +14188,11 @@ snapshots: dependencies: '@tauri-apps/api': 2.1.1 - '@tauri-apps/plugin-process@2.0.0': + '@tauri-apps/plugin-os@2.2.0': + dependencies: + '@tauri-apps/api': 2.1.1 + + '@tauri-apps/plugin-process@2.2.0': dependencies: '@tauri-apps/api': 2.1.1 @@ -13743,11 +14200,15 @@ snapshots: dependencies: '@tauri-apps/api': 2.1.1 - '@tauri-apps/plugin-store@2.1.0': + '@tauri-apps/plugin-shell@2.2.0': dependencies: '@tauri-apps/api': 2.1.1 - '@tauri-apps/plugin-updater@2.0.0': + '@tauri-apps/plugin-store@2.2.0': + dependencies: + '@tauri-apps/api': 2.1.1 + + '@tauri-apps/plugin-updater@2.3.0': dependencies: '@tauri-apps/api': 2.1.1 @@ -13966,7 +14427,7 @@ snapshots: '@types/http-proxy@1.17.15': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.10.2 '@types/json-schema@7.0.15': {} @@ -13974,7 +14435,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.10.2 '@types/leaflet@1.7.6': dependencies: @@ -13984,7 +14445,7 @@ snapshots: '@types/madge@5.0.3': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.10.2 '@types/mapbox__point-geometry@0.1.4': {} @@ -14004,7 +14465,7 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.10.2 '@types/node@12.20.55': {} @@ -14016,6 +14477,10 @@ snapshots: dependencies: undici-types: 6.19.8 + '@types/node@22.10.2': + dependencies: + undici-types: 6.20.0 + '@types/node@22.8.7': dependencies: undici-types: 6.19.8 @@ -14078,6 +14543,9 @@ snapshots: '@types/topojson-simplify': 3.0.3 '@types/topojson-specification': 1.0.5 + '@types/trusted-types@2.0.7': + optional: true + '@types/unist@3.0.3': {} '@types/validator@13.12.2': @@ -14089,7 +14557,7 @@ snapshots: '@types/ws@8.5.13': dependencies: - '@types/node': 22.8.7 + '@types/node': 22.10.2 '@typeschema/class-validator@0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.1)': dependencies: @@ -14563,7 +15031,7 @@ snapshots: dependencies: type-fest: 4.27.0 vee-validate: 4.14.7(vue@3.5.13(typescript@5.6.3)) - zod: 3.23.8 + zod: 3.24.1 transitivePeerDependencies: - vue @@ -14611,19 +15079,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@4.1.0(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue-jsx@4.1.0(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) vue: 3.5.13(typescript@5.6.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': dependencies: - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) vue: 3.5.13(typescript@5.6.3) '@vitest/expect@2.1.5': @@ -14633,13 +15101,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))': + '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))': dependencies: '@vitest/spy': 2.1.5 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) '@vitest/pretty-format@2.1.5': dependencies: @@ -14678,10 +15146,10 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue-macros/common@1.15.0(rollup@4.27.4)(vue@3.5.13(typescript@5.6.3))': + '@vue-macros/common@1.15.0(rollup@4.28.1)(vue@3.5.13(typescript@5.6.3))': dependencies: '@babel/types': 7.26.0 - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) '@vue/compiler-sfc': 3.5.13 ast-kit: 1.3.1 local-pkg: 0.5.1 @@ -14762,14 +15230,14 @@ snapshots: dependencies: '@vue/devtools-kit': 7.6.4 - '@vue/devtools-core@7.4.4(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': + '@vue/devtools-core@7.4.4(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3))': dependencies: '@vue/devtools-kit': 7.4.4 '@vue/devtools-shared': 7.6.4 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + vite-hot-client: 0.2.3(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) vue: 3.5.13(typescript@5.6.3) transitivePeerDependencies: - vite @@ -14972,10 +15440,10 @@ snapshots: aria-query@5.3.2: {} - arktype@2.0.0-rc.23: + arktype@2.0.0-rc.26: dependencies: - '@ark/schema': 0.23.0 - '@ark/util': 0.23.0 + '@ark/schema': 0.26.0 + '@ark/util': 0.26.0 optional: true array-buffer-byte-length@1.0.1: @@ -15136,27 +15604,47 @@ snapshots: bits-ui@0.21.16(svelte@5.1.9): dependencies: - '@internationalized/date': 3.5.6 + '@internationalized/date': 3.6.0 '@melt-ui/svelte': 0.76.2(svelte@5.1.9) nanoid: 5.0.8 svelte: 5.1.9 - bits-ui@1.0.0-next.60(svelte@5.2.3): + bits-ui@1.0.0-next.60(svelte@5.14.4): dependencies: '@floating-ui/core': 1.6.8 '@floating-ui/dom': 1.6.12 - '@internationalized/date': 3.5.6 - esm-env: 1.1.4 - runed: 0.15.3(svelte@5.2.3) - svelte: 5.2.3 - svelte-toolbelt: 0.4.6(svelte@5.2.3) + '@internationalized/date': 3.6.0 + esm-env: 1.2.1 + runed: 0.15.3(svelte@5.14.4) + svelte: 5.14.4 + svelte-toolbelt: 0.4.6(svelte@5.14.4) bits-ui@1.0.0-next.60(svelte@5.2.7): dependencies: '@floating-ui/core': 1.6.8 '@floating-ui/dom': 1.6.12 - '@internationalized/date': 3.5.6 - esm-env: 1.1.4 + '@internationalized/date': 3.6.0 + esm-env: 1.2.1 + runed: 0.15.3(svelte@5.2.7) + svelte: 5.2.7 + svelte-toolbelt: 0.4.6(svelte@5.2.7) + + bits-ui@1.0.0-next.72(svelte@5.14.4): + dependencies: + '@floating-ui/core': 1.6.8 + '@floating-ui/dom': 1.6.12 + '@internationalized/date': 3.6.0 + esm-env: 1.2.1 + runed: 0.15.3(svelte@5.14.4) + svelte: 5.14.4 + svelte-toolbelt: 0.4.6(svelte@5.14.4) + + bits-ui@1.0.0-next.72(svelte@5.2.7): + dependencies: + '@floating-ui/core': 1.6.8 + '@floating-ui/dom': 1.6.12 + '@internationalized/date': 3.6.0 + esm-env: 1.2.1 runed: 0.15.3(svelte@5.2.7) svelte: 5.2.7 svelte-toolbelt: 0.4.6(svelte@5.2.7) @@ -15490,12 +15978,6 @@ snapshots: dependencies: cross-spawn: 7.0.3 - cross-spawn@5.1.0: - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -15820,6 +16302,10 @@ snapshots: optionalDependencies: supports-color: 9.4.0 + debug@4.4.0: + dependencies: + ms: 2.1.3 + decimal.js-light@2.5.1: {} deep-eql@5.0.2: {} @@ -15993,6 +16479,10 @@ snapshots: dependencies: domelementtype: 2.3.0 + dompurify@3.2.3: + optionalDependencies: + '@types/trusted-types': 2.0.7 + domutils@3.1.0: dependencies: dom-serializer: 2.0.0 @@ -16019,7 +16509,7 @@ snapshots: ee-first@1.1.1: {} - effect@3.10.8: + effect@3.11.8: dependencies: fast-check: 3.23.0 optional: true @@ -16044,11 +16534,11 @@ snapshots: embla-carousel-reactive-utils: 8.4.0(embla-carousel@8.4.0) svelte: 5.1.9 - embla-carousel-svelte@8.4.0(svelte@5.2.3): + embla-carousel-svelte@8.4.0(svelte@5.14.4): dependencies: embla-carousel: 8.4.0 embla-carousel-reactive-utils: 8.4.0(embla-carousel@8.4.0) - svelte: 5.2.3 + svelte: 5.14.4 embla-carousel-svelte@8.4.0(svelte@5.2.7): dependencies: @@ -16438,6 +16928,25 @@ snapshots: transitivePeerDependencies: - ts-node + eslint-plugin-svelte@2.46.0(eslint@9.15.0(jiti@2.4.0))(svelte@5.14.4): + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.0)) + '@jridgewell/sourcemap-codec': 1.5.0 + eslint: 9.15.0(jiti@2.4.0) + eslint-compat-utils: 0.5.1(eslint@9.15.0(jiti@2.4.0)) + esutils: 2.0.3 + known-css-properties: 0.35.0 + postcss: 8.4.49 + postcss-load-config: 3.1.4(postcss@8.4.49) + postcss-safe-parser: 6.0.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + semver: 7.6.3 + svelte-eslint-parser: 0.43.0(svelte@5.14.4) + optionalDependencies: + svelte: 5.14.4 + transitivePeerDependencies: + - ts-node + eslint-plugin-svelte@2.46.0(eslint@9.15.0(jiti@2.4.0))(svelte@5.2.7): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.15.0(jiti@2.4.0)) @@ -16562,6 +17071,8 @@ snapshots: esm-env@1.1.4: {} + esm-env@1.2.1: {} + espree@10.3.0: dependencies: acorn: 8.14.0 @@ -16585,6 +17096,11 @@ snapshots: '@jridgewell/sourcemap-codec': 1.5.0 '@types/estree': 1.0.6 + esrap@1.3.1: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + '@typescript-eslint/types': 8.15.0 + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 @@ -16768,29 +17284,29 @@ snapshots: dependencies: fetch-blob: 3.2.0 - formsnap@1.0.1(svelte@5.1.9)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3)): + formsnap@1.0.1(svelte@5.1.9)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3)): dependencies: nanoid: 5.0.8 svelte: 5.1.9 - sveltekit-superforms: 2.20.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3) + sveltekit-superforms: 2.22.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3) - formsnap@2.0.0-next.1(svelte@5.2.3)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.3)(typescript@5.6.3)): + formsnap@2.0.0-next.1(svelte@5.14.4)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(@types/json-schema@7.0.15)(svelte@5.14.4)(typescript@5.7.2)): dependencies: - svelte: 5.2.3 - svelte-toolbelt: 0.4.6(svelte@5.2.3) - sveltekit-superforms: 2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.3)(typescript@5.6.3) + svelte: 5.14.4 + svelte-toolbelt: 0.4.6(svelte@5.14.4) + sveltekit-superforms: 2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(@types/json-schema@7.0.15)(svelte@5.14.4)(typescript@5.7.2) - formsnap@2.0.0-next.1(svelte@5.2.7)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3)): + formsnap@2.0.0-next.1(svelte@5.2.7)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3)): dependencies: svelte: 5.2.7 svelte-toolbelt: 0.4.6(svelte@5.2.7) - sveltekit-superforms: 2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3) + sveltekit-superforms: 2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3) - formsnap@2.0.0-next.1(svelte@5.2.7)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.7.2)): + formsnap@2.0.0-next.1(svelte@5.2.7)(sveltekit-superforms@2.22.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3)): dependencies: svelte: 5.2.7 svelte-toolbelt: 0.4.6(svelte@5.2.7) - sveltekit-superforms: 2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.7.2) + sveltekit-superforms: 2.22.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3) fraction.js@4.3.7: {} @@ -17173,9 +17689,9 @@ snapshots: import-meta-resolve@4.1.0: {} - impound@0.2.0(rollup@4.27.4): + impound@0.2.0(rollup@4.28.1): dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) mlly: 1.7.3 pathe: 1.1.2 unenv: 1.10.0 @@ -17521,8 +18037,6 @@ snapshots: object.assign: 4.1.5 object.values: 1.2.0 - just-clone@6.2.0: {} - kdbush@3.0.0: {} keygrip@1.1.0: @@ -17642,6 +18156,8 @@ snapshots: lilconfig@3.1.2: {} + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} linkify-it@5.0.0: @@ -17725,11 +18241,6 @@ snapshots: lru-cache@11.0.2: {} - lru-cache@4.1.5: - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -17742,14 +18253,14 @@ snapshots: dependencies: svelte: 5.1.9 - lucide-svelte@0.460.1(svelte@5.2.3): - dependencies: - svelte: 5.2.3 - lucide-svelte@0.460.1(svelte@5.2.7): dependencies: svelte: 5.2.7 + lucide-svelte@0.468.0(svelte@5.14.4): + dependencies: + svelte: 5.14.4 + lucide-vue-next@0.438.0(vue@3.5.13(typescript@5.6.3)): dependencies: vue: 3.5.13(typescript@5.6.3) @@ -17785,6 +18296,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + magicast@0.3.5: dependencies: '@babel/parser': 7.26.2 @@ -17958,9 +18473,9 @@ snapshots: dependencies: svelte: 5.1.9 - mode-watcher@0.5.0(svelte@5.2.3): + mode-watcher@0.5.0(svelte@5.14.4): dependencies: - svelte: 5.2.3 + svelte: 5.14.4 mode-watcher@0.5.0(svelte@5.2.7): dependencies: @@ -18048,14 +18563,14 @@ snapshots: dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@netlify/functions': 2.8.2 - '@rollup/plugin-alias': 5.1.1(rollup@4.27.4) - '@rollup/plugin-commonjs': 28.0.1(rollup@4.27.4) - '@rollup/plugin-inject': 5.0.5(rollup@4.27.4) - '@rollup/plugin-json': 6.1.0(rollup@4.27.4) - '@rollup/plugin-node-resolve': 15.3.0(rollup@4.27.4) - '@rollup/plugin-replace': 6.0.1(rollup@4.27.4) - '@rollup/plugin-terser': 0.4.4(rollup@4.27.4) - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/plugin-alias': 5.1.1(rollup@4.28.1) + '@rollup/plugin-commonjs': 28.0.1(rollup@4.28.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.28.1) + '@rollup/plugin-json': 6.1.0(rollup@4.28.1) + '@rollup/plugin-node-resolve': 15.3.0(rollup@4.28.1) + '@rollup/plugin-replace': 6.0.1(rollup@4.28.1) + '@rollup/plugin-terser': 0.4.4(rollup@4.28.1) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) '@types/http-proxy': 1.17.15 '@vercel/nft': 0.27.6 archiver: 7.0.1 @@ -18099,8 +18614,8 @@ snapshots: pkg-types: 1.2.1 pretty-bytes: 6.1.1 radix3: 1.1.2 - rollup: 4.27.4 - rollup-plugin-visualizer: 5.12.0(rollup@4.27.4) + rollup: 4.28.1 + rollup-plugin-visualizer: 5.12.0(rollup@4.28.1) scule: 1.3.0 semver: 7.6.3 serve-placeholder: 2.0.2 @@ -18110,7 +18625,7 @@ snapshots: uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.10.0 - unimport: 3.13.2(rollup@4.27.4) + unimport: 3.13.2(rollup@4.28.1) unstorage: 1.13.1(ioredis@5.4.1) untyped: 1.5.1 unwasm: 0.3.9 @@ -18196,14 +18711,14 @@ snapshots: nuxi@3.15.0: {} - nuxt@3.14.159(@parcel/watcher@2.5.0)(@types/node@22.8.7)(eslint@9.15.0(jiti@2.4.0))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.27.4)(terser@5.36.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue-tsc@2.1.10(typescript@5.6.3)): + nuxt@3.14.159(@parcel/watcher@2.5.0)(@types/node@22.10.2)(eslint@9.15.0(jiti@2.4.0))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.28.1)(terser@5.36.0)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue-tsc@2.1.10(typescript@5.6.3)): dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.6.0(rollup@4.27.4)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3)) - '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.27.4) - '@nuxt/schema': 3.14.159(magicast@0.3.5)(rollup@4.27.4) - '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@4.27.4) - '@nuxt/vite-builder': 3.14.159(@types/node@22.8.7)(eslint@9.15.0(jiti@2.4.0))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.27.4)(terser@5.36.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.13(typescript@5.6.3)) + '@nuxt/devtools': 1.6.0(rollup@4.28.1)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue@3.5.13(typescript@5.6.3)) + '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.28.1) + '@nuxt/schema': 3.14.159(magicast@0.3.5)(rollup@4.28.1) + '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@4.28.1) + '@nuxt/vite-builder': 3.14.159(@types/node@22.10.2)(eslint@9.15.0(jiti@2.4.0))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.28.1)(terser@5.36.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.13(typescript@5.6.3)) '@unhead/dom': 1.11.11 '@unhead/shared': 1.11.11 '@unhead/ssr': 1.11.11 @@ -18226,7 +18741,7 @@ snapshots: h3: 1.13.0 hookable: 5.5.3 ignore: 6.0.2 - impound: 0.2.0(rollup@4.27.4) + impound: 0.2.0(rollup@4.28.1) jiti: 2.4.0 klona: 2.0.6 knitwork: 1.1.0 @@ -18253,9 +18768,9 @@ snapshots: unctx: 2.3.1 unenv: 1.10.0 unhead: 1.11.11 - unimport: 3.13.2(rollup@4.27.4) + unimport: 3.13.2(rollup@4.28.1) unplugin: 1.16.0 - unplugin-vue-router: 0.10.8(rollup@4.27.4)(vue-router@4.4.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)) + unplugin-vue-router: 0.10.8(rollup@4.28.1)(vue-router@4.4.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)) unstorage: 1.13.1(ioredis@5.4.1) untyped: 1.5.1 vue: 3.5.13(typescript@5.6.3) @@ -18264,7 +18779,7 @@ snapshots: vue-router: 4.4.5(vue@3.5.13(typescript@5.6.3)) optionalDependencies: '@parcel/watcher': 2.5.0 - '@types/node': 22.8.7 + '@types/node': 22.10.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -18382,11 +18897,11 @@ snapshots: dependencies: mimic-fn: 4.0.0 - oniguruma-to-es@0.4.1: + oniguruma-to-es@0.7.0: dependencies: emoji-regex-xs: 1.0.0 regex: 5.0.2 - regex-recursion: 4.2.1 + regex-recursion: 4.3.0 only@0.0.2: {} @@ -18478,10 +18993,10 @@ snapshots: nanoid: 5.0.8 svelte: 5.1.9 - paneforge@1.0.0-next.1(svelte@5.2.3): + paneforge@1.0.0-next.1(svelte@5.14.4): dependencies: - svelte: 5.2.3 - svelte-toolbelt: 0.4.6(svelte@5.2.3) + svelte: 5.14.4 + svelte-toolbelt: 0.4.6(svelte@5.14.4) paneforge@1.0.0-next.1(svelte@5.2.7): dependencies: @@ -18865,16 +19380,16 @@ snapshots: prettier: 3.3.3 svelte: 5.1.9 - prettier-plugin-svelte@3.2.8(prettier@3.3.3)(svelte@5.2.3): - dependencies: - prettier: 3.3.3 - svelte: 5.2.3 - prettier-plugin-svelte@3.2.8(prettier@3.3.3)(svelte@5.2.7): dependencies: prettier: 3.3.3 svelte: 5.2.7 + prettier-plugin-svelte@3.3.2(prettier@3.4.2)(svelte@5.14.4): + dependencies: + prettier: 3.4.2 + svelte: 5.14.4 + prettier-plugin-tailwindcss@0.6.8(@ianvs/prettier-plugin-sort-imports@4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.3.3))(prettier-plugin-svelte@3.2.7(prettier@3.3.3)(svelte@5.1.9))(prettier@3.3.3): dependencies: prettier: 3.3.3 @@ -18882,13 +19397,6 @@ snapshots: '@ianvs/prettier-plugin-sort-imports': 4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.3.3) prettier-plugin-svelte: 3.2.7(prettier@3.3.3)(svelte@5.1.9) - prettier-plugin-tailwindcss@0.6.8(@ianvs/prettier-plugin-sort-imports@4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.3.3))(prettier-plugin-svelte@3.2.8(prettier@3.3.3)(svelte@5.2.3))(prettier@3.3.3): - dependencies: - prettier: 3.3.3 - optionalDependencies: - '@ianvs/prettier-plugin-sort-imports': 4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.3.3) - prettier-plugin-svelte: 3.2.8(prettier@3.3.3)(svelte@5.2.3) - prettier-plugin-tailwindcss@0.6.9(@ianvs/prettier-plugin-sort-imports@4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.3.3))(prettier-plugin-svelte@3.2.8(prettier@3.3.3)(svelte@5.2.7))(prettier@3.3.3): dependencies: prettier: 3.3.3 @@ -18896,10 +19404,19 @@ snapshots: '@ianvs/prettier-plugin-sort-imports': 4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.3.3) prettier-plugin-svelte: 3.2.8(prettier@3.3.3)(svelte@5.2.7) + prettier-plugin-tailwindcss@0.6.9(@ianvs/prettier-plugin-sort-imports@4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.4.2))(prettier-plugin-svelte@3.3.2(prettier@3.4.2)(svelte@5.14.4))(prettier@3.4.2): + dependencies: + prettier: 3.4.2 + optionalDependencies: + '@ianvs/prettier-plugin-sort-imports': 4.4.0(@vue/compiler-sfc@3.5.13)(prettier@3.4.2) + prettier-plugin-svelte: 3.3.2(prettier@3.4.2)(svelte@5.14.4) + prettier@2.8.8: {} prettier@3.3.3: {} + prettier@3.4.2: {} + pretty-bytes@6.1.1: {} pretty-ms@7.0.1: @@ -18940,7 +19457,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 22.8.7 + '@types/node': 22.10.2 long: 5.2.3 protoc-gen-ts@0.8.7: {} @@ -18949,8 +19466,6 @@ snapshots: protocols@2.0.1: {} - pseudomap@1.0.2: {} - punycode.js@2.3.1: {} punycode@2.3.1: {} @@ -19166,7 +19681,7 @@ snapshots: regenerator-runtime@0.14.1: {} - regex-recursion@4.2.1: + regex-recursion@4.3.0: dependencies: regex-utilities: 2.3.0 @@ -19253,14 +19768,14 @@ snapshots: robust-predicates@3.0.2: {} - rollup-plugin-visualizer@5.12.0(rollup@4.27.4): + rollup-plugin-visualizer@5.12.0(rollup@4.28.1): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.27.4 + rollup: 4.28.1 rollup@4.24.3: dependencies: @@ -19310,6 +19825,31 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.27.4 fsevents: 2.3.3 + rollup@4.28.1: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.28.1 + '@rollup/rollup-android-arm64': 4.28.1 + '@rollup/rollup-darwin-arm64': 4.28.1 + '@rollup/rollup-darwin-x64': 4.28.1 + '@rollup/rollup-freebsd-arm64': 4.28.1 + '@rollup/rollup-freebsd-x64': 4.28.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 + '@rollup/rollup-linux-arm-musleabihf': 4.28.1 + '@rollup/rollup-linux-arm64-gnu': 4.28.1 + '@rollup/rollup-linux-arm64-musl': 4.28.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 + '@rollup/rollup-linux-riscv64-gnu': 4.28.1 + '@rollup/rollup-linux-s390x-gnu': 4.28.1 + '@rollup/rollup-linux-x64-gnu': 4.28.1 + '@rollup/rollup-linux-x64-musl': 4.28.1 + '@rollup/rollup-win32-arm64-msvc': 4.28.1 + '@rollup/rollup-win32-ia32-msvc': 4.28.1 + '@rollup/rollup-win32-x64-msvc': 4.28.1 + fsevents: 2.3.3 + run-applescript@7.0.0: {} run-async@3.0.0: {} @@ -19318,14 +19858,14 @@ snapshots: dependencies: queue-microtask: 1.2.3 - runed@0.15.3(svelte@5.2.3): + runed@0.15.3(svelte@5.14.4): dependencies: - esm-env: 1.1.4 - svelte: 5.2.3 + esm-env: 1.2.1 + svelte: 5.14.4 runed@0.15.3(svelte@5.2.7): dependencies: - esm-env: 1.1.4 + esm-env: 1.2.1 svelte: 5.2.7 rw@1.3.3: {} @@ -19430,16 +19970,10 @@ snapshots: setprototypeof@1.2.0: {} - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} shell-quote@1.8.1: {} @@ -19450,13 +19984,13 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - shiki@1.23.1: + shiki@1.24.2: dependencies: - '@shikijs/core': 1.23.1 - '@shikijs/engine-javascript': 1.23.1 - '@shikijs/engine-oniguruma': 1.23.1 - '@shikijs/types': 1.23.1 - '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/core': 1.24.2 + '@shikijs/engine-javascript': 1.24.2 + '@shikijs/engine-oniguruma': 1.24.2 + '@shikijs/types': 1.24.2 + '@shikijs/vscode-textmate': 9.3.1 '@types/hast': 3.0.4 shx@0.3.4: @@ -19527,10 +20061,10 @@ snapshots: space-separated-tokens@2.0.2: {} - spawndamnit@2.0.0: + spawndamnit@3.0.1: dependencies: - cross-spawn: 5.1.0 - signal-exit: 3.0.7 + cross-spawn: 7.0.5 + signal-exit: 4.1.0 speakingurl@14.0.1: {} @@ -19691,7 +20225,7 @@ snapshots: pirates: 4.0.6 ts-interface-checker: 0.1.13 - supabase@1.219.2: + supabase@2.1.1: dependencies: bin-links: 5.0.0 https-proxy-agent: 7.0.5(supports-color@9.4.0) @@ -19731,18 +20265,6 @@ snapshots: transitivePeerDependencies: - picomatch - svelte-check@4.0.9(picomatch@4.0.2)(svelte@5.2.3)(typescript@5.6.3): - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - chokidar: 4.0.1 - fdir: 6.4.2(picomatch@4.0.2) - picocolors: 1.1.1 - sade: 1.8.1 - svelte: 5.2.3 - typescript: 5.6.3 - transitivePeerDependencies: - - picomatch - svelte-check@4.0.9(picomatch@4.0.2)(svelte@5.2.7)(typescript@5.6.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -19755,6 +20277,18 @@ snapshots: transitivePeerDependencies: - picomatch + svelte-check@4.1.1(picomatch@4.0.2)(svelte@5.14.4)(typescript@5.7.2): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + chokidar: 4.0.1 + fdir: 6.4.2(picomatch@4.0.2) + picocolors: 1.1.1 + sade: 1.8.1 + svelte: 5.14.4 + typescript: 5.7.2 + transitivePeerDependencies: + - picomatch + svelte-eslint-parser@0.43.0(svelte@5.1.9): dependencies: eslint-scope: 7.2.2 @@ -19765,6 +20299,16 @@ snapshots: optionalDependencies: svelte: 5.1.9 + svelte-eslint-parser@0.43.0(svelte@5.14.4): + dependencies: + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + postcss: 8.4.49 + postcss-scss: 4.0.9(postcss@8.4.49) + optionalDependencies: + svelte: 5.14.4 + svelte-eslint-parser@0.43.0(svelte@5.2.7): dependencies: eslint-scope: 7.2.2 @@ -19775,19 +20319,19 @@ snapshots: optionalDependencies: svelte: 5.2.7 - svelte-markdown@0.4.1(svelte@5.2.7): + svelte-markdown@0.4.1(svelte@5.14.4): dependencies: '@types/marked': 5.0.2 marked: 5.1.2 - svelte: 5.2.7 + svelte: 5.14.4 svelte-persisted-store@0.11.0(svelte@5.1.9): dependencies: svelte: 5.1.9 - svelte-persisted-store@0.12.0(svelte@5.2.3): + svelte-persisted-store@0.12.0(svelte@5.14.4): dependencies: - svelte: 5.2.3 + svelte: 5.14.4 svelte-persisted-store@0.12.0(svelte@5.2.7): dependencies: @@ -19797,9 +20341,9 @@ snapshots: dependencies: svelte: 5.1.9 - svelte-radix@2.0.1(svelte@5.2.3): + svelte-radix@2.0.1(svelte@5.14.4): dependencies: - svelte: 5.2.3 + svelte: 5.14.4 svelte-radix@2.0.1(svelte@5.2.7): dependencies: @@ -19809,19 +20353,19 @@ snapshots: dependencies: svelte: 5.1.9 - svelte-sonner@0.3.28(svelte@5.2.3): + svelte-sonner@0.3.28(svelte@5.14.4): dependencies: - svelte: 5.2.3 + svelte: 5.14.4 svelte-sonner@0.3.28(svelte@5.2.7): dependencies: svelte: 5.2.7 - svelte-toolbelt@0.4.6(svelte@5.2.3): + svelte-toolbelt@0.4.6(svelte@5.14.4): dependencies: clsx: 2.1.1 style-to-object: 1.0.8 - svelte: 5.2.3 + svelte: 5.14.4 svelte-toolbelt@0.4.6(svelte@5.2.7): dependencies: @@ -19845,7 +20389,7 @@ snapshots: magic-string: 0.30.12 zimmerframe: 1.1.2 - svelte@5.2.3: + svelte@5.14.4: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -19854,8 +20398,8 @@ snapshots: acorn-typescript: 1.4.13(acorn@8.14.0) aria-query: 5.3.2 axobject-query: 4.1.0 - esm-env: 1.1.4 - esrap: 1.2.2 + esm-env: 1.2.1 + esrap: 1.3.1 is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.12 @@ -19877,118 +20421,137 @@ snapshots: magic-string: 0.30.12 zimmerframe: 1.1.2 - sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3): + sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3): dependencies: - '@sveltejs/kit': 2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/kit': 2.12.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) + devalue: 5.1.1 + memoize-weak: 1.0.2 + svelte: 5.2.7 + ts-deepmerge: 7.0.2 + optionalDependencies: + '@exodus/schemasafe': 1.3.0 + '@gcornut/valibot-json-schema': 0.31.0 + '@sinclair/typebox': 0.34.12 + '@typeschema/class-validator': 0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.1) + '@vinejs/vine': 2.1.0 + arktype: 2.0.0-rc.26 + class-validator: 0.14.1 + effect: 3.11.8 + joi: 17.13.3 + json-schema-to-ts: 3.1.1 + superstruct: 2.0.2 + valibot: 1.0.0-beta.9(typescript@5.6.3) + yup: 1.6.1 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - '@types/json-schema' + - typescript + + sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(@types/json-schema@7.0.15)(svelte@5.14.4)(typescript@5.6.3): + dependencies: + '@sveltejs/kit': 2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)) + devalue: 5.1.1 + memoize-weak: 1.0.2 + svelte: 5.14.4 + ts-deepmerge: 7.0.2 + optionalDependencies: + '@exodus/schemasafe': 1.3.0 + '@gcornut/valibot-json-schema': 0.31.0 + '@sinclair/typebox': 0.34.12 + '@typeschema/class-validator': 0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.1) + '@vinejs/vine': 2.1.0 + arktype: 2.0.0-rc.26 + class-validator: 0.14.1 + effect: 3.11.8 + joi: 17.13.3 + json-schema-to-ts: 3.1.1 + superstruct: 2.0.2 + valibot: 1.0.0-beta.9(typescript@5.6.3) + yup: 1.6.1 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - '@types/json-schema' + - typescript + + sveltekit-superforms@2.22.1(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(@types/json-schema@7.0.15)(svelte@5.14.4)(typescript@5.7.2): + dependencies: + '@sveltejs/kit': 2.12.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)))(svelte@5.14.4)(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)) + devalue: 5.1.1 + memoize-weak: 1.0.2 + svelte: 5.14.4 + ts-deepmerge: 7.0.2 + optionalDependencies: + '@exodus/schemasafe': 1.3.0 + '@gcornut/valibot-json-schema': 0.31.0 + '@sinclair/typebox': 0.34.12 + '@typeschema/class-validator': 0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.1) + '@vinejs/vine': 2.1.0 + arktype: 2.0.0-rc.26 + class-validator: 0.14.1 + effect: 3.11.8 + joi: 17.13.3 + json-schema-to-ts: 3.1.1 + superstruct: 2.0.2 + valibot: 1.0.0-beta.9(typescript@5.7.2) + yup: 1.6.1 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) + transitivePeerDependencies: + - '@types/json-schema' + - typescript + + sveltekit-superforms@2.22.1(@sveltejs/kit@2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.1.9)(typescript@5.6.3): + dependencies: + '@sveltejs/kit': 2.8.0(@sveltejs/vite-plugin-svelte@4.0.0(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.1.9)(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)) devalue: 5.1.1 - just-clone: 6.2.0 memoize-weak: 1.0.2 svelte: 5.1.9 - ts-deepmerge: 7.0.1 + ts-deepmerge: 7.0.2 optionalDependencies: - '@effect/schema': 0.75.5(effect@3.10.8) '@exodus/schemasafe': 1.3.0 '@gcornut/valibot-json-schema': 0.31.0 - '@sinclair/typebox': 0.32.35 + '@sinclair/typebox': 0.34.12 '@typeschema/class-validator': 0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.1) '@vinejs/vine': 2.1.0 - arktype: 2.0.0-rc.23 + arktype: 2.0.0-rc.26 class-validator: 0.14.1 - effect: 3.10.8 + effect: 3.11.8 joi: 17.13.3 json-schema-to-ts: 3.1.1 superstruct: 2.0.2 - valibot: 1.0.0-beta.8(typescript@5.6.3) - yup: 1.4.0 - zod: 3.23.8 - zod-to-json-schema: 3.23.5(zod@3.23.8) + valibot: 1.0.0-beta.9(typescript@5.6.3) + yup: 1.6.1 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - '@types/json-schema' - typescript - sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.3)(typescript@5.6.3): + sveltekit-superforms@2.22.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3): dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) devalue: 5.1.1 - just-clone: 6.2.0 - memoize-weak: 1.0.2 - svelte: 5.2.3 - ts-deepmerge: 7.0.1 - optionalDependencies: - '@effect/schema': 0.75.5(effect@3.10.8) - '@exodus/schemasafe': 1.3.0 - '@gcornut/valibot-json-schema': 0.31.0 - '@sinclair/typebox': 0.32.35 - '@typeschema/class-validator': 0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.1) - '@vinejs/vine': 2.1.0 - arktype: 2.0.0-rc.23 - class-validator: 0.14.1 - effect: 3.10.8 - joi: 17.13.3 - json-schema-to-ts: 3.1.1 - superstruct: 2.0.2 - valibot: 1.0.0-beta.8(typescript@5.6.3) - yup: 1.4.0 - zod: 3.23.8 - zod-to-json-schema: 3.23.5(zod@3.23.8) - transitivePeerDependencies: - - '@types/json-schema' - - typescript - - sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.6.3): - dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) - devalue: 5.1.1 - just-clone: 6.2.0 memoize-weak: 1.0.2 svelte: 5.2.7 - ts-deepmerge: 7.0.1 + ts-deepmerge: 7.0.2 optionalDependencies: - '@effect/schema': 0.75.5(effect@3.10.8) '@exodus/schemasafe': 1.3.0 '@gcornut/valibot-json-schema': 0.31.0 - '@sinclair/typebox': 0.32.35 + '@sinclair/typebox': 0.34.12 '@typeschema/class-validator': 0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.1) '@vinejs/vine': 2.1.0 - arktype: 2.0.0-rc.23 + arktype: 2.0.0-rc.26 class-validator: 0.14.1 - effect: 3.10.8 + effect: 3.11.8 joi: 17.13.3 json-schema-to-ts: 3.1.1 superstruct: 2.0.2 - valibot: 1.0.0-beta.8(typescript@5.6.3) - yup: 1.4.0 - zod: 3.23.8 - zod-to-json-schema: 3.23.5(zod@3.23.8) - transitivePeerDependencies: - - '@types/json-schema' - - typescript - - sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(@types/json-schema@7.0.15)(svelte@5.2.7)(typescript@5.7.2): - dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.1(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)))(svelte@5.2.7)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) - devalue: 5.1.1 - just-clone: 6.2.0 - memoize-weak: 1.0.2 - svelte: 5.2.7 - ts-deepmerge: 7.0.1 - optionalDependencies: - '@effect/schema': 0.75.5(effect@3.10.8) - '@exodus/schemasafe': 1.3.0 - '@gcornut/valibot-json-schema': 0.31.0 - '@sinclair/typebox': 0.32.35 - '@typeschema/class-validator': 0.3.0(@types/json-schema@7.0.15)(class-validator@0.14.1) - '@vinejs/vine': 2.1.0 - arktype: 2.0.0-rc.23 - class-validator: 0.14.1 - effect: 3.10.8 - joi: 17.13.3 - json-schema-to-ts: 3.1.1 - superstruct: 2.0.2 - valibot: 1.0.0-beta.8(typescript@5.7.2) - yup: 1.4.0 - zod: 3.23.8 - zod-to-json-schema: 3.23.5(zod@3.23.8) + valibot: 1.0.0-beta.9(typescript@5.6.3) + yup: 1.6.1 + zod: 3.24.1 + zod-to-json-schema: 3.24.1(zod@3.24.1) transitivePeerDependencies: - '@types/json-schema' - typescript @@ -20009,7 +20572,7 @@ snapshots: tabbable@6.2.0: {} - tailwind-config-viewer@2.0.4(tailwindcss@3.4.15): + tailwind-config-viewer@2.0.4(tailwindcss@3.4.17): dependencies: '@koa/router': 12.0.2 commander: 6.2.1 @@ -20019,26 +20582,37 @@ snapshots: open: 7.4.2 portfinder: 1.0.32 replace-in-file: 6.3.5 - tailwindcss: 3.4.15 + tailwindcss: 3.4.17 transitivePeerDependencies: - supports-color tailwind-merge@2.5.4: {} + tailwind-merge@2.5.5: {} + tailwind-variants@0.2.1(tailwindcss@3.4.14): dependencies: - tailwind-merge: 2.5.4 + tailwind-merge: 2.5.5 tailwindcss: 3.4.14 tailwind-variants@0.3.0(tailwindcss@3.4.15): dependencies: - tailwind-merge: 2.5.4 + tailwind-merge: 2.5.5 tailwindcss: 3.4.15 + tailwind-variants@0.3.0(tailwindcss@3.4.17): + dependencies: + tailwind-merge: 2.5.5 + tailwindcss: 3.4.17 + tailwindcss-animate@1.0.7(tailwindcss@3.4.15): dependencies: tailwindcss: 3.4.15 + tailwindcss-animate@1.0.7(tailwindcss@3.4.17): + dependencies: + tailwindcss: 3.4.17 + tailwindcss@3.4.14: dependencies: '@alloc/quick-lru': 5.2.0 @@ -20093,6 +20667,33 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@3.4.17: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@2.2.1: {} tar-stream@3.1.7: @@ -20122,13 +20723,13 @@ snapshots: tauri-api-adapter@0.3.16(typescript@5.6.3): dependencies: '@tauri-apps/api': 2.1.1 - '@tauri-apps/plugin-dialog': 2.0.1 - '@tauri-apps/plugin-fs': 2.0.2 - '@tauri-apps/plugin-http': 2.0.1 - '@tauri-apps/plugin-log': 2.0.0 - '@tauri-apps/plugin-notification': 2.0.0 - '@tauri-apps/plugin-os': 2.0.0 - '@tauri-apps/plugin-shell': 2.0.1 + '@tauri-apps/plugin-dialog': 2.2.0 + '@tauri-apps/plugin-fs': 2.2.0 + '@tauri-apps/plugin-http': 2.2.0 + '@tauri-apps/plugin-log': 2.2.0 + '@tauri-apps/plugin-notification': 2.2.0 + '@tauri-apps/plugin-os': 2.2.0 + '@tauri-apps/plugin-shell': 2.2.0 '@tauri-apps/plugin-upload': 2.2.1 kkrpc: 0.0.12(typescript@5.6.3) rimraf: 6.0.1 @@ -20147,8 +20748,8 @@ snapshots: tauri-api-adapter@0.3.8(tslib@2.8.1)(typescript@5.6.3): dependencies: '@huakunshen/comlink': 4.4.1 - '@rollup/plugin-alias': 5.1.1(rollup@4.27.4) - '@rollup/plugin-typescript': 11.1.6(rollup@4.27.4)(tslib@2.8.1)(typescript@5.6.3) + '@rollup/plugin-alias': 5.1.1(rollup@4.28.1) + '@rollup/plugin-typescript': 11.1.6(rollup@4.28.1)(tslib@2.8.1)(typescript@5.6.3) '@tauri-apps/api': 2.1.1 '@tauri-apps/plugin-dialog': 2.0.1 '@tauri-apps/plugin-fs': 2.0.2 @@ -20159,7 +20760,7 @@ snapshots: '@tauri-apps/plugin-shell': 2.0.1 '@tauri-apps/plugin-upload': 2.0.0 rimraf: 5.0.10 - rollup: 4.27.4 + rollup: 4.28.1 shx: 0.3.4 tauri-plugin-clipboard-api: 2.1.11(typescript@5.6.3) tauri-plugin-network-api: 2.0.4(typescript@5.6.3) @@ -20290,7 +20891,7 @@ snapshots: dependencies: typescript: 5.7.2 - ts-deepmerge@7.0.1: {} + ts-deepmerge@7.0.2: {} ts-graphviz@2.1.4: dependencies: @@ -20345,32 +20946,32 @@ snapshots: tsscmp@1.0.6: {} - turbo-darwin-64@2.3.0: + turbo-darwin-64@2.3.3: optional: true - turbo-darwin-arm64@2.3.0: + turbo-darwin-arm64@2.3.3: optional: true - turbo-linux-64@2.3.0: + turbo-linux-64@2.3.3: optional: true - turbo-linux-arm64@2.3.0: + turbo-linux-arm64@2.3.3: optional: true - turbo-windows-64@2.3.0: + turbo-windows-64@2.3.3: optional: true - turbo-windows-arm64@2.3.0: + turbo-windows-arm64@2.3.3: optional: true - turbo@2.3.0: + turbo@2.3.3: optionalDependencies: - turbo-darwin-64: 2.3.0 - turbo-darwin-arm64: 2.3.0 - turbo-linux-64: 2.3.0 - turbo-linux-arm64: 2.3.0 - turbo-windows-64: 2.3.0 - turbo-windows-arm64: 2.3.0 + turbo-darwin-64: 2.3.3 + turbo-darwin-arm64: 2.3.3 + turbo-linux-64: 2.3.3 + turbo-linux-arm64: 2.3.3 + turbo-windows-64: 2.3.3 + turbo-windows-arm64: 2.3.3 type-check@0.4.0: dependencies: @@ -20422,24 +21023,24 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typedoc@0.26.11(typescript@5.6.3): - dependencies: - lunr: 2.3.9 - markdown-it: 14.1.0 - minimatch: 9.0.5 - shiki: 1.23.1 - typescript: 5.6.3 - yaml: 2.6.0 - typedoc@0.26.11(typescript@5.7.2): dependencies: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.23.1 + shiki: 1.24.2 typescript: 5.7.2 yaml: 2.6.0 + typedoc@0.27.5(typescript@5.6.3): + dependencies: + '@gerrit0/mini-shiki': 1.24.4 + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + typescript: 5.6.3 + yaml: 2.6.1 + typescript-eslint@8.14.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3): dependencies: '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3) @@ -20497,6 +21098,8 @@ snapshots: undici-types@6.19.8: {} + undici-types@6.20.0: {} + unenv@1.10.0: dependencies: consola: 3.2.3 @@ -20514,9 +21117,9 @@ snapshots: unicorn-magic@0.1.0: {} - unimport@3.13.2(rollup@4.27.4): + unimport@3.13.2(rollup@4.28.1): dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) acorn: 8.14.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 @@ -20559,11 +21162,11 @@ snapshots: universalify@2.0.1: {} - unplugin-vue-router@0.10.8(rollup@4.27.4)(vue-router@4.4.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)): + unplugin-vue-router@0.10.8(rollup@4.28.1)(vue-router@4.4.5(vue@3.5.13(typescript@5.6.3)))(vue@3.5.13(typescript@5.6.3)): dependencies: '@babel/types': 7.26.0 - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) - '@vue-macros/common': 1.15.0(rollup@4.27.4)(vue@3.5.13(typescript@5.6.3)) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) + '@vue-macros/common': 1.15.0(rollup@4.28.1)(vue@3.5.13(typescript@5.6.3)) ast-walker-scope: 0.6.2 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -20691,11 +21294,6 @@ snapshots: optionalDependencies: typescript: 5.6.3 - valibot@1.0.0-beta.8(typescript@5.7.2): - optionalDependencies: - typescript: 5.7.2 - optional: true - valibot@1.0.0-beta.9(typescript@5.6.3): optionalDependencies: typescript: 5.6.3 @@ -20714,15 +21312,15 @@ snapshots: bits-ui: 0.21.16(svelte@5.1.9) svelte: 5.1.9 - vaul-svelte@1.0.0-next.3(svelte@5.2.3): + vaul-svelte@1.0.0-next.3(svelte@5.14.4): dependencies: - bits-ui: 1.0.0-next.60(svelte@5.2.3) - svelte: 5.2.3 - svelte-toolbelt: 0.4.6(svelte@5.2.3) + bits-ui: 1.0.0-next.72(svelte@5.14.4) + svelte: 5.14.4 + svelte-toolbelt: 0.4.6(svelte@5.14.4) vaul-svelte@1.0.0-next.3(svelte@5.2.7): dependencies: - bits-ui: 1.0.0-next.60(svelte@5.2.7) + bits-ui: 1.0.0-next.72(svelte@5.2.7) svelte: 5.2.7 svelte-toolbelt: 0.4.6(svelte@5.2.7) @@ -20776,17 +21374,17 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - vite-hot-client@0.2.3(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)): + vite-hot-client@0.2.3(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)): dependencies: - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) - vite-node@2.1.5(@types/node@22.8.7)(terser@5.36.0): + vite-node@2.1.5(@types/node@22.10.2)(terser@5.36.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@9.4.0) es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) transitivePeerDependencies: - '@types/node' - less @@ -20798,7 +21396,7 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.8.0(eslint@9.15.0(jiti@2.4.0))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0))(vue-tsc@2.1.10(typescript@5.6.3)): + vite-plugin-checker@0.8.0(eslint@9.15.0(jiti@2.4.0))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0))(vue-tsc@2.1.10(typescript@5.6.3)): dependencies: '@babel/code-frame': 7.26.2 ansi-escapes: 4.3.2 @@ -20810,7 +21408,7 @@ snapshots: npm-run-path: 4.0.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.12 @@ -20821,10 +21419,10 @@ snapshots: typescript: 5.6.3 vue-tsc: 2.1.10(typescript@5.6.3) - vite-plugin-inspect@0.8.7(@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.27.4))(rollup@4.27.4)(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)): + vite-plugin-inspect@0.8.7(@nuxt/kit@3.14.159(magicast@0.3.5)(rollup@4.28.1))(rollup@4.28.1)(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.3(rollup@4.27.4) + '@rollup/pluginutils': 5.1.3(rollup@4.28.1) debug: 4.3.7(supports-color@9.4.0) error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 @@ -20832,14 +21430,14 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 2.0.4 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) optionalDependencies: - '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.27.4) + '@nuxt/kit': 3.14.159(magicast@0.3.5)(rollup@4.28.1) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@5.1.3(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)): + vite-plugin-vue-inspector@5.1.3(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)): dependencies: '@babel/core': 7.26.0 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) @@ -20850,17 +21448,27 @@ snapshots: '@vue/compiler-dom': 3.5.13 kolorist: 1.8.0 magic-string: 0.30.12 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) transitivePeerDependencies: - supports-color - vite@5.4.10(@types/node@22.8.7)(terser@5.36.0): + vite@5.4.10(@types/node@22.10.2)(terser@5.36.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.27.4 + rollup: 4.28.1 optionalDependencies: - '@types/node': 22.8.7 + '@types/node': 22.10.2 + fsevents: 2.3.3 + terser: 5.36.0 + + vite@5.4.11(@types/node@22.10.2)(terser@5.36.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.49 + rollup: 4.24.3 + optionalDependencies: + '@types/node': 22.10.2 fsevents: 2.3.3 terser: 5.36.0 @@ -20874,18 +21482,34 @@ snapshots: fsevents: 2.3.3 terser: 5.36.0 - vitefu@1.0.3(vite@5.4.10(@types/node@22.8.7)(terser@5.36.0)): + vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1): + dependencies: + esbuild: 0.24.0 + postcss: 8.4.49 + rollup: 4.27.4 optionalDependencies: - vite: 5.4.10(@types/node@22.8.7)(terser@5.36.0) + '@types/node': 22.10.2 + fsevents: 2.3.3 + jiti: 2.4.0 + terser: 5.36.0 + yaml: 2.6.1 - vitefu@1.0.3(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)): + vitefu@1.0.3(vite@5.4.10(@types/node@22.10.2)(terser@5.36.0)): optionalDependencies: - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.10(@types/node@22.10.2)(terser@5.36.0) - vitest@2.1.5(@types/node@22.8.7)(terser@5.36.0): + vitefu@1.0.3(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)): + optionalDependencies: + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) + + vitefu@1.0.4(vite@6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1)): + optionalDependencies: + vite: 6.0.3(@types/node@22.10.2)(jiti@2.4.0)(terser@5.36.0)(yaml@2.6.1) + + vitest@2.1.5(@types/node@22.10.2)(terser@5.36.0): dependencies: '@vitest/expect': 2.1.5 - '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.8.7)(terser@5.36.0)) + '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.10.2)(terser@5.36.0)) '@vitest/pretty-format': 2.1.5 '@vitest/runner': 2.1.5 '@vitest/snapshot': 2.1.5 @@ -20901,11 +21525,11 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.8.7)(terser@5.36.0) - vite-node: 2.1.5(@types/node@22.8.7)(terser@5.36.0) + vite: 5.4.11(@types/node@22.10.2)(terser@5.36.0) + vite-node: 2.1.5(@types/node@22.10.2)(terser@5.36.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.8.7 + '@types/node': 22.10.2 transitivePeerDependencies: - less - lightningcss @@ -21093,8 +21717,6 @@ snapshots: y18n@5.0.8: {} - yallist@2.1.2: {} - yallist@3.1.1: {} yallist@4.0.0: {} @@ -21107,6 +21729,8 @@ snapshots: yaml@2.6.0: {} + yaml@2.6.1: {} + yargs-parser@21.1.1: {} yargs@17.7.2: @@ -21125,7 +21749,7 @@ snapshots: yoctocolors-cjs@2.1.2: {} - yup@1.4.0: + yup@1.6.1: dependencies: property-expr: 2.0.6 tiny-case: 1.0.3 @@ -21143,11 +21767,13 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-to-json-schema@3.23.5(zod@3.23.8): + zod-to-json-schema@3.24.1(zod@3.24.1): dependencies: - zod: 3.23.8 + zod: 3.24.1 optional: true zod@3.23.8: {} + zod@3.24.1: {} + zwitch@2.0.4: {} diff --git a/turbo.json b/turbo.json index f8d7c1d..073a49c 100644 --- a/turbo.json +++ b/turbo.json @@ -5,7 +5,7 @@ "build": { "dependsOn": ["^build"], "inputs": ["$TURBO_DEFAULT$", ".env*"], - "outputs": [".next/**", "!.next/cache/**"] + "outputs": [".next/**", "!.next/cache/**", "dist/**", "build/**"] }, "lint": { "dependsOn": ["^lint"] diff --git a/vendors/tauri-plugin-network b/vendors/tauri-plugin-network index e0c867d..6c6314d 160000 --- a/vendors/tauri-plugin-network +++ b/vendors/tauri-plugin-network @@ -1 +1 @@ -Subproject commit e0c867dcdc271bfdf0e6b830a6dcd8e5a7190c9f +Subproject commit 6c6314d41093eb36af6c4c375f07048ef73aa36f