diff --git a/Cargo.lock b/Cargo.lock index 4e09aed..fa04a67 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -354,7 +354,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -404,7 +404,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -421,7 +421,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -484,7 +484,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f012b8cc0c850f34117ec8252a44418f2e34a2cf501de89e29b241ae5f79471" dependencies = [ "dirs 4.0.0", - "thiserror", + "thiserror 1.0.63", "winreg 0.10.1", ] @@ -496,7 +496,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -572,7 +572,7 @@ dependencies = [ "form_urlencoded", "serde", "subtle", - "thiserror", + "thiserror 1.0.63", "tower-cookies", "tower-layer", "tower-service", @@ -589,7 +589,7 @@ checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -668,12 +668,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bit_field" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" - [[package]] name = "bitflags" version = "1.3.2" @@ -792,15 +786,15 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "syn_derive", ] [[package]] name = "brotli" -version = "3.5.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d640d25bc63c50fb1f0b545ffd80207d2e10a4c965530809b40ba3386825c391" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -809,9 +803,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.5.1" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -950,7 +944,7 @@ dependencies = [ "glib", "libc", "once_cell", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -993,7 +987,7 @@ dependencies = [ "semver", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -1149,7 +1143,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1167,22 +1161,6 @@ dependencies = [ "error-code", ] -[[package]] -name = "cocoa" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation 0.1.2", - "core-foundation 0.9.4", - "core-graphics 0.23.2", - "foreign-types 0.5.0", - "libc", - "objc", -] - [[package]] name = "cocoa" version = "0.26.0" @@ -1191,7 +1169,7 @@ checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2" dependencies = [ "bitflags 2.6.0", "block", - "cocoa-foundation 0.2.0", + "cocoa-foundation", "core-foundation 0.10.0", "core-graphics 0.24.0", "foreign-types 0.5.0", @@ -1199,20 +1177,6 @@ dependencies = [ "objc", ] -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation 0.9.4", - "core-graphics-types 0.1.3", - "libc", - "objc", -] - [[package]] name = "cocoa-foundation" version = "0.2.0" @@ -1473,12 +1437,6 @@ version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - [[package]] name = "crypto-common" version = "0.1.6" @@ -1514,7 +1472,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1524,7 +1482,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" dependencies = [ "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1565,7 +1523,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1595,7 +1553,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1606,7 +1564,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1640,7 +1598,7 @@ dependencies = [ "netlink-sys", "nix 0.27.1", "serde", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -1663,7 +1621,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1672,7 +1630,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff4a5fefe330e8d7f31b16a318f9ce81000d8e35e69b93eae154d16d2278f70f" dependencies = [ - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -1717,7 +1675,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1809,7 +1767,7 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -1924,7 +1882,7 @@ dependencies = [ "sys-locale", "tabled", "tachyonix", - "thiserror", + "thiserror 1.0.63", "time", "timedmap", "tokio", @@ -2016,8 +1974,9 @@ dependencies = [ "sea-orm", "sea-orm-migration", "serde", + "serde_json", "sqlx", - "thiserror", + "thiserror 1.0.63", "tokio", "tower-http", "tower-sessions", @@ -2164,7 +2123,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2231,22 +2190,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "exr" -version = "1.72.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4" -dependencies = [ - "bit_field", - "flume", - "half", - "lebe", - "miniz_oxide", - "rayon-core", - "smallvec", - "zune-inflate", -] - [[package]] name = "fastrand" version = "2.1.0" @@ -2338,7 +2281,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2458,7 +2401,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2682,16 +2625,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "gif" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" -dependencies = [ - "color_quant", - "weezl", -] - [[package]] name = "gimli" version = "0.29.0" @@ -2714,7 +2647,7 @@ dependencies = [ "once_cell", "pin-project-lite", "smallvec", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -2747,7 +2680,7 @@ checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2770,7 +2703,7 @@ dependencies = [ "memchr", "once_cell", "smallvec", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -2784,7 +2717,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2887,7 +2820,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -2909,16 +2842,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "half" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" -dependencies = [ - "cfg-if", - "crunchy", -] - [[package]] name = "hash32" version = "0.3.1" @@ -3265,13 +3188,8 @@ dependencies = [ "bytemuck", "byteorder", "color_quant", - "exr", - "gif", - "jpeg-decoder", "num-traits", "png", - "qoi", - "tiff", ] [[package]] @@ -3329,9 +3247,9 @@ dependencies = [ [[package]] name = "infer" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb33622da908807a06f9513c19b3c1ad50fab3e4137d82a78107d502075aa199" +checksum = "bc150e5ce2330295b8616ce0e3f53250e53af31759a9dbedad1621ba29151847" dependencies = [ "cfb", ] @@ -3344,7 +3262,7 @@ checksum = "0122b7114117e64a63ac49f752a5ca4624d534c7b1c7de796ac196381cd2d947" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -3508,7 +3426,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.63", "walkdir", ] @@ -3523,7 +3441,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.63", "walkdir", "windows-sys 0.45.0", ] @@ -3548,9 +3466,6 @@ name = "jpeg-decoder" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" -dependencies = [ - "rayon", -] [[package]] name = "js-sys" @@ -3563,13 +3478,24 @@ dependencies = [ [[package]] name = "json-patch" -version = "1.4.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec9ad60d674508f3ca8f380a928cfe7b096bc729c4e2dbfe3852bc45da3ab30b" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.63", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" dependencies = [ "serde", "serde_json", - "thiserror", ] [[package]] @@ -3605,12 +3531,6 @@ dependencies = [ "spin 0.9.8", ] -[[package]] -name = "lebe" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" - [[package]] name = "libappindicator" version = "0.9.0" @@ -3726,8 +3646,6 @@ dependencies = [ "cfg-if", "generator", "scoped-tls", - "serde", - "serde_json", "tracing", "tracing-subscriber", ] @@ -3895,21 +3813,22 @@ dependencies = [ [[package]] name = "muda" -version = "0.13.5" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b959f97c97044e4c96e32e1db292a7d594449546a3c6b77ae613dc3a5b5145" +checksum = "fdae9c00e61cc0579bcac625e8ad22104c60548a025bfc972dc83868a28e1484" dependencies = [ - "cocoa 0.25.0", "crossbeam-channel", "dpi", "gtk", "keyboard-types", - "objc", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", "png", "serde", - "thiserror", - "windows-sys 0.52.0", + "thiserror 1.0.63", + "windows-sys 0.59.0", ] [[package]] @@ -3952,16 +3871,17 @@ dependencies = [ [[package]] name = "ndk" -version = "0.7.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "jni-sys", + "log", "ndk-sys", "num_enum", - "raw-window-handle 0.5.2", - "thiserror", + "raw-window-handle", + "thiserror 1.0.63", ] [[package]] @@ -3972,9 +3892,9 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" [[package]] name = "ndk-sys" -version = "0.4.1+23.1.7779620" +version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ "jni-sys", ] @@ -4025,7 +3945,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -4061,7 +3981,7 @@ checksum = "433419f898328beca4f2c6c73a1b52540658d92b0a99f0269330457e0fd998d5" dependencies = [ "cc", "libc", - "thiserror", + "thiserror 1.0.63", "winapi", ] @@ -4248,23 +4168,23 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.11" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.87", ] [[package]] @@ -4283,7 +4203,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] @@ -4291,6 +4210,9 @@ name = "objc-sys" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" +dependencies = [ + "cc", +] [[package]] name = "objc2" @@ -4318,6 +4240,30 @@ dependencies = [ "objc2-quartz-core", ] +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + [[package]] name = "objc2-core-data" version = "0.2.2" @@ -4342,6 +4288,18 @@ dependencies = [ "objc2-metal", ] +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", +] + [[package]] name = "objc2-encode" version = "4.0.3" @@ -4361,6 +4319,18 @@ dependencies = [ "objc2", ] +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + [[package]] name = "objc2-metal" version = "0.2.2" @@ -4387,21 +4357,71 @@ dependencies = [ ] [[package]] -name = "objc_exception" -version = "0.1.2" +name = "objc2-symbols" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ - "cc", + "objc2", + "objc2-foundation", ] [[package]] -name = "objc_id" -version = "0.1.1" +name = "objc2-ui-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "objc", + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68bc69301064cebefc6c4c90ce9cba69225239e4b8ff99d445a2b5563797da65" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] @@ -4459,7 +4479,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -4548,7 +4568,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -4828,7 +4848,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -4875,7 +4895,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -4988,7 +5008,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -5113,7 +5133,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -5199,7 +5219,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -5225,7 +5245,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "version_check", "yansi", ] @@ -5257,7 +5277,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.74", + "syn 2.0.87", "tempfile", ] @@ -5271,7 +5291,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -5303,15 +5323,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "qoi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" -dependencies = [ - "bytemuck", -] - [[package]] name = "quick-xml" version = "0.32.0" @@ -5334,7 +5345,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -5352,7 +5363,7 @@ dependencies = [ "rustls", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.63", "tinyvec", "tracing", ] @@ -5475,12 +5486,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - [[package]] name = "raw-window-handle" version = "0.6.2" @@ -5542,7 +5547,7 @@ checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror", + "thiserror 1.0.63", ] [[package]] @@ -5816,7 +5821,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.74", + "syn 2.0.87", "unicode-ident", ] @@ -5840,7 +5845,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.74", + "syn 2.0.87", "walkdir", ] @@ -5882,7 +5887,7 @@ dependencies = [ "serde", "serde_json", "serde_yml", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6118,6 +6123,7 @@ dependencies = [ "serde", "serde_json", "url", + "uuid", ] [[package]] @@ -6129,7 +6135,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6160,7 +6166,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6184,7 +6190,7 @@ dependencies = [ "serde_json", "sqlx", "strum", - "thiserror", + "thiserror 1.0.63", "time", "tracing", "url", @@ -6218,7 +6224,7 @@ dependencies = [ "proc-macro2", "quote", "sea-bae", - "syn 2.0.74", + "syn 2.0.87", "unicode-ident", ] @@ -6282,8 +6288,8 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.74", - "thiserror", + "syn 2.0.87", + "thiserror 1.0.63", ] [[package]] @@ -6306,7 +6312,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6396,7 +6402,7 @@ checksum = "6aea2634c86b0e8ef2cfdc0c340baede54ec27b1e46febd7f80dffb2aa44a00e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6407,7 +6413,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6440,7 +6446,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6491,7 +6497,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6533,7 +6539,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6743,7 +6749,7 @@ dependencies = [ "objc2-app-kit", "objc2-foundation", "objc2-quartz-core", - "raw-window-handle 0.6.2", + "raw-window-handle", "redox_syscall", "wasm-bindgen", "web-sys", @@ -6861,7 +6867,7 @@ dependencies = [ "sha2", "smallvec", "sqlformat", - "thiserror", + "thiserror 1.0.63", "time", "tokio", "tokio-stream", @@ -6881,7 +6887,7 @@ dependencies = [ "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -6904,7 +6910,7 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.74", + "syn 2.0.87", "tempfile", "tokio", "url", @@ -6950,7 +6956,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror", + "thiserror 1.0.63", "time", "tracing", "uuid", @@ -6994,7 +7000,7 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror", + "thiserror 1.0.63", "time", "tracing", "uuid", @@ -7033,15 +7039,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "state" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8c4a4445d81357df8b1a650d0d0d6fbbbfe99d064aa5e02f3e4022061476d8" -dependencies = [ - "loom", -] - [[package]] name = "static_assertions" version = "1.1.0" @@ -7120,9 +7117,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "swift-rs" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bbdb58577b6301f8d17ae2561f32002a5bae056d444e0f69e611e504a276204" +checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" dependencies = [ "base64 0.21.7", "serde", @@ -7142,9 +7139,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.74" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -7160,7 +7157,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -7257,14 +7254,14 @@ dependencies = [ [[package]] name = "tao" -version = "0.28.1" +version = "0.30.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea538df05fbc2dcbbd740ba0cfe8607688535f4798d213cbbfa13ce494f3451f" +checksum = "833b4d43383d76d5078d72f3acd977f47eb5b6751eb40baa665d13828e7b79df" dependencies = [ "bitflags 2.6.0", - "cocoa 0.25.0", - "core-foundation 0.9.4", - "core-graphics 0.23.2", + "cocoa", + "core-foundation 0.10.0", + "core-graphics 0.24.0", "crossbeam-channel", "dispatch", "dlopen2", @@ -7283,13 +7280,13 @@ dependencies = [ "objc", "once_cell", "parking_lot", - "raw-window-handle 0.6.2", + "raw-window-handle", "scopeguard", "tao-macros", "unicode-segmentation", "url", - "windows 0.57.0", - "windows-core 0.57.0", + "windows 0.58.0", + "windows-core 0.58.0", "windows-version", "x11-dl", ] @@ -7319,13 +7316,12 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "2.0.0-rc.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ee93e545e49458813d4ed16179c67ee6141dba140ec3d4f078dda3b8d4e0d1" +checksum = "c24f1ab82d336e09f5f1094a4d9227c99ac26cce263bfdf8136897cc6db6f1d0" dependencies = [ "anyhow", "bytes", - "cocoa 0.25.0", "dirs 5.0.1", "dunce", "embed_plist", @@ -7335,28 +7331,30 @@ dependencies = [ "gtk", "heck 0.5.0", "http 1.1.0", - "image 0.24.9", + "image 0.25.2", "jni 0.21.1", "libc", "log", "mime", "muda", - "objc", + "objc2", + "objc2-app-kit", + "objc2-foundation", "percent-encoding", - "raw-window-handle 0.6.2", + "plist", + "raw-window-handle", "reqwest 0.12.5", "serde", "serde_json", "serde_repr", "serialize-to-javascript", - "state", "swift-rs", "tauri-build", "tauri-macros", "tauri-runtime", "tauri-runtime-wry", "tauri-utils", - "thiserror", + "thiserror 2.0.2", "tokio", "tray-icon", "url", @@ -7364,14 +7362,14 @@ dependencies = [ "webkit2gtk", "webview2-com", "window-vibrancy", - "windows 0.57.0", + "windows 0.58.0", ] [[package]] name = "tauri-build" -version = "2.0.0-rc.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a58b3a716b51d7f671f729bb8c0a53cd2551eec8450c64e828ef4e6c9f948e" +checksum = "7bd2a4bcfaf5fb9f4be72520eefcb61ae565038f8ccba2a497d8c28f463b8c01" dependencies = [ "anyhow", "cargo_toml", @@ -7391,9 +7389,9 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "2.0.0-rc.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90a9e63ecd827d57228864764e0234935c9aac230099cf145197c8c08e754ced" +checksum = "bf79faeecf301d3e969b1fae977039edb77a4c1f25cc0a961be298b54bff97cf" dependencies = [ "base64 0.22.1", "brotli", @@ -7407,9 +7405,9 @@ dependencies = [ "serde", "serde_json", "sha2", - "syn 2.0.74", + "syn 2.0.87", "tauri-utils", - "thiserror", + "thiserror 2.0.2", "time", "url", "uuid", @@ -7418,23 +7416,23 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "2.0.0-rc.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a54f5d5b289aa6215ffcfed7d4ff9960a04b7a854436d04519a9fcf911050cba" +checksum = "c52027c8c5afb83166dacddc092ee8fff50772f9646d461d8c33ee887e447a03" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "tauri-codegen", "tauri-utils", ] [[package]] name = "tauri-plugin" -version = "2.0.0-rc.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03ce2ac5e182251ff932750d69c9b240a78e44901a7a6234814d63c595b43660" +checksum = "e753f2a30933a9bbf0a202fa47d7cc4a3401f06e8d6dcc53b79aa62954828c79" dependencies = [ "anyhow", "glob", @@ -7449,9 +7447,9 @@ dependencies = [ [[package]] name = "tauri-plugin-autostart" -version = "2.0.0-rc.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25958a42daab7aaff4faff15cbaffd5505873a0654e6382c74fca1729a791898" +checksum = "bba6bb936e0fd0a58ed958b49e2e423dd40949c9d9425cc991be996959e3838e" dependencies = [ "auto-launch", "log", @@ -7459,32 +7457,31 @@ dependencies = [ "serde_json", "tauri", "tauri-plugin", - "thiserror", + "thiserror 1.0.63", ] [[package]] name = "tauri-plugin-clipboard-manager" -version = "2.0.0-rc.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a26868f7e05a09673e4172d23acb82cd48911cca092f0e8d06179a69e5024c" +checksum = "2a66feaa0fb7fce8e5073323d11ca381c9da7ac06f458e42b9ff77364b76a360" dependencies = [ "arboard", - "image 0.24.9", "log", "serde", "serde_json", "tauri", "tauri-plugin", - "thiserror", + "thiserror 1.0.63", ] [[package]] name = "tauri-plugin-os" -version = "2.0.0-rc.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b54cfeb26356822d3be3db4282041b03552f573a694b6b28aded7d95c62a039" +checksum = "fbc5f23a86f37687c7f4fecfdc706b279087bc44f7a46702f7307ff1551ee03a" dependencies = [ - "gethostname 0.4.3", + "gethostname 0.5.0", "log", "os_info", "serde", @@ -7493,14 +7490,14 @@ dependencies = [ "sys-locale", "tauri", "tauri-plugin", - "thiserror", + "thiserror 1.0.63", ] [[package]] name = "tauri-plugin-positioner" -version = "2.0.0-rc.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581c8e4d65faebaf584fd2d7d7c7602c27ae458d9362566ee29c4ed6fa6eae40" +checksum = "647253ed516eb1dc5a7eefbfadf594ea5ec9cd8b506ef8896ed64621f9f1d264" dependencies = [ "log", "serde", @@ -7508,14 +7505,14 @@ dependencies = [ "serde_repr", "tauri", "tauri-plugin", - "thiserror", + "thiserror 1.0.63", ] [[package]] name = "tauri-plugin-process" -version = "2.0.0-rc.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d3663df0cd3e96feb37d46aad5d499d2edfcca5c62548ad34f1684e0019168" +checksum = "ae06a00087c148962a52814a2d7265b1a0505bced5ffb74f8c284a5f96a4d03d" dependencies = [ "tauri", "tauri-plugin", @@ -7523,9 +7520,9 @@ dependencies = [ [[package]] name = "tauri-plugin-shell" -version = "2.0.0-rc.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9209f6c32caec61e156a5616f7d80ba7683ca4a0a5641cbe5d3086ab371aaab2" +checksum = "0ad7880c5586b6b2104be451e3d7fc0f3800c84bda69e9ba81c828f87cb34267" dependencies = [ "encoding_rs", "log", @@ -7538,7 +7535,7 @@ dependencies = [ "shared_child", "tauri", "tauri-plugin", - "thiserror", + "thiserror 1.0.63", "tokio", ] @@ -7552,7 +7549,7 @@ dependencies = [ "serde", "serde_json", "tauri", - "thiserror", + "thiserror 1.0.63", "windows-sys 0.52.0", "zbus", ] @@ -7564,41 +7561,43 @@ dependencies = [ "serde", "tauri", "tauri-plugin", - "thiserror", + "thiserror 1.0.63", ] [[package]] name = "tauri-runtime" -version = "2.0.0-rc.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f01b129b1ebdf09563c354760dbe7c0e96a166b4e33362d9c8d207f527c7ea5" +checksum = "cce18d43f80d4aba3aa8a0c953bbe835f3d0f2370aca75e8dbb14bd4bab27958" dependencies = [ "dpi", "gtk", "http 1.1.0", "jni 0.21.1", - "raw-window-handle 0.6.2", + "raw-window-handle", "serde", "serde_json", "tauri-utils", - "thiserror", + "thiserror 2.0.2", "url", - "windows 0.57.0", + "windows 0.58.0", ] [[package]] name = "tauri-runtime-wry" -version = "2.0.0-rc.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcda27639094ace2bf25f00bc10e35ea4e3af2f92753b1bdd2a174d1fa5a6292" +checksum = "9f442a38863e10129ffe2cec7bd09c2dcf8a098a3a27801a476a304d5bb991d2" dependencies = [ - "cocoa 0.25.0", "gtk", "http 1.1.0", "jni 0.21.1", "log", + "objc2", + "objc2-app-kit", + "objc2-foundation", "percent-encoding", - "raw-window-handle 0.6.2", + "raw-window-handle", "softbuffer", "tao", "tauri-runtime", @@ -7606,15 +7605,15 @@ dependencies = [ "url", "webkit2gtk", "webview2-com", - "windows 0.57.0", + "windows 0.58.0", "wry", ] [[package]] name = "tauri-utils" -version = "2.0.0-rc.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28bb83cffa26e9cb7a2b3d0c31ab87bf277f44aaaa90f17159aef4d37aabd051" +checksum = "9271a88f99b4adea0dc71d0baca4505475a0bbd139fb135f62958721aaa8fe54" dependencies = [ "brotli", "cargo_metadata", @@ -7622,6 +7621,7 @@ dependencies = [ "dunce", "glob", "html5ever", + "http 1.1.0", "infer", "json-patch", "kuchikiki", @@ -7638,10 +7638,11 @@ dependencies = [ "serde_json", "serde_with", "swift-rs", - "thiserror", + "thiserror 2.0.2", "toml 0.8.19", "url", "urlpattern", + "uuid", "walkdir", ] @@ -7701,7 +7702,16 @@ version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.63", +] + +[[package]] +name = "thiserror" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037e29b009aa709f293b974da5cd33b15783c049e07f8435778ce8c4871525d8" +dependencies = [ + "thiserror-impl 2.0.2", ] [[package]] @@ -7712,7 +7722,18 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea4778c7e8ff768bdb32a58a2349903859fe719a320300d7d4ce8636f19a1e69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", ] [[package]] @@ -7816,7 +7837,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -7848,7 +7869,7 @@ checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f" dependencies = [ "either", "futures-util", - "thiserror", + "thiserror 1.0.63", "tokio", ] @@ -7988,7 +8009,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -8099,7 +8120,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "thiserror", + "thiserror 1.0.63", "time", "tokio", "tracing", @@ -8126,7 +8147,7 @@ dependencies = [ "async-trait", "rmp-serde", "sqlx", - "thiserror", + "thiserror 1.0.63", "time", "tower-sessions-core", ] @@ -8150,7 +8171,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "thiserror", + "thiserror 1.0.63", "time", "tracing-subscriber", ] @@ -8163,7 +8184,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -8237,22 +8258,23 @@ dependencies = [ [[package]] name = "tray-icon" -version = "0.14.3" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad8319cca93189ea9ab1b290de0595960529750b6b8b501a399ed1ec3775d60" +checksum = "7c92af36a182b46206723bdf8a7942e20838cde1cf062e5b97854d57eb01763b" dependencies = [ - "cocoa 0.25.0", - "core-graphics 0.23.2", + "core-graphics 0.24.0", "crossbeam-channel", "dirs 5.0.1", "libappindicator", "muda", - "objc", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", "png", "serde", - "thiserror", - "windows-sys 0.52.0", + "thiserror 1.0.63", + "windows-sys 0.59.0", ] [[package]] @@ -8292,7 +8314,7 @@ dependencies = [ "libloading 0.8.5", "log", "nix 0.29.0", - "thiserror", + "thiserror 1.0.63", "tokio", "tokio-util", "windows-sys 0.59.0", @@ -8459,11 +8481,10 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "urlpattern" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9bd5ff03aea02fa45b13a7980151fe45009af1980ba69f651ec367121a31609" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" dependencies = [ - "derive_more", "regex", "serde", "unic-ucd-ident", @@ -8502,7 +8523,7 @@ checksum = "ee1cd046f83ea2c4e920d6ee9f7c3537ef928d75dce5d84a87c2c5d6b3999a3a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -8614,7 +8635,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "wasm-bindgen-shared", ] @@ -8648,7 +8669,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -8737,38 +8758,38 @@ dependencies = [ [[package]] name = "webview2-com" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6516cfa64c6b3212686080eeec378e662c2af54bb2a5b2a22749673f5cb2226f" +checksum = "6f61ff3d9d0ee4efcb461b14eb3acfda2702d10dc329f339303fc3e57215ae2c" dependencies = [ "webview2-com-macros", "webview2-com-sys", - "windows 0.57.0", - "windows-core 0.57.0", + "windows 0.58.0", + "windows-core 0.58.0", "windows-implement", "windows-interface", ] [[package]] name = "webview2-com-macros" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1345798ecd8122468840bcdf1b95e5dc6d2206c5e4b0eafa078d061f59c9bc" +checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] name = "webview2-com-sys" -version = "0.31.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c76d5b77320ff155660be1df3e6588bc85c75f1a9feef938cc4dc4dd60d1d7cf" +checksum = "a3a3e2eeb58f82361c93f9777014668eb3d07e7d174ee4c819575a9208011886" dependencies = [ - "thiserror", - "windows 0.57.0", - "windows-core 0.57.0", + "thiserror 1.0.63", + "windows 0.58.0", + "windows-core 0.58.0", ] [[package]] @@ -8858,9 +8879,9 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8cdd6999298d969289d8078dae02ce798ad23452075985cccba8b6326711ecf" dependencies = [ - "cocoa 0.26.0", + "cocoa", "objc", - "raw-window-handle 0.6.2", + "raw-window-handle", "windows-sys 0.59.0", "windows-version", ] @@ -8876,11 +8897,11 @@ dependencies = [ [[package]] name = "windows" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core 0.57.0", + "windows-core 0.58.0", "windows-targets 0.52.6", ] @@ -8895,43 +8916,44 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ "windows-implement", "windows-interface", "windows-result", + "windows-strings", "windows-targets 0.52.6", ] [[package]] name = "windows-implement" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] name = "windows-interface" -version = "0.57.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] name = "windows-result" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" dependencies = [ "windows-targets 0.52.6", ] @@ -8947,6 +8969,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -9226,20 +9258,19 @@ dependencies = [ "c2rust-bitfields", "libloading 0.8.5", "log", - "thiserror", + "thiserror 1.0.63", "windows-sys 0.52.0", ] [[package]] name = "wry" -version = "0.41.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b00c945786b02d7805d09a969fa36d0eee4e0bd4fb3ec2a79d2bf45a1b44cd" +checksum = "553ca1ce149982123962fac2506aa75b8b76288779a77e72b12fa2fc34938647" dependencies = [ "base64 0.22.1", - "block", - "cocoa 0.25.0", - "core-graphics 0.23.2", + "block2", + "cookie", "crossbeam-channel", "dpi", "dunce", @@ -9252,22 +9283,24 @@ dependencies = [ "kuchikiki", "libc", "ndk", - "ndk-context", - "ndk-sys", - "objc", - "objc_id", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", "once_cell", "percent-encoding", - "raw-window-handle 0.6.2", + "raw-window-handle", "sha2", "soup3", "tao-macros", - "thiserror", + "thiserror 1.0.63", + "url", "webkit2gtk", "webkit2gtk-sys", "webview2-com", - "windows 0.57.0", - "windows-core 0.57.0", + "windows 0.58.0", + "windows-core 0.58.0", "windows-version", "x11-dl", ] @@ -9409,7 +9442,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "zvariant_utils", ] @@ -9442,7 +9475,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -9462,7 +9495,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] [[package]] @@ -9514,15 +9547,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "zune-inflate" -version = "0.2.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" -dependencies = [ - "simd-adler32", -] - [[package]] name = "zvariant" version = "4.2.0" @@ -9545,7 +9569,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", "zvariant_utils", ] @@ -9557,5 +9581,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.74", + "syn 2.0.87", ] diff --git a/easytier-gui/.npmrc b/easytier-gui/.npmrc deleted file mode 100644 index cf04042..0000000 --- a/easytier-gui/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -shamefully-hoist=true -strict-peer-dependencies=false diff --git a/easytier-gui/package.json b/easytier-gui/package.json index cde62d7..212fd6d 100644 --- a/easytier-gui/package.json +++ b/easytier-gui/package.json @@ -13,34 +13,32 @@ "lint:fix": "eslint . --ignore-pattern src-tauri --fix" }, "dependencies": { - "@primevue/themes": "^4.1.0", - "@tauri-apps/plugin-autostart": "2.0.0-rc.1", - "@tauri-apps/plugin-clipboard-manager": "2.0.0-rc.1", - "@tauri-apps/plugin-os": "2.0.0-rc.1", - "@tauri-apps/plugin-process": "2.0.0-rc.1", - "@tauri-apps/plugin-shell": "2.0.0-rc.1", - "@vueuse/core": "^11.1.0", + "@primevue/themes": "^4.2.1", + "@tauri-apps/plugin-autostart": "2.0.0", + "@tauri-apps/plugin-clipboard-manager": "2.0.0", + "@tauri-apps/plugin-os": "2.0.0", + "@tauri-apps/plugin-process": "2.0.0", + "@tauri-apps/plugin-shell": "2.0.1", + "@vueuse/core": "^11.2.0", "aura": "link:@primevue\\themes\\aura", + "easytier-frontend-lib": "workspace:*", "ip-num": "1.5.1", "pinia": "^2.2.4", - "primeflex": "^3.3.1", - "primeicons": "^7.0.0", - "primevue": "^4.1.0", - "tauri-plugin-vpnservice-api": "link:..\\tauri-plugin-vpnservice", - "vue": "=3.4.38", - "vue-i18n": "^10.0.4", + "primevue": "^4.2.1", + "tauri-plugin-vpnservice-api": "workspace:*", + "vue": "^3.5.12", "vue-router": "^4.4.5" }, "devDependencies": { "@antfu/eslint-config": "^3.7.3", "@intlify/unplugin-vue-i18n": "^5.2.0", "@primevue/auto-import-resolver": "^4.1.0", - "@tauri-apps/api": "2.0.0-rc.0", - "@tauri-apps/cli": "2.0.0-rc.3", + "@tauri-apps/api": "2.1.0", + "@tauri-apps/cli": "2.1.0", "@types/node": "^22.7.4", "@types/uuid": "^10.0.0", "@vitejs/plugin-vue": "^5.1.4", - "@vue-macros/volar": "0.30.3", + "@vue-macros/volar": "0.30.5", "autoprefixer": "^10.4.20", "eslint": "^9.12.0", "eslint-plugin-format": "^0.1.2", @@ -50,7 +48,7 @@ "typescript": "^5.6.2", "unplugin-auto-import": "^0.18.3", "unplugin-vue-components": "^0.27.4", - "unplugin-vue-macros": "^2.12.3", + "unplugin-vue-macros": "^2.13.3", "unplugin-vue-markdown": "^0.26.2", "unplugin-vue-router": "^0.10.8", "uuid": "^10.0.0", @@ -58,6 +56,6 @@ "vite-plugin-vue-devtools": "^7.4.6", "vite-plugin-vue-layouts": "^0.11.0", "vue-i18n": "^10.0.0", - "vue-tsc": "^2.1.6" + "vue-tsc": "^2.1.10" } } diff --git a/easytier-gui/src-tauri/Cargo.toml b/easytier-gui/src-tauri/Cargo.toml index fcde608..11e84d6 100644 --- a/easytier-gui/src-tauri/Cargo.toml +++ b/easytier-gui/src-tauri/Cargo.toml @@ -15,10 +15,11 @@ crate-type = ["staticlib", "cdylib", "rlib"] tauri-build = { version = "2.0.0-rc", features = [] } [dependencies] -tauri = { version = "2.0.0-rc", features = [ +tauri = { version = "2.1", features = [ "tray-icon", "image-png", "image-ico", + "devtools", ] } serde = { version = "1", features = ["derive"] } @@ -37,13 +38,13 @@ gethostname = "0.5" dunce = "1.0.4" -tauri-plugin-shell = "2.0.0-rc" -tauri-plugin-process = "2.0.0-rc" -tauri-plugin-clipboard-manager = "2.0.0-rc" -tauri-plugin-positioner = { version = "2.0.0-rc", features = ["tray-icon"] } +tauri-plugin-shell = "2.0" +tauri-plugin-process = "2.0" +tauri-plugin-clipboard-manager = "2.0" +tauri-plugin-positioner = { version = "2.0", features = ["tray-icon"] } tauri-plugin-vpnservice = { path = "../../tauri-plugin-vpnservice" } -tauri-plugin-os = "2.0.0-rc" -tauri-plugin-autostart = "2.0.0-rc" +tauri-plugin-os = "2.0" +tauri-plugin-autostart = "2.0" [features] diff --git a/easytier-gui/src-tauri/src/lib.rs b/easytier-gui/src-tauri/src/lib.rs index 127438d..cbf9589 100644 --- a/easytier-gui/src-tauri/src/lib.rs +++ b/easytier-gui/src-tauri/src/lib.rs @@ -3,17 +3,12 @@ use std::collections::BTreeMap; -use anyhow::Context; use dashmap::DashMap; use easytier::{ - common::config::{ - ConfigLoader, FileLoggerConfig, Flags, NetworkIdentity, PeerConfig, TomlConfigLoader, - VpnPortalConfig, - }, + common::config::{ConfigLoader, FileLoggerConfig, TomlConfigLoader}, launcher::{NetworkConfig, NetworkInstance, NetworkInstanceRunningInfo}, utils::{self, NewFilterSender}, }; -use serde::{Deserialize, Serialize}; use tauri::Manager as _; diff --git a/easytier-gui/src/auto-imports.d.ts b/easytier-gui/src/auto-imports.d.ts index 0f1d863..c4a6782 100644 --- a/easytier-gui/src/auto-imports.d.ts +++ b/easytier-gui/src/auto-imports.d.ts @@ -154,8 +154,6 @@ declare module 'vue' { readonly mapWritableState: UnwrapRef readonly markRaw: UnwrapRef readonly nextTick: UnwrapRef - readonly num2ipv4: UnwrapRef - readonly num2ipv6: UnwrapRef readonly onActivated: UnwrapRef readonly onBeforeMount: UnwrapRef readonly onBeforeRouteLeave: UnwrapRef diff --git a/easytier-gui/src/components/Config.vue b/easytier-gui/src/components/Config.vue deleted file mode 100644 index e89cb32..0000000 --- a/easytier-gui/src/components/Config.vue +++ /dev/null @@ -1,296 +0,0 @@ - - - diff --git a/easytier-gui/src/components/Status.vue b/easytier-gui/src/components/Status.vue deleted file mode 100644 index b25d41b..0000000 --- a/easytier-gui/src/components/Status.vue +++ /dev/null @@ -1,459 +0,0 @@ - - - - - diff --git a/easytier-gui/src/composables/mobile_vpn.ts b/easytier-gui/src/composables/mobile_vpn.ts index c504d78..70a09a5 100644 --- a/easytier-gui/src/composables/mobile_vpn.ts +++ b/easytier-gui/src/composables/mobile_vpn.ts @@ -1,6 +1,8 @@ import { addPluginListener } from '@tauri-apps/api/core' import { prepare_vpn, start_vpn, stop_vpn } from 'tauri-plugin-vpnservice-api' -import type { Route } from '~/types/network' +import { NetworkTypes, Utils } from 'easytier-frontend-lib' + +type Route = NetworkTypes.Route const networkStore = useNetworkStore() @@ -122,12 +124,17 @@ async function onNetworkInstanceChange() { return } - const virtual_ip = curNetworkInfo?.node_info?.virtual_ipv4 + const virtual_ip = Utils.ipv4ToString(curNetworkInfo?.my_node_info?.virtual_ipv4.address) if (!virtual_ip || !virtual_ip.length) { await doStopVpn() return } + let network_length = curNetworkInfo?.my_node_info?.virtual_ipv4.network_length + if (!network_length) { + network_length = 24 + } + const routes = getRoutesForVpn(curNetworkInfo?.routes) const ipChanged = virtual_ip !== curVpnStatus.ipv4Addr diff --git a/easytier-gui/src/composables/network.ts b/easytier-gui/src/composables/network.ts index 3667120..ade1b1a 100644 --- a/easytier-gui/src/composables/network.ts +++ b/easytier-gui/src/composables/network.ts @@ -1,6 +1,8 @@ import { invoke } from '@tauri-apps/api/core' +import { NetworkTypes } from 'easytier-frontend-lib' -import type { NetworkConfig, NetworkInstanceRunningInfo } from '~/types/network' +type NetworkConfig = NetworkTypes.NetworkConfig +type NetworkInstanceRunningInfo = NetworkTypes.NetworkInstanceRunningInfo export async function parseNetworkConfig(cfg: NetworkConfig) { return invoke('parse_network_config', { cfg }) diff --git a/easytier-gui/src/composables/utils.ts b/easytier-gui/src/composables/utils.ts deleted file mode 100644 index 52fc57a..0000000 --- a/easytier-gui/src/composables/utils.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { IPv4, IPv6 } from 'ip-num/IPNumber' -import type { Ipv4Addr, Ipv6Addr } from '~/types/network' - -export function num2ipv4(ip: Ipv4Addr) { - return IPv4.fromNumber(ip.addr) -} - -export function num2ipv6(ip: Ipv6Addr) { - return IPv6.fromBigInt( - (BigInt(ip.part1) << BigInt(96)) - + (BigInt(ip.part2) << BigInt(64)) - + (BigInt(ip.part3) << BigInt(32)) - + BigInt(ip.part4), - ) -} diff --git a/easytier-gui/src/main.ts b/easytier-gui/src/main.ts index 2a9aeff..8593aa9 100644 --- a/easytier-gui/src/main.ts +++ b/easytier-gui/src/main.ts @@ -5,12 +5,11 @@ import ToastService from 'primevue/toastservice' import { createRouter, createWebHistory } from 'vue-router/auto' import { routes } from 'vue-router/auto-routes' import App from '~/App.vue' -import { i18n, loadLanguageAsync } from '~/modules/i18n' +import EasyTierFrontendLib, { I18nUtils } from 'easytier-frontend-lib' import { getAutoLaunchStatusAsync, loadAutoLaunchStatusAsync } from './modules/auto_launch' import '~/styles.css' -import 'primeicons/primeicons.css' -import 'primeflex/primeflex.css' +import 'easytier-frontend-lib/style.css' if (import.meta.env.PROD) { document.addEventListener('keydown', (event) => { @@ -29,7 +28,7 @@ if (import.meta.env.PROD) { } async function main() { - await loadLanguageAsync(localStorage.getItem('lang') || 'en') + await I18nUtils.loadLanguageAsync(localStorage.getItem('lang') || 'en') await loadAutoLaunchStatusAsync(getAutoLaunchStatusAsync()) const app = createApp(App) @@ -41,14 +40,18 @@ async function main() { app.use(router) app.use(createPinia()) - app.use(i18n, { useScope: 'global' }) + app.use(EasyTierFrontendLib) + // app.use(i18n, { useScope: 'global' }) app.use(PrimeVue, { theme: { preset: Aura, options: { prefix: 'p', darkModeSelector: 'system', - cssLayer: false, + cssLayer: { + name: 'primevue', + order: 'tailwind-base, primevue, tailwind-utilities' + } }, }, }) diff --git a/easytier-gui/src/modules/i18n.ts b/easytier-gui/src/modules/i18n.ts deleted file mode 100644 index b925aca..0000000 --- a/easytier-gui/src/modules/i18n.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { createI18n } from 'vue-i18n' -import type { Locale } from 'vue-i18n' - -// Import i18n resources -// https://vitejs.dev/guide/features.html#glob-import -export const i18n = createI18n({ - legacy: false, - locale: '', - fallbackLocale: '', - messages: {}, -}) - -const localesMap = Object.fromEntries( - Object.entries(import.meta.glob('../../locales/*.yml')) - .map(([path, loadLocale]) => [path.match(/([\w-]*)\.yml$/)?.[1], loadLocale]), -) as Record Promise<{ default: Record }>> - -export const availableLocales = Object.keys(localesMap) - -const loadedLanguages: string[] = [] - -function setI18nLanguage(lang: Locale) { - i18n.global.locale.value = lang as any - localStorage.setItem('lang', lang) - return lang -} - -export async function loadLanguageAsync(lang: string): Promise { - // If the same language - if (i18n.global.locale.value === lang) - return setI18nLanguage(lang) - - // If the language was already loaded - if (loadedLanguages.includes(lang)) - return setI18nLanguage(lang) - - // If the language hasn't been loaded yet - let messages - - try { - messages = await localesMap[lang]() - } - catch { - messages = await localesMap.en() - } - - i18n.global.setLocaleMessage(lang, messages.default) - loadedLanguages.push(lang) - return setI18nLanguage(lang) -} diff --git a/easytier-gui/src/pages/index.vue b/easytier-gui/src/pages/index.vue index 7676d33..d43b5e7 100644 --- a/easytier-gui/src/pages/index.vue +++ b/easytier-gui/src/pages/index.vue @@ -8,14 +8,11 @@ import { exit } from '@tauri-apps/plugin-process' import { open } from '@tauri-apps/plugin-shell' import TieredMenu from 'primevue/tieredmenu' import { useToast } from 'primevue/usetoast' -import Config from '~/components/Config.vue' +import { NetworkTypes, Config, Status, Utils, I18nUtils } from 'easytier-frontend-lib' -import Status from '~/components/Status.vue' import { isAutostart, setLoggingLevel } from '~/composables/network' import { useTray } from '~/composables/tray' import { getAutoLaunchStatusAsync as getAutoLaunchStatus, loadAutoLaunchStatusAsync } from '~/modules/auto_launch' -import { loadLanguageAsync } from '~/modules/i18n' -import { type NetworkConfig, NetworkingMethod } from '~/types/network' const { t, locale } = useI18n() const visible = ref(false) @@ -65,6 +62,27 @@ const toast = useToast() const networkStore = useNetworkStore() +const curNetworkConfig = computed(() => { + if (networkStore.curNetworkId) { + // console.log('instanceId', props.instanceId) + const c = networkStore.networkList.find(n => n.instance_id === networkStore.curNetworkId) + if (c !== undefined) + return c + } + + return networkStore.curNetwork +}) + +const curNetworkInst = computed(() => { + let ret = networkStore.networkInstances.find(n => n.instance_id === curNetworkConfig.value.instance_id) + console.log('curNetworkInst', ret) + if (ret === undefined) { + return null; + } else { + return ret; + } +}) + function addNewNetwork() { networkStore.addNewNetwork() networkStore.curNetwork = networkStore.lastNetwork @@ -82,7 +100,7 @@ networkStore.$subscribe(async () => { } }) -async function runNetworkCb(cfg: NetworkConfig, cb: () => void) { +async function runNetworkCb(cfg: NetworkTypes.NetworkConfig, cb: () => void) { if (type() === 'android') { await prepareVpnService() networkStore.clearNetworkInstances() @@ -106,7 +124,7 @@ async function runNetworkCb(cfg: NetworkConfig, cb: () => void) { cb() } -async function stopNetworkCb(cfg: NetworkConfig, cb: () => void) { +async function stopNetworkCb(cfg: NetworkTypes.NetworkConfig, cb: () => void) { // console.log('stopNetworkCb', cfg, cb) cb() networkStore.removeNetworkInstance(cfg.instance_id) @@ -145,7 +163,7 @@ const setting_menu_items = ref([ label: () => t('exchange_language'), icon: 'pi pi-language', command: async () => { - await loadLanguageAsync((locale.value === 'en' ? 'cn' : 'en')) + await I18nUtils.loadLanguageAsync((locale.value === 'en' ? 'cn' : 'en')) await setTrayMenu([ await MenuItemExit(t('tray.exit')), await MenuItemShow(t('tray.show')), @@ -221,7 +239,7 @@ onBeforeMount(async () => { getCurrentWindow().hide() const autoStartIds = networkStore.autoStartInstIds for (const id of autoStartIds) { - const cfg = networkStore.networkList.find(item => item.instance_id === id) + const cfg = networkStore.networkList.find((item: NetworkTypes.NetworkConfig) => item.instance_id === id) if (cfg) { networkStore.addNetworkInstance(cfg.instance_id) await runNetworkInstance(cfg) @@ -245,7 +263,7 @@ function isRunning(id: string) { - - - + \ No newline at end of file diff --git a/easytier-web/frontend/src/components/MainPage.vue b/easytier-web/frontend/src/components/MainPage.vue new file mode 100644 index 0000000..4163567 --- /dev/null +++ b/easytier-web/frontend/src/components/MainPage.vue @@ -0,0 +1,173 @@ + + + + + + diff --git a/easytier-web/frontend/src/main.ts b/easytier-web/frontend/src/main.ts index ecbdaed..1512c48 100644 --- a/easytier-web/frontend/src/main.ts +++ b/easytier-web/frontend/src/main.ts @@ -7,6 +7,72 @@ import PrimeVue from 'primevue/config' import Aura from '@primevue/themes/aura' import ConfirmationService from 'primevue/confirmationservice'; +import { createRouter, createWebHashHistory } from 'vue-router' +import MainPage from './components/MainPage.vue' +import Login from './components/Login.vue' +import DeviceList from './components/DeviceList.vue' +import DeviceManagement from './components/DeviceManagement.vue' +import Dashboard from './components/Dashboard.vue' +import DialogService from 'primevue/dialogservice'; +import ToastService from 'primevue/toastservice'; + +const routes = [ + { + path: '/auth', children: [ + { + name: 'login', + path: '', + component: Login, + alias: 'login', + props: { isRegistering: false } + }, + { + name: 'register', + path: 'register', + component: Login, + props: { isRegistering: true } + } + ] + }, + { + path: '/h/:apiHost', component: MainPage, children: [ + { + path: '', + alias: 'dashboard', + name: 'dashboard', + component: Dashboard, + }, + { + path: 'deviceList', + name: 'deviceList', + component: DeviceList, + children: [ + { + path: 'device/:deviceId/:instanceId?', + name: 'deviceManagement', + component: DeviceManagement, + } + ] + }, + ] + }, + { + path: '/:pathMatch(.*)*', name: 'notFound', redirect: () => { + let apiHost = localStorage.getItem('apiHost'); + if (apiHost) { + return { name: 'dashboard', params: { apiHost: apiHost } } + } else { + return { name: 'login' } + } + } + }, +] + +const router = createRouter({ + history: createWebHashHistory(), + routes, +}) + createApp(App).use(PrimeVue, { theme: { @@ -21,4 +87,4 @@ createApp(App).use(PrimeVue, } } } -).use(ConfirmationService as any).use(EasytierFrontendLib).mount('#app') +).use(ToastService as any).use(DialogService as any).use(router).use(ConfirmationService as any).use(EasytierFrontendLib).mount('#app') diff --git a/easytier-web/frontend/tsconfig.app.json b/easytier-web/frontend/tsconfig.app.json index cb88a5a..761f1e4 100644 --- a/easytier-web/frontend/tsconfig.app.json +++ b/easytier-web/frontend/tsconfig.app.json @@ -22,5 +22,5 @@ "noFallthroughCasesInSwitch": true, "noUncheckedSideEffectImports": true }, - "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "../frontend-lib/src/modules/api.ts"] } diff --git a/easytier-web/src/client_manager/session.rs b/easytier-web/src/client_manager/session.rs index 2294947..5ad2a18 100644 --- a/easytier-web/src/client_manager/session.rs +++ b/easytier-web/src/client_manager/session.rs @@ -6,8 +6,9 @@ use easytier::{ rpc_impl::bidirect::BidirectRpcManager, rpc_types::{self, controller::BaseController}, web::{ - HeartbeatRequest, HeartbeatResponse, RunNetworkInstanceRequest, WebClientService, - WebClientServiceClientFactory, WebServerService, WebServerServiceServer, + HeartbeatRequest, HeartbeatResponse, NetworkConfig, RunNetworkInstanceRequest, + WebClientService, WebClientServiceClientFactory, WebServerService, + WebServerServiceServer, }, }, tunnel::Tunnel, @@ -160,7 +161,13 @@ impl Session { ); return; } + let req = req.unwrap(); + if req.machine_id.is_none() { + tracing::warn!(?req, "Machine id is not set, ignore"); + continue; + } + let running_inst_ids = req .running_network_instances .iter() @@ -187,7 +194,11 @@ impl Session { } }; - let local_configs = match storage.db.list_network_configs(user_id, true).await { + let local_configs = match storage + .db + .list_network_configs(user_id, Some(req.machine_id.unwrap().into()), true) + .await + { Ok(configs) => configs, Err(e) => { tracing::error!("Failed to list network configs, error: {:?}", e); @@ -206,7 +217,9 @@ impl Session { BaseController::default(), RunNetworkInstanceRequest { inst_id: Some(c.network_instance_id.clone().into()), - config: c.network_config, + config: Some( + serde_json::from_str::(&c.network_config).unwrap(), + ), }, ) .await; diff --git a/easytier-web/src/client_manager/storage.rs b/easytier-web/src/client_manager/storage.rs index 772fed0..5c974f3 100644 --- a/easytier-web/src/client_manager/storage.rs +++ b/easytier-web/src/client_manager/storage.rs @@ -16,7 +16,7 @@ pub struct StorageToken { pub struct StorageInner { // some map for indexing pub token_clients_map: DashMap>, - pub machine_client_url_map: DashMap, + pub machine_client_url_map: DashMap>, pub db: Db, } @@ -51,7 +51,9 @@ impl Storage { self.0 .machine_client_url_map - .insert(stoken.machine_id, stoken.client_url.clone()); + .entry(stoken.machine_id) + .or_insert_with(DashSet::new) + .insert(stoken.client_url.clone()); } pub fn remove_client(&self, stoken: &StorageToken) { @@ -60,7 +62,12 @@ impl Storage { set.is_empty() }); - self.0.machine_client_url_map.remove(&stoken.machine_id); + self.0 + .machine_client_url_map + .remove_if(&stoken.machine_id, |_, set| { + set.remove(&stoken.client_url); + set.is_empty() + }); } pub fn weak_ref(&self) -> WeakRefStorage { @@ -71,7 +78,8 @@ impl Storage { self.0 .machine_client_url_map .get(&machine_id) - .map(|url| url.clone()) + .map(|url| url.iter().next().map(|url| url.clone())) + .flatten() } pub fn list_token_clients(&self, token: &str) -> Vec { diff --git a/easytier-web/src/db/entity/user_running_network_configs.rs b/easytier-web/src/db/entity/user_running_network_configs.rs index 0580e59..8a98d56 100644 --- a/easytier-web/src/db/entity/user_running_network_configs.rs +++ b/easytier-web/src/db/entity/user_running_network_configs.rs @@ -9,6 +9,8 @@ pub struct Model { #[sea_orm(primary_key)] pub id: i32, pub user_id: i32, + #[sea_orm(column_type = "Text")] + pub device_id: String, #[sea_orm(column_type = "Text", unique)] pub network_instance_id: String, #[sea_orm(column_type = "Text")] diff --git a/easytier-web/src/db/mod.rs b/easytier-web/src/db/mod.rs index 6db3dab..d2704ef 100644 --- a/easytier-web/src/db/mod.rs +++ b/easytier-web/src/db/mod.rs @@ -65,6 +65,7 @@ impl Db { pub async fn insert_or_update_user_network_config( &self, user_id: UserIdInDb, + device_id: uuid::Uuid, network_inst_id: uuid::Uuid, network_config: T, ) -> Result<(), DbErr> { @@ -81,6 +82,7 @@ impl Db { .to_owned(); let insert_m = urnc::ActiveModel { user_id: sea_orm::Set(user_id), + device_id: sea_orm::Set(device_id.to_string()), network_instance_id: sea_orm::Set(network_inst_id.to_string()), network_config: sea_orm::Set(network_config.to_string()), disabled: sea_orm::Set(false), @@ -116,6 +118,7 @@ impl Db { pub async fn list_network_configs( &self, user_id: UserIdInDb, + device_id: Option, only_enabled: bool, ) -> Result, DbErr> { use entity::user_running_network_configs as urnc; @@ -126,6 +129,11 @@ impl Db { } else { configs }; + let configs = if let Some(device_id) = device_id { + configs.filter(urnc::Column::DeviceId.eq(device_id.to_string())) + } else { + configs + }; let configs = configs.all(self.orm_db()).await?; @@ -167,8 +175,9 @@ mod tests { let user_id = 1; let network_config = "test_config"; let inst_id = uuid::Uuid::new_v4(); + let device_id = uuid::Uuid::new_v4(); - db.insert_or_update_user_network_config(user_id, inst_id, network_config) + db.insert_or_update_user_network_config(user_id, device_id, inst_id, network_config) .await .unwrap(); @@ -183,7 +192,7 @@ mod tests { // overwrite the config let network_config = "test_config2"; - db.insert_or_update_user_network_config(user_id, inst_id, network_config) + db.insert_or_update_user_network_config(user_id, device_id, inst_id, network_config) .await .unwrap(); @@ -193,14 +202,17 @@ mod tests { .await .unwrap() .unwrap(); - println!("{:?}", result2); + println!("device: {}, {:?}", device_id, result2); assert_eq!(result2.network_config, network_config); assert_eq!(result.create_time, result2.create_time); assert_ne!(result.update_time, result2.update_time); assert_eq!( - db.list_network_configs(user_id, true).await.unwrap().len(), + db.list_network_configs(user_id, Some(device_id), true) + .await + .unwrap() + .len(), 1 ); diff --git a/easytier-web/src/migrator/m20241029_000001_init.rs b/easytier-web/src/migrator/m20241029_000001_init.rs index dc9b871..37d6e56 100644 --- a/easytier-web/src/migrator/m20241029_000001_init.rs +++ b/easytier-web/src/migrator/m20241029_000001_init.rs @@ -4,94 +4,6 @@ use sea_orm_migration::{prelude::*, schema::*}; pub struct Migration; -/* --- # Entity schema. - --- Create `users` table. -create table if not exists users ( - id integer primary key autoincrement, - username text not null unique, - password text not null -); - --- Create `groups` table. -create table if not exists groups ( - id integer primary key autoincrement, - name text not null unique -); - --- Create `permissions` table. -create table if not exists permissions ( - id integer primary key autoincrement, - name text not null unique -); - - --- # Join tables. - --- Create `users_groups` table for many-to-many relationships between users and groups. -create table if not exists users_groups ( - user_id integer references users(id), - group_id integer references groups(id), - primary key (user_id, group_id) -); - --- Create `groups_permissions` table for many-to-many relationships between groups and permissions. -create table if not exists groups_permissions ( - group_id integer references groups(id), - permission_id integer references permissions(id), - primary key (group_id, permission_id) -); - - --- # Fixture hydration. - --- Insert "user" user. password: "user" -insert into users (username, password) -values ( - 'user', - '$argon2i$v=19$m=16,t=2,p=1$dHJ5dXZkYmZkYXM$UkrNqWz0BbSVBq4ykLSuJw' -); - --- Insert "admin" user. password: "admin" -insert into users (username, password) -values ( - 'admin', - '$argon2i$v=19$m=16,t=2,p=1$Ymd1Y2FlcnQ$x0q4oZinW9S1ZB9BcaHEpQ' -); - --- Insert "users" and "superusers" groups. -insert into groups (name) values ('users'); -insert into groups (name) values ('superusers'); - --- Insert individual permissions. -insert into permissions (name) values ('sessions'); -insert into permissions (name) values ('devices'); - --- Insert group permissions. -insert into groups_permissions (group_id, permission_id) -values ( - (select id from groups where name = 'users'), - (select id from permissions where name = 'devices') -), ( - (select id from groups where name = 'superusers'), - (select id from permissions where name = 'sessions') -); - --- Insert users into groups. -insert into users_groups (user_id, group_id) -values ( - (select id from users where username = 'user'), - (select id from groups where name = 'users') -), ( - (select id from users where username = 'admin'), - (select id from groups where name = 'users') -), ( - (select id from users where username = 'admin'), - (select id from groups where name = 'superusers') -); - */ - impl MigrationName for Migration { fn name(&self) -> &str { "m20241029_000001_init" @@ -141,6 +53,7 @@ enum UserRunningNetworkConfigs { Table, Id, UserId, + DeviceId, NetworkInstanceId, NetworkConfig, Disabled, @@ -273,6 +186,7 @@ impl MigrationTrait for Migration { .table(UserRunningNetworkConfigs::Table) .col(pk_auto(UserRunningNetworkConfigs::Id).not_null()) .col(integer(UserRunningNetworkConfigs::UserId).not_null()) + .col(text(UserRunningNetworkConfigs::DeviceId).not_null()) .col( text(UserRunningNetworkConfigs::NetworkInstanceId) .unique_key() diff --git a/easytier-web/src/restful/auth.rs b/easytier-web/src/restful/auth.rs index 23068b7..8bb3aad 100644 --- a/easytier-web/src/restful/auth.rs +++ b/easytier-web/src/restful/auth.rs @@ -22,6 +22,10 @@ pub struct LoginResult { pub fn router() -> Router { let r = Router::new() .route("/api/v1/auth/password", put(self::put::change_password)) + .route( + "/api/v1/auth/check_login_status", + get(self::get::check_login_status), + ) .route_layer(login_required!(Backend)); Router::new() .merge(r) @@ -168,4 +172,17 @@ mod get { )), } } + + pub async fn check_login_status( + auth_session: AuthSession, + ) -> Result, HttpHandleError> { + if auth_session.user.is_some() { + Ok(Json(Void::default())) + } else { + Err(( + StatusCode::UNAUTHORIZED, + Json::from(other_error("Not logged in")), + )) + } + } } diff --git a/easytier-web/src/restful/mod.rs b/easytier-web/src/restful/mod.rs index 3c3f24d..bb6387a 100644 --- a/easytier-web/src/restful/mod.rs +++ b/easytier-web/src/restful/mod.rs @@ -11,7 +11,7 @@ use axum_login::tower_sessions::{ExpiredDeletion, SessionManagerLayer}; use axum_login::{login_required, AuthManagerLayerBuilder, AuthzBackend}; use axum_messages::MessagesManagerLayer; use easytier::common::scoped_task::ScopedTask; -use easytier::proto::{rpc_types}; +use easytier::proto::rpc_types; use network::NetworkApi; use sea_orm::DbErr; use tokio::net::TcpListener; @@ -43,6 +43,11 @@ type AppState = State; #[derive(Debug, serde::Deserialize, serde::Serialize)] struct ListSessionJsonResp(Vec); +#[derive(Debug, serde::Deserialize, serde::Serialize)] +struct GetSummaryJsonResp { + device_count: u32, +} + #[derive(Debug, serde::Deserialize, serde::Serialize)] pub struct Error { message: String, @@ -98,16 +103,32 @@ impl RestfulServer { auth_session: AuthSession, State(client_mgr): AppState, ) -> Result, HttpHandleError> { - let pers = auth_session + let perms = auth_session .backend .get_group_permissions(auth_session.user.as_ref().unwrap()) .await .unwrap(); - println!("{:?}", pers); + println!("{:?}", perms); let ret = client_mgr.list_sessions().await; Ok(ListSessionJsonResp(ret).into()) } + async fn handle_get_summary( + auth_session: AuthSession, + State(client_mgr): AppState, + ) -> Result, HttpHandleError> { + let Some(user) = auth_session.user else { + return Err((StatusCode::UNAUTHORIZED, other_error("No such user").into())); + }; + + let machines = client_mgr.list_machine_by_token(user.tokens[0].clone()); + + Ok(GetSummaryJsonResp { + device_count: machines.len() as u32, + } + .into()) + } + pub async fn start(&mut self) -> Result<(), anyhow::Error> { let listener = TcpListener::bind(self.bind_addr).await?; @@ -143,6 +164,7 @@ impl RestfulServer { let auth_layer = AuthManagerLayerBuilder::new(backend, session_layer).build(); let app = Router::new() + .route("/api/v1/summary", get(Self::handle_get_summary)) .route("/api/v1/sessions", get(Self::handle_list_all_sessions)) .merge(self.network_api.build_route()) .route_layer(login_required!(Backend)) diff --git a/easytier-web/src/restful/network.rs b/easytier-web/src/restful/network.rs index a74dc8f..83b1cf9 100644 --- a/easytier-web/src/restful/network.rs +++ b/easytier-web/src/restful/network.rs @@ -9,7 +9,7 @@ use dashmap::DashSet; use easytier::launcher::NetworkConfig; use easytier::proto::common::Void; use easytier::proto::rpc_types::controller::BaseController; -use easytier::proto::{web::*}; +use easytier::proto::web::*; use crate::client_manager::session::Session; use crate::client_manager::ClientManager; @@ -38,7 +38,7 @@ struct ValidateConfigJsonReq { #[derive(Debug, serde::Deserialize, serde::Serialize)] struct RunNetworkJsonReq { - config: String, + config: NetworkConfig, } #[derive(Debug, serde::Deserialize, serde::Serialize)] @@ -145,7 +145,7 @@ impl NetworkApi { BaseController::default(), RunNetworkInstanceRequest { inst_id: None, - config: config.clone(), + config: Some(config.clone()), }, ) .await @@ -155,8 +155,9 @@ impl NetworkApi { .db() .insert_or_update_user_network_config( auth_session.user.as_ref().unwrap().id(), + machine_id, resp.inst_id.clone().unwrap_or_default().into(), - config, + serde_json::to_string(&config).unwrap(), ) .await .map_err(convert_db_error)?; @@ -288,6 +289,36 @@ impl NetworkApi { Ok(Json(ListMachineJsonResp { machines })) } + async fn handle_get_network_config( + auth_session: AuthSession, + State(client_mgr): AppState, + Path((machine_id, inst_id)): Path<(uuid::Uuid, uuid::Uuid)>, + ) -> Result, HttpHandleError> { + let inst_id = inst_id.to_string(); + + let db_row = client_mgr + .db() + .list_network_configs(auth_session.user.unwrap().id(), Some(machine_id), false) + .await + .map_err(convert_db_error)? + .iter() + .find(|x| x.network_instance_id == inst_id) + .map(|x| x.network_config.clone()) + .ok_or(( + StatusCode::NOT_FOUND, + other_error(format!("No such network instance: {}", inst_id)).into(), + ))?; + + Ok(serde_json::from_str::(&db_row) + .map_err(|e| { + ( + StatusCode::INTERNAL_SERVER_ERROR, + other_error(format!("Failed to parse network config: {:?}", e)).into(), + ) + })? + .into()) + } + pub fn build_route(&mut self) -> Router { Router::new() .route("/api/v1/machines", get(Self::handle_list_machines)) @@ -311,5 +342,9 @@ impl NetworkApi { "/api/v1/machines/:machine-id/networks/info/:inst-id", get(Self::handle_collect_one_network_info), ) + .route( + "/api/v1/machines/:machine-id/networks/config/:inst-id", + get(Self::handle_get_network_config), + ) } } diff --git a/easytier/src/launcher.rs b/easytier/src/launcher.rs index 9657bac..1dddfd9 100644 --- a/easytier/src/launcher.rs +++ b/easytier/src/launcher.rs @@ -23,9 +23,15 @@ use tokio::{sync::broadcast, task::JoinSet}; pub type MyNodeInfo = crate::proto::web::MyNodeInfo; +#[derive(serde::Serialize, Clone)] +pub struct Event { + time: DateTime, + event: GlobalCtxEvent, +} + struct EasyTierData { - events: RwLock, GlobalCtxEvent)>>, - node_info: RwLock, + events: RwLock>, + my_node_info: RwLock, routes: RwLock>, peers: RwLock>, tun_fd: Arc>>, @@ -40,7 +46,7 @@ impl Default for EasyTierData { Self { event_subscriber: RwLock::new(tx), events: RwLock::new(VecDeque::new()), - node_info: RwLock::new(MyNodeInfo::default()), + my_node_info: RwLock::new(MyNodeInfo::default()), routes: RwLock::new(Vec::new()), peers: RwLock::new(Vec::new()), tun_fd: Arc::new(RwLock::new(None)), @@ -79,9 +85,12 @@ impl EasyTierLauncher { async fn handle_easytier_event(event: GlobalCtxEvent, data: &EasyTierData) { let mut events = data.events.write().unwrap(); let _ = data.event_subscriber.read().unwrap().send(event.clone()); - events.push_back((chrono::Local::now(), event)); - if events.len() > 100 { - events.pop_front(); + events.push_front(Event { + time: chrono::Local::now(), + event: event, + }); + if events.len() > 20 { + events.pop_back(); } } @@ -153,7 +162,7 @@ impl EasyTierLauncher { global_ctx_c.get_flags().dev_name.clone(); let node_info = MyNodeInfo { - virtual_ipv4: global_ctx_c.get_ipv4().map(|x| x.address().into()), + virtual_ipv4: global_ctx_c.get_ipv4().map(|ip| ip.into()), hostname: global_ctx_c.get_hostname(), version: EASYTIER_VERSION.to_string(), ips: Some(global_ctx_c.get_ip_collector().collect_ip_addrs().await), @@ -171,7 +180,7 @@ impl EasyTierLauncher { .await, ), }; - *data_c.node_info.write().unwrap() = node_info.clone(); + *data_c.my_node_info.write().unwrap() = node_info.clone(); *data_c.routes.write().unwrap() = peer_mgr_c.list_routes().await; *data_c.peers.write().unwrap() = PeerManagerRpcService::new(peer_mgr_c.clone()) .list_peers() @@ -267,13 +276,13 @@ impl EasyTierLauncher { self.data.tun_dev_name.read().unwrap().clone() } - pub fn get_events(&self) -> Vec<(DateTime, GlobalCtxEvent)> { + pub fn get_events(&self) -> Vec { let events = self.data.events.read().unwrap(); events.iter().cloned().collect() } pub fn get_node_info(&self) -> MyNodeInfo { - self.data.node_info.read().unwrap().clone() + self.data.my_node_info.read().unwrap().clone() } pub fn get_routes(&self) -> Vec { @@ -341,9 +350,8 @@ impl NetworkInstance { events: launcher .get_events() .iter() - .map(|(t, e)| (t.to_string(), format!("{:?}", e))) + .map(|e| serde_json::to_string(e).unwrap()) .collect(), - node_info: Some(launcher.get_node_info()), routes, peers, peer_route_pairs, diff --git a/easytier/src/proto/web.proto b/easytier/src/proto/web.proto index 0539bf2..00fecbe 100644 --- a/easytier/src/proto/web.proto +++ b/easytier/src/proto/web.proto @@ -43,7 +43,7 @@ message NetworkConfig { } message MyNodeInfo { - common.Ipv4Addr virtual_ipv4 = 1; + common.Ipv4Inet virtual_ipv4 = 1; string hostname = 2; string version = 3; peer_rpc.GetIpListResponse ips = 4; @@ -55,13 +55,12 @@ message MyNodeInfo { message NetworkInstanceRunningInfo { string dev_name = 1; MyNodeInfo my_node_info = 2; - map events = 3; - MyNodeInfo node_info = 4; - repeated cli.Route routes = 5; - repeated cli.PeerInfo peers = 6; - repeated cli.PeerRoutePair peer_route_pairs = 7; - bool running = 8; - optional string error_msg = 9; + repeated string events = 3; + repeated cli.Route routes = 4; + repeated cli.PeerInfo peers = 5; + repeated cli.PeerRoutePair peer_route_pairs = 6; + bool running = 7; + optional string error_msg = 8; } message NetworkInstanceRunningInfoMap { @@ -97,7 +96,7 @@ message ValidateConfigResponse { message RunNetworkInstanceRequest { common.UUID inst_id = 1; - string config = 2; + NetworkConfig config = 2; } message RunNetworkInstanceResponse { diff --git a/easytier/src/web_client/controller.rs b/easytier/src/web_client/controller.rs index 40a2fa3..0d87d45 100644 --- a/easytier/src/web_client/controller.rs +++ b/easytier/src/web_client/controller.rs @@ -100,7 +100,10 @@ impl WebClientService for Controller { _: BaseController, req: RunNetworkInstanceRequest, ) -> Result { - let cfg = TomlConfigLoader::new_from_str(&req.config)?; + if req.config.is_none() { + return Err(anyhow::anyhow!("config is required").into()); + } + let cfg = req.config.unwrap().gen_config()?; let id = cfg.get_id(); if let Some(inst_id) = req.inst_id { cfg.set_id(inst_id.into()); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 27a9b37..88e648b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,72 +9,66 @@ importers: easytier-gui: dependencies: '@primevue/themes': - specifier: ^4.1.0 + specifier: ^4.2.1 version: 4.2.1 '@tauri-apps/plugin-autostart': - specifier: 2.0.0-rc.1 - version: 2.0.0-rc.1 + specifier: 2.0.0 + version: 2.0.0 '@tauri-apps/plugin-clipboard-manager': - specifier: 2.0.0-rc.1 - version: 2.0.0-rc.1 + specifier: 2.0.0 + version: 2.0.0 '@tauri-apps/plugin-os': - specifier: 2.0.0-rc.1 - version: 2.0.0-rc.1 + specifier: 2.0.0 + version: 2.0.0 '@tauri-apps/plugin-process': - specifier: 2.0.0-rc.1 - version: 2.0.0-rc.1 + specifier: 2.0.0 + version: 2.0.0 '@tauri-apps/plugin-shell': - specifier: 2.0.0-rc.1 - version: 2.0.0-rc.1 + specifier: 2.0.1 + version: 2.0.1 '@vueuse/core': - specifier: ^11.1.0 - version: 11.2.0(vue@3.4.38(typescript@5.6.3)) + specifier: ^11.2.0 + version: 11.2.0(vue@3.5.12(typescript@5.6.3)) aura: specifier: link:@primevue\themes\aura version: link:@primevue/themes/aura + easytier-frontend-lib: + specifier: workspace:* + version: link:../easytier-web/frontend-lib ip-num: specifier: 1.5.1 version: 1.5.1 pinia: specifier: ^2.2.4 - version: 2.2.6(typescript@5.6.3)(vue@3.4.38(typescript@5.6.3)) - primeflex: - specifier: ^3.3.1 - version: 3.3.1 - primeicons: - specifier: ^7.0.0 - version: 7.0.0 + version: 2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)) primevue: - specifier: ^4.1.0 - version: 4.2.1(vue@3.4.38(typescript@5.6.3)) + specifier: ^4.2.1 + version: 4.2.1(vue@3.5.12(typescript@5.6.3)) tauri-plugin-vpnservice-api: - specifier: link:..\tauri-plugin-vpnservice + specifier: workspace:* version: link:../tauri-plugin-vpnservice vue: - specifier: '=3.4.38' - version: 3.4.38(typescript@5.6.3) - vue-i18n: - specifier: ^10.0.4 - version: 10.0.4(vue@3.4.38(typescript@5.6.3)) + specifier: ^3.5.12 + version: 3.5.12(typescript@5.6.3) vue-router: specifier: ^4.4.5 - version: 4.4.5(vue@3.4.38(typescript@5.6.3)) + version: 4.4.5(vue@3.5.12(typescript@5.6.3)) devDependencies: '@antfu/eslint-config': specifier: ^3.7.3 version: 3.8.0(@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(@vue/compiler-sfc@3.5.12)(eslint-plugin-format@0.1.2(eslint@9.14.0(jiti@2.4.0)))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) '@intlify/unplugin-vue-i18n': specifier: ^5.2.0 - version: 5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.4.38(typescript@5.6.3)))(vue@3.4.38(typescript@5.6.3)) + version: 5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) '@primevue/auto-import-resolver': specifier: ^4.1.0 version: 4.2.1 '@tauri-apps/api': - specifier: 2.0.0-rc.0 - version: 2.0.0-rc.0 + specifier: 2.1.0 + version: 2.1.0 '@tauri-apps/cli': - specifier: 2.0.0-rc.3 - version: 2.0.0-rc.3 + specifier: 2.1.0 + version: 2.1.0 '@types/node': specifier: ^22.7.4 version: 22.8.6 @@ -83,10 +77,10 @@ importers: version: 10.0.0 '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.10(@types/node@22.8.6))(vue@3.4.38(typescript@5.6.3)) + version: 5.1.4(vite@5.4.10(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3)) '@vue-macros/volar': - specifier: 0.30.3 - version: 0.30.3(rollup@4.24.3)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.4.38(typescript@5.6.3)) + specifier: 0.30.5 + version: 0.30.5(rollup@4.24.3)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.12(typescript@5.6.3)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.47) @@ -110,19 +104,19 @@ importers: version: 5.6.3 unplugin-auto-import: specifier: ^0.18.3 - version: 0.18.3(@vueuse/core@11.2.0(vue@3.4.38(typescript@5.6.3)))(rollup@4.24.3) + version: 0.18.3(@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.24.3) unplugin-vue-components: specifier: ^0.27.4 - version: 0.27.4(@babel/parser@7.26.2)(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + version: 0.27.4(@babel/parser@7.26.2)(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin-vue-macros: - specifier: ^2.12.3 - version: 2.13.3(@vueuse/core@11.2.0(vue@3.4.38(typescript@5.6.3)))(esbuild@0.21.5)(rollup@4.24.3)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.6))(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.4.38(typescript@5.6.3)) + specifier: ^2.13.3 + version: 2.13.3(@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3)))(esbuild@0.23.1)(rollup@4.24.3)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.6))(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.12(typescript@5.6.3)) unplugin-vue-markdown: specifier: ^0.26.2 version: 0.26.2(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6)) unplugin-vue-router: specifier: ^0.10.8 - version: 0.10.8(rollup@4.24.3)(vue-router@4.4.5(vue@3.4.38(typescript@5.6.3)))(vue@3.4.38(typescript@5.6.3)) + version: 0.10.8(rollup@4.24.3)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) uuid: specifier: ^10.0.0 version: 10.0.0 @@ -131,12 +125,15 @@ importers: version: 5.4.10(@types/node@22.8.6) vite-plugin-vue-devtools: specifier: ^7.4.6 - version: 7.6.3(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6))(vue@3.4.38(typescript@5.6.3)) + version: 7.6.3(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3)) vite-plugin-vue-layouts: specifier: ^0.11.0 - version: 0.11.0(vite@5.4.10(@types/node@22.8.6))(vue-router@4.4.5(vue@3.4.38(typescript@5.6.3)))(vue@3.4.38(typescript@5.6.3)) + version: 0.11.0(vite@5.4.10(@types/node@22.8.6))(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) + vue-i18n: + specifier: ^10.0.0 + version: 10.0.4(vue@3.5.12(typescript@5.6.3)) vue-tsc: - specifier: ^2.1.6 + specifier: ^2.1.10 version: 2.1.10(typescript@5.6.3) easytier-web/frontend: @@ -162,6 +159,9 @@ importers: vue: specifier: ^3.5.12 version: 3.5.12(typescript@5.6.3) + vue-router: + specifier: '4' + version: 4.4.5(vue@3.5.12(typescript@5.6.3)) devDependencies: '@types/node': specifier: ^22.8.6 @@ -188,7 +188,7 @@ importers: specifier: ^2.0.3 version: 2.0.3(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6)) vue-tsc: - specifier: ^2.1.8 + specifier: ^2.1.10 version: 2.1.10(typescript@5.6.3) easytier-web/frontend-lib: @@ -202,6 +202,12 @@ importers: aura: specifier: link:@primevue\themes\aura version: link:@primevue/themes/aura + axios: + specifier: ^1.7.7 + version: 1.7.7 + floating-vue: + specifier: ^5.2 + version: 5.2.2(vue@3.5.12(typescript@5.6.3)) ip-num: specifier: 1.5.1 version: 1.5.1 @@ -258,7 +264,7 @@ importers: specifier: ^4.3.0 version: 4.3.0(@types/node@22.8.6)(rollup@4.24.3)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.6)) vue-tsc: - specifier: ^2.1.8 + specifier: ^2.1.10 version: 2.1.10(typescript@5.6.3) tauri-plugin-vpnservice: @@ -847,6 +853,15 @@ packages: resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.6.8': + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} + + '@floating-ui/dom@1.1.1': + resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==} + + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -1243,88 +1258,88 @@ packages: resolution: {integrity: sha512-v454Qs3REHc3Za59U+/eSmBsdmF+3NE5+76+lFDaitVqN4ZglDHENDaMARYKGJVZuxiSkzyqG0SeG7lLQjVkPA==} engines: {node: '>= 18.18', npm: '>= 6.6.0', yarn: '>= 1.19.1'} - '@tauri-apps/api@2.0.3': - resolution: {integrity: sha512-840qk6n8rbXBXMA5/aAgTYsg5JAubKO0nXw5wf7IzGnUuYKGbB4oFBIZtXOIWy+E0kNTDI3qhq5iqsoMJfwp8g==} + '@tauri-apps/api@2.1.0': + resolution: {integrity: sha512-1w/JygZOiUtdOU7qart78MaB4/qayZ2heB793KhbZRS7I9q4sxXcXaB7He6uFlprD8w5TI9P8HCuEByCvWRtfw==} - '@tauri-apps/cli-darwin-arm64@2.0.0-rc.3': - resolution: {integrity: sha512-szYCSr/ChbCF+S6Wnr15TYpI2cZR07d+AQOiFGuScP0preM8Pbsk/sb0hfLwqzepjVFFNVWQba9sG7FEW2Y2XA==} + '@tauri-apps/cli-darwin-arm64@2.1.0': + resolution: {integrity: sha512-ESc6J6CE8hl1yKH2vJ+ALF+thq4Be+DM1mvmTyUCQObvezNCNhzfS6abIUd3ou4x5RGH51ouiANeT3wekU6dCw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tauri-apps/cli-darwin-x64@2.0.0-rc.3': - resolution: {integrity: sha512-BJv6EJOY1DJbRzVtfg8CcBAlnS5OjhBAc5YKjh4BT7EyOcop8HStBSxhL6yjWrUP7eLR1iIsW/uSehVJwzYIdQ==} + '@tauri-apps/cli-darwin-x64@2.1.0': + resolution: {integrity: sha512-TasHS442DFs8cSH2eUQzuDBXUST4ECjCd0yyP+zZzvAruiB0Bg+c8A+I/EnqCvBQ2G2yvWLYG8q/LI7c87A5UA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-rc.3': - resolution: {integrity: sha512-fwx805/xL4sF/EdMYqcUHQHzMYwo+OVTBTz5x/JWK8D57rnmLHAP+ZhnfFsZQLRo2QRT2l1Ye3bDyU+QRA1JFA==} + '@tauri-apps/cli-linux-arm-gnueabihf@2.1.0': + resolution: {integrity: sha512-aP7ZBGNL4ny07Cbb6kKpUOSrmhcIK2KhjviTzYlh+pPhAptxnC78xQGD3zKQkTi2WliJLPmBYbOHWWQa57lQ9w==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tauri-apps/cli-linux-arm64-gnu@2.0.0-rc.3': - resolution: {integrity: sha512-3KauzO1Ls4kuY0nr82S4X8XFxlQAMN+Mqp8LLqvQ+PPMp92XQAkPH7osQdoHIEoW5gsE69U2JaiQ5tHSqNM9og==} + '@tauri-apps/cli-linux-arm64-gnu@2.1.0': + resolution: {integrity: sha512-ZTdgD5gLeMCzndMT2f358EkoYkZ5T+Qy6zPzU+l5vv5M7dHVN9ZmblNAYYXmoOuw7y+BY4X/rZvHV9pcGrcanQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-arm64-musl@2.0.0-rc.3': - resolution: {integrity: sha512-ngHS0foffm1xO5gqnDKGeYMKj8ceGmrFP5dDldoaaMQubw1SyFa0pRUjb7fZSYiO7F4SOSa8NYeMqlF9peZmnQ==} + '@tauri-apps/cli-linux-arm64-musl@2.1.0': + resolution: {integrity: sha512-NzwqjUCilhnhJzusz3d/0i0F1GFrwCQbkwR6yAHUxItESbsGYkZRJk0yMEWkg3PzFnyK4cWTlQJMEU52TjhEzA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-x64-gnu@2.0.0-rc.3': - resolution: {integrity: sha512-0/am9pVvuUHGmz32M8ffz1fpLnc08j3nzcRe5wUdL2AxfT+wKMII+Dn99GtCVgcdDW4jSXDMRUwrBkGocGC2OA==} + '@tauri-apps/cli-linux-x64-gnu@2.1.0': + resolution: {integrity: sha512-TyiIpMEtZxNOQmuFyfJwaaYbg3movSthpBJLIdPlKxSAB2BW0VWLY3/ZfIxm/G2YGHyREkjJvimzYE0i37PnMA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tauri-apps/cli-linux-x64-musl@2.0.0-rc.3': - resolution: {integrity: sha512-r7mRi8q8TqTFVjb9kAsU7IgwUgno2s8Ip4xwq9psQhlRE3JGEZQmSEcy1jqTjfl6KFh6lJcDR7l+9/EMhL/D3Q==} + '@tauri-apps/cli-linux-x64-musl@2.1.0': + resolution: {integrity: sha512-/dQd0TlaxBdJACrR72DhynWftzHDaX32eBtS5WBrNJ+nnNb+znM3gON6nJ9tSE9jgDa6n1v2BkI/oIDtypfUXw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tauri-apps/cli-win32-arm64-msvc@2.0.0-rc.3': - resolution: {integrity: sha512-2J6KjmDIQCw6HF1X6/yPcd+JLl7pxrH2zVMGmNllaoWhHeByvRobqFWnT7gcdHaA3dGTo432CwWvOgTgrINQpQ==} + '@tauri-apps/cli-win32-arm64-msvc@2.1.0': + resolution: {integrity: sha512-NdQJO7SmdYqOcE+JPU7bwg7+odfZMWO6g8xF9SXYCMdUzvM2Gv/AQfikNXz5yS7ralRhNFuW32i5dcHlxh4pDg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tauri-apps/cli-win32-ia32-msvc@2.0.0-rc.3': - resolution: {integrity: sha512-8q75CsHDSEDdgi6xPwim+BaQZFCswK2Dn/qL38V3Mh9kmVvC8oGJMPC66bC20dF+v3KWeFm2FNNGQqOSXCveHg==} + '@tauri-apps/cli-win32-ia32-msvc@2.1.0': + resolution: {integrity: sha512-f5h8gKT/cB8s1ticFRUpNmHqkmaLutT62oFDB7N//2YTXnxst7EpMIn1w+QimxTvTk2gcx6EcW6bEk/y2hZGzg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@tauri-apps/cli-win32-x64-msvc@2.0.0-rc.3': - resolution: {integrity: sha512-qeBRJYalahxEXolekcpZJ/HBrIJacG2NWJBGhhi797mIwnbmlpbHMc8blIJtNNNwVUb2BjXuxKQVfojQ5YYrcg==} + '@tauri-apps/cli-win32-x64-msvc@2.1.0': + resolution: {integrity: sha512-P/+LrdSSb5Xbho1LRP4haBjFHdyPdjWvGgeopL96OVtrFpYnfC+RctB45z2V2XxqFk3HweDDxk266btjttfjGw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tauri-apps/cli@2.0.0-rc.3': - resolution: {integrity: sha512-iNF95pieBmverl1EmQyqh+fhcIClS544fN5Ex5lAbYLTiHZ/gm3lOfVBhF6NPaKd/sfLuy7K1tfDXlHztBfANw==} + '@tauri-apps/cli@2.1.0': + resolution: {integrity: sha512-K2VhcKqBhAeS5pNOVdnR/xQRU6jwpgmkSL2ejHXcl0m+kaTggT0WRDQnFtPq6NljA7aE03cvwsbCAoFG7vtkJw==} engines: {node: '>= 10'} hasBin: true - '@tauri-apps/plugin-autostart@2.0.0-rc.1': - resolution: {integrity: sha512-5h801HJf6Z5CtUmJhwv+PBSn2nNAWqsuKmu0hABn/IpP2AElZev4XicMzrnYVevJeIhWgRA8HNpg3s8pbic1Rw==} + '@tauri-apps/plugin-autostart@2.0.0': + resolution: {integrity: sha512-NEwOQWVasZ8RczXkMLNJokRDujneuMH/UFA5t84DLkbNZUmiD3G7HZWhgSd1YQ0BFU9h9w+h2B/py3y6bzWg4Q==} - '@tauri-apps/plugin-clipboard-manager@2.0.0-rc.1': - resolution: {integrity: sha512-hFgUABMmQuVGKwHb8PR9fuqfk0WRkedbWUt/ZV5sL4Q6kLrsp3JYJvtzVPeMYdeBvMqHl8WXNxAc/zwSld2h9w==} + '@tauri-apps/plugin-clipboard-manager@2.0.0': + resolution: {integrity: sha512-V1sXmbjnwfXt/r48RJMwfUmDMSaP/8/YbH4CLNxt+/sf1eHlIP8PRFdFDQwLN0cNQKu2rqQVbG/Wc/Ps6cDUhw==} - '@tauri-apps/plugin-os@2.0.0-rc.1': - resolution: {integrity: sha512-PV8zlSTmYfiN2xzILUmlDSEycS7UYbH2yXk/ZqF+qQU6/s+OVQvmSth4EhllFjcpvPbtqELvpzfjw+2qEouchA==} + '@tauri-apps/plugin-os@2.0.0': + resolution: {integrity: sha512-M7hG/nNyQYTJxVG/UhTKhp9mpXriwWzrs9mqDreB8mIgqA3ek5nHLdwRZJWhkKjZrnDT4v9CpA9BhYeplTlAiA==} - '@tauri-apps/plugin-process@2.0.0-rc.1': - resolution: {integrity: sha512-Bl22xdoiu+AqEP6rzjb7DUJwdLDnejuRFukpkdrqF1/VEWJK5PuE903l+8mIOsd17zZ1Ua8y8WaBWnOXx4QHmw==} + '@tauri-apps/plugin-process@2.0.0': + resolution: {integrity: sha512-OYzi0GnkrF4NAnsHZU7U3tjSoP0PbeAlO7T1Z+vJoBUH9sFQ1NSLqWYWQyf8hcb3gVWe7P1JggjiskO+LST1ug==} - '@tauri-apps/plugin-shell@2.0.0-rc.1': - resolution: {integrity: sha512-JtNROc0rqEwN/g93ig5pK4cl1vUo2yn+osCpY9de64cy/d9hRzof7AuYOgvt/Xcd5VPQmlgo2AGvUh5sQRSR1A==} + '@tauri-apps/plugin-shell@2.0.1': + resolution: {integrity: sha512-akU1b77sw3qHiynrK0s930y8zKmcdrSD60htjH+mFZqv5WaakZA/XxHR3/sF1nNv9Mgmt/Shls37HwnOr00aSw==} '@tybys/wasm-util@0.9.0': resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} @@ -1486,10 +1501,6 @@ packages: resolution: {integrity: sha512-GcCv/U5cml0/3gG4KKyWldpq5pKMLMRjWmDLMijzZmEnNtqJBQAzshlfLaV+ZRAXydn+FjrQMm4punHuUTIfaA==} engines: {node: '>=16.14.0'} - '@vue-macros/boolean-prop@0.5.1': - resolution: {integrity: sha512-exB41s6Ke3MiunCVujXzUTXo76w+POkwps6Lo+TTMw6dvksTc0SKUTu86l2bs1XhOA+04+vXQdQodhJJQdpJVg==} - engines: {node: '>=16.14.0'} - '@vue-macros/boolean-prop@0.5.2': resolution: {integrity: sha512-D3sP0ejVDuksT5IavAq5JeYtBvCRBmVUqjwqFaQ76OzHss3hC8FuN8SJkiAeNBFBtiYHHKpVAXg26CwVvziCmw==} engines: {node: '>=16.14.0'} @@ -1498,15 +1509,6 @@ packages: resolution: {integrity: sha512-HcQCeuGbJnqtyM0ZIM6SoFuK01XlQGRIKAJ2Ty7tWsiB3+V4FKqG8RxOMS29MV+RoLajA47yi1Dd9gYSf4GV0w==} engines: {node: '>=16.14.0'} - '@vue-macros/common@1.14.0': - resolution: {integrity: sha512-xwQhDoEXRNXobNQmdqOD20yUGdVLVLZe4zhDlT9q/E+z+mvT3wukaAoJG80XRnv/BcgOOCVpxqpkQZ3sNTgjWA==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue: ^2.7.0 || ^3.2.25 - peerDependenciesMeta: - vue: - optional: true - '@vue-macros/common@1.15.0': resolution: {integrity: sha512-yg5VqW7+HRfJGimdKvFYzx8zorHUYo0hzPwuraoC1DWa7HHazbTMoVsHDvk3JHa1SGfSL87fRnzmlvgjEHhszA==} engines: {node: '>=16.14.0'} @@ -1516,10 +1518,6 @@ packages: vue: optional: true - '@vue-macros/config@0.4.2': - resolution: {integrity: sha512-tCz1sZ2tY+z7gDXrZ9wSiRf5Txj9Ms7V20vHkuGcf0I8Ny256SpHwSkYHyIdj2Z1gCgST8bgXYjROBQJah98rA==} - engines: {node: '>=16.14.0'} - '@vue-macros/config@0.5.0': resolution: {integrity: sha512-wJcqHU71ZNXu4C4k/zmR9e4l0EaF08gnTd2YxZQqSYdV9ltAaqip22gp1R03X/Yz1/u/R+/yJap1s5jy8Zew5A==} engines: {node: '>=16.14.0'} @@ -1637,10 +1635,6 @@ packages: resolution: {integrity: sha512-uRK2iUECpgwD2Dr1g7cPG4NK10/Th5qZoL50lKzuA+EYw2pC45h6AELre29bE4Ft0vhDGgxgo4UfOUmi/I8oWQ==} engines: {node: '>=16.14.0'} - '@vue-macros/short-bind@1.1.1': - resolution: {integrity: sha512-eP0Y1Yt7IG6GJytfogkL0wLzH2KPqxOXt66+aILpz8J//7F84D7qMWAnG5KA1vLM/1m6rTRazhMB++KS45kdKg==} - engines: {node: '>=16.14.0'} - '@vue-macros/short-bind@1.1.2': resolution: {integrity: sha512-qfZx6SU1lDo9/Ala/6B9Z2K+++0NIQd/4PiV9flu7FvJItdc9ypBlYPnK6RUNJiFP8BeHU6rjq1b6n7GH9qVrA==} engines: {node: '>=16.14.0'} @@ -1649,23 +1643,10 @@ packages: resolution: {integrity: sha512-FdlLVvrtjmHqkR80ZrXjjfkCSDk6HcSqXRpIJw1nNx45YTqfMQrSyGxKR/3BJZGBq70Rh5GdJuNmfmFeMe1IDQ==} engines: {node: '>=16.14.0'} - '@vue-macros/short-vmodel@1.5.1': - resolution: {integrity: sha512-DT/6ZWe90/qrFtgicKCRljdvcwM25Nk66lPF9UFydwOFHKa6yOwTdeexjU3W/uG8X4QLlQBTCsDKbjLbhK1i7g==} - engines: {node: '>=16.14.0'} - '@vue-macros/short-vmodel@1.5.2': resolution: {integrity: sha512-lhNTAfrHCcA3Wdh05L6eTH+fdq4g1lMkDwKVwal6wUEz/Z1YLhTxNmEwNbHFWtKRlcY7APmNPMrJ9ktwJKjm3g==} engines: {node: '>=16.14.0'} - '@vue-macros/volar@0.30.3': - resolution: {integrity: sha512-35ecwiHaKizySmEIsSHIdyBpf0AgP9wZkUJUIO4xq9lAlSXHkTMjELuwVCRFCCyjZS/UuB+rPqxguKiSaNKmGg==} - engines: {node: '>=16.14.0'} - peerDependencies: - vue-tsc: 2.1.6 - peerDependenciesMeta: - vue-tsc: - optional: true - '@vue-macros/volar@0.30.5': resolution: {integrity: sha512-uK6Buuypg3x2S135w4S82jURSMMEKHqgj9F+sZ/mLDr7XjfFr4ynwlTM4zpuERHupNQGlqzE0UN3nIIs2owW0g==} engines: {node: '>=16.14.0'} @@ -1691,27 +1672,15 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.4.38': - resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} - '@vue/compiler-core@3.5.12': resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} - '@vue/compiler-dom@3.4.38': - resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} - '@vue/compiler-dom@3.5.12': resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} - '@vue/compiler-sfc@3.4.38': - resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} - '@vue/compiler-sfc@3.5.12': resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} - '@vue/compiler-ssr@3.4.38': - resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} - '@vue/compiler-ssr@3.5.12': resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} @@ -1748,37 +1717,20 @@ packages: typescript: optional: true - '@vue/reactivity@3.4.38': - resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} - '@vue/reactivity@3.5.12': resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} - '@vue/runtime-core@3.4.38': - resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} - '@vue/runtime-core@3.5.12': resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==} - '@vue/runtime-dom@3.4.38': - resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} - '@vue/runtime-dom@3.5.12': resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==} - '@vue/server-renderer@3.4.38': - resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} - peerDependencies: - vue: 3.4.38 - '@vue/server-renderer@3.5.12': resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==} peerDependencies: vue: 3.5.12 - '@vue/shared@3.4.38': - resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} - '@vue/shared@3.5.12': resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} @@ -2436,6 +2388,15 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + floating-vue@5.2.2: + resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} + peerDependencies: + '@nuxt/kit': ^3.2.0 + vue: ^3.2.0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} @@ -2579,9 +2540,6 @@ packages: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} - importx@0.4.4: - resolution: {integrity: sha512-Lo1pukzAREqrBnnHC+tj+lreMTAvyxtkKsMxLY8H15M/bvLl54p3YuoTI70Tz7Il0AsgSlD7Lrk/FaApRcBL7w==} - importx@0.5.0: resolution: {integrity: sha512-qROz3rSOjQYclmEQAajH9RhBuqpAGHM+5CNd9fk+TsF4JKmQsAI1egafW8XZZv8vARCo4nAmmt5d0eI2B8GUsA==} @@ -2683,10 +2641,6 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true - jiti@2.0.0-beta.3: - resolution: {integrity: sha512-pmfRbVRs/7khFrSAYnSiJ8C0D5GvzkE4Ey2pAvUcJsw1ly/p+7ut27jbJrjY79BpAJQJ4gXYFtK6d1Aub+9baQ==} - hasBin: true - jiti@2.4.0: resolution: {integrity: sha512-H5UpaUI+aHOqZXlYOaFP/8AzKsg+guWu+Pr3Y8i7+Y3zr1aXAvCvTAQ1RxSc6oVD8R8c7brgNtTVP91E7upH/g==} hasBin: true @@ -3256,9 +3210,6 @@ packages: engines: {node: '>=14'} hasBin: true - primeflex@3.3.1: - resolution: {integrity: sha512-zaOq3YvcOYytbAmKv3zYc+0VNS9Wg5d37dfxZnveKBFPr7vEIwfV5ydrpiouTft8MVW6qNjfkaQphHSnvgQbpQ==} - primeicons@7.0.0: resolution: {integrity: sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw==} @@ -3618,9 +3569,6 @@ packages: ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - unconfig@0.5.5: - resolution: {integrity: sha512-VQZ5PT9HDX+qag0XdgQi8tJepPhXiR/yVOkn707gJDKo31lGjRilPREiQJ9Z6zd/Ugpv6ZvO5VxVIcatldYcNQ==} - unconfig@0.6.0: resolution: {integrity: sha512-4C67J0nIF2QwSXty2kW3zZx1pMZ3iXabylvJWWgHybWVUcMf9pxwsngoQt0gC+AVstRywFqrRBp3qOXJayhpOw==} @@ -3861,6 +3809,11 @@ packages: peerDependencies: vue: ^3.0.0 + vue-resize@2.0.0-alpha.1: + resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} + peerDependencies: + vue: ^3.0.0 + vue-router@4.4.5: resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} peerDependencies: @@ -3872,14 +3825,6 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.4.38: - resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - vue@3.5.12: resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==} peerDependencies: @@ -4443,6 +4388,16 @@ snapshots: dependencies: levn: 0.4.1 + '@floating-ui/core@1.6.8': + dependencies: + '@floating-ui/utils': 0.2.8 + + '@floating-ui/dom@1.1.1': + dependencies: + '@floating-ui/core': 1.6.8 + + '@floating-ui/utils@0.2.8': {} + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -4456,7 +4411,7 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} - '@intlify/bundle-utils@9.0.0(vue-i18n@10.0.4(vue@3.4.38(typescript@5.6.3)))': + '@intlify/bundle-utils@9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))': dependencies: '@intlify/message-compiler': 10.0.0 '@intlify/shared': 10.0.0 @@ -4468,7 +4423,7 @@ snapshots: source-map-js: 1.2.1 yaml-eslint-parser: 1.2.3 optionalDependencies: - vue-i18n: 10.0.4(vue@3.4.38(typescript@5.6.3)) + vue-i18n: 10.0.4(vue@3.5.12(typescript@5.6.3)) '@intlify/core-base@10.0.4': dependencies: @@ -4489,12 +4444,12 @@ snapshots: '@intlify/shared@10.0.4': {} - '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.4.38(typescript@5.6.3)))(vue@3.4.38(typescript@5.6.3))': + '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0)) - '@intlify/bundle-utils': 9.0.0(vue-i18n@10.0.4(vue@3.4.38(typescript@5.6.3))) + '@intlify/bundle-utils': 9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3))) '@intlify/shared': 10.0.0 - '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.4.38(typescript@5.6.3)))(vue@3.4.38(typescript@5.6.3)) + '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) '@rollup/pluginutils': 5.1.3(rollup@4.24.3) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) @@ -4506,9 +4461,9 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) optionalDependencies: - vue-i18n: 10.0.4(vue@3.4.38(typescript@5.6.3)) + vue-i18n: 10.0.4(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -4517,14 +4472,14 @@ snapshots: - typescript - webpack-sources - '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.4.38(typescript@5.6.3)))(vue@3.4.38(typescript@5.6.3))': + '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))': dependencies: '@babel/parser': 7.26.2 optionalDependencies: '@intlify/shared': 10.0.0 '@vue/compiler-dom': 3.5.12 - vue: 3.4.38(typescript@5.6.3) - vue-i18n: 10.0.4(vue@3.4.38(typescript@5.6.3)) + vue: 3.5.12(typescript@5.6.3) + vue-i18n: 10.0.4(vue@3.5.12(typescript@5.6.3)) '@isaacs/cliui@8.0.2': dependencies: @@ -4681,25 +4636,12 @@ snapshots: dependencies: '@primevue/metadata': 4.2.1 - '@primevue/core@4.2.1(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@primeuix/styled': 0.3.0 - '@primeuix/utils': 0.3.0 - vue: 3.4.38(typescript@5.6.3) - '@primevue/core@4.2.1(vue@3.5.12(typescript@5.6.3))': dependencies: '@primeuix/styled': 0.3.0 '@primeuix/utils': 0.3.0 vue: 3.5.12(typescript@5.6.3) - '@primevue/icons@4.2.1(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@primeuix/utils': 0.3.0 - '@primevue/core': 4.2.1(vue@3.4.38(typescript@5.6.3)) - transitivePeerDependencies: - - vue - '@primevue/icons@4.2.1(vue@3.5.12(typescript@5.6.3))': dependencies: '@primeuix/utils': 0.3.0 @@ -4840,70 +4782,70 @@ snapshots: '@tauri-apps/api@2.0.0-rc.0': {} - '@tauri-apps/api@2.0.3': {} + '@tauri-apps/api@2.1.0': {} - '@tauri-apps/cli-darwin-arm64@2.0.0-rc.3': + '@tauri-apps/cli-darwin-arm64@2.1.0': optional: true - '@tauri-apps/cli-darwin-x64@2.0.0-rc.3': + '@tauri-apps/cli-darwin-x64@2.1.0': optional: true - '@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-rc.3': + '@tauri-apps/cli-linux-arm-gnueabihf@2.1.0': optional: true - '@tauri-apps/cli-linux-arm64-gnu@2.0.0-rc.3': + '@tauri-apps/cli-linux-arm64-gnu@2.1.0': optional: true - '@tauri-apps/cli-linux-arm64-musl@2.0.0-rc.3': + '@tauri-apps/cli-linux-arm64-musl@2.1.0': optional: true - '@tauri-apps/cli-linux-x64-gnu@2.0.0-rc.3': + '@tauri-apps/cli-linux-x64-gnu@2.1.0': optional: true - '@tauri-apps/cli-linux-x64-musl@2.0.0-rc.3': + '@tauri-apps/cli-linux-x64-musl@2.1.0': optional: true - '@tauri-apps/cli-win32-arm64-msvc@2.0.0-rc.3': + '@tauri-apps/cli-win32-arm64-msvc@2.1.0': optional: true - '@tauri-apps/cli-win32-ia32-msvc@2.0.0-rc.3': + '@tauri-apps/cli-win32-ia32-msvc@2.1.0': optional: true - '@tauri-apps/cli-win32-x64-msvc@2.0.0-rc.3': + '@tauri-apps/cli-win32-x64-msvc@2.1.0': optional: true - '@tauri-apps/cli@2.0.0-rc.3': + '@tauri-apps/cli@2.1.0': optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.0.0-rc.3 - '@tauri-apps/cli-darwin-x64': 2.0.0-rc.3 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-rc.3 - '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-rc.3 - '@tauri-apps/cli-linux-arm64-musl': 2.0.0-rc.3 - '@tauri-apps/cli-linux-x64-gnu': 2.0.0-rc.3 - '@tauri-apps/cli-linux-x64-musl': 2.0.0-rc.3 - '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-rc.3 - '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-rc.3 - '@tauri-apps/cli-win32-x64-msvc': 2.0.0-rc.3 + '@tauri-apps/cli-darwin-arm64': 2.1.0 + '@tauri-apps/cli-darwin-x64': 2.1.0 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.1.0 + '@tauri-apps/cli-linux-arm64-gnu': 2.1.0 + '@tauri-apps/cli-linux-arm64-musl': 2.1.0 + '@tauri-apps/cli-linux-x64-gnu': 2.1.0 + '@tauri-apps/cli-linux-x64-musl': 2.1.0 + '@tauri-apps/cli-win32-arm64-msvc': 2.1.0 + '@tauri-apps/cli-win32-ia32-msvc': 2.1.0 + '@tauri-apps/cli-win32-x64-msvc': 2.1.0 - '@tauri-apps/plugin-autostart@2.0.0-rc.1': + '@tauri-apps/plugin-autostart@2.0.0': dependencies: - '@tauri-apps/api': 2.0.3 + '@tauri-apps/api': 2.1.0 - '@tauri-apps/plugin-clipboard-manager@2.0.0-rc.1': + '@tauri-apps/plugin-clipboard-manager@2.0.0': dependencies: - '@tauri-apps/api': 2.0.3 + '@tauri-apps/api': 2.1.0 - '@tauri-apps/plugin-os@2.0.0-rc.1': + '@tauri-apps/plugin-os@2.0.0': dependencies: - '@tauri-apps/api': 2.0.3 + '@tauri-apps/api': 2.1.0 - '@tauri-apps/plugin-process@2.0.0-rc.1': + '@tauri-apps/plugin-process@2.0.0': dependencies: - '@tauri-apps/api': 2.0.3 + '@tauri-apps/api': 2.1.0 - '@tauri-apps/plugin-shell@2.0.0-rc.1': + '@tauri-apps/plugin-shell@2.0.1': dependencies: - '@tauri-apps/api': 2.0.3 + '@tauri-apps/api': 2.1.0 '@tybys/wasm-util@0.9.0': dependencies: @@ -5055,11 +4997,6 @@ snapshots: '@typescript-eslint/types': 8.13.0 eslint-visitor-keys: 3.4.3 - '@vitejs/plugin-vue@5.1.4(vite@5.4.10(@types/node@22.8.6))(vue@3.4.38(typescript@5.6.3))': - dependencies: - vite: 5.4.10(@types/node@22.8.6) - vue: 3.4.38(typescript@5.6.3) - '@vitejs/plugin-vue@5.1.4(vite@5.4.10(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3))': dependencies: vite: 5.4.10(@types/node@22.8.6) @@ -5084,76 +5021,42 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue-macros/api@0.13.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/api@0.13.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: '@babel/types': 7.26.0 - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) oxc-resolver: 2.0.1 transitivePeerDependencies: - rollup - vue - '@vue-macros/better-define@1.11.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/better-define@1.11.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/api': 0.13.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/api': 0.13.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 transitivePeerDependencies: - rollup - vue - webpack-sources - '@vue-macros/boolean-prop@0.5.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/boolean-prop@0.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.14.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-core': 3.5.12 transitivePeerDependencies: - rollup - vue - '@vue-macros/boolean-prop@0.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/chain-call@0.4.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue/compiler-core': 3.5.12 - transitivePeerDependencies: - - rollup - - vue - - '@vue-macros/chain-call@0.4.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 transitivePeerDependencies: - rollup - vue - webpack-sources - '@vue-macros/common@1.14.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@babel/types': 7.26.0 - '@rollup/pluginutils': 5.1.3(rollup@4.24.3) - '@vue/compiler-sfc': 3.5.12 - ast-kit: 1.3.1 - local-pkg: 0.5.0 - magic-string-ast: 0.6.2 - optionalDependencies: - vue: 3.4.38(typescript@5.6.3) - transitivePeerDependencies: - - rollup - - '@vue-macros/common@1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@babel/types': 7.26.0 - '@rollup/pluginutils': 5.1.3(rollup@4.24.3) - '@vue/compiler-sfc': 3.5.12 - ast-kit: 1.3.1 - local-pkg: 0.5.0 - magic-string-ast: 0.6.2 - optionalDependencies: - vue: 3.4.38(typescript@5.6.3) - transitivePeerDependencies: - - rollup - '@vue-macros/common@1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: '@babel/types': 7.26.0 @@ -5167,19 +5070,9 @@ snapshots: transitivePeerDependencies: - rollup - '@vue-macros/config@0.4.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/config@0.5.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.14.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - make-synchronized: 0.2.9 - unconfig: 0.5.5 - transitivePeerDependencies: - - rollup - - supports-color - - vue - - '@vue-macros/config@0.5.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) make-synchronized: 0.2.9 unconfig: 0.6.0 transitivePeerDependencies: @@ -5187,77 +5080,77 @@ snapshots: - supports-color - vue - '@vue-macros/define-emit@0.5.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/define-emit@0.5.1(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/define-models@1.3.2(@vueuse/core@11.2.0(vue@3.4.38(typescript@5.6.3)))(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/define-models@1.3.2(@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) ast-walker-scope: 0.6.2 unplugin: 1.15.0 optionalDependencies: - '@vueuse/core': 11.2.0(vue@3.4.38(typescript@5.6.3)) + '@vueuse/core': 11.2.0(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - rollup - vue - webpack-sources - '@vue-macros/define-prop@0.6.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/define-prop@0.6.1(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/api': 0.13.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/api': 0.13.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/define-props-refs@1.3.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/define-props-refs@1.3.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/define-props@4.0.3(@vue-macros/reactivity-transform@1.1.3(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)))(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/define-props@4.0.3(@vue-macros/reactivity-transform@1.1.3(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)))(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/reactivity-transform': 1.1.3(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/reactivity-transform': 1.1.3(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/define-render@1.6.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/define-render@1.6.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/define-slots@1.2.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/define-slots@1.2.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/define-stylex@0.2.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/define-stylex@0.2.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-dom': 3.5.12 unplugin: 1.15.0 transitivePeerDependencies: @@ -5274,37 +5167,37 @@ snapshots: transitivePeerDependencies: - typescript - '@vue-macros/export-expose@0.3.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/export-expose@0.3.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-sfc': 3.5.12 unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/export-props@0.6.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/export-props@0.6.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/export-render@0.3.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/export-render@0.3.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/hoist-static@1.6.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/hoist-static@1.6.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 transitivePeerDependencies: - rollup @@ -5321,9 +5214,9 @@ snapshots: - typescript - webpack-sources - '@vue-macros/named-template@0.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/named-template@0.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-dom': 3.5.12 unplugin: 1.15.0 transitivePeerDependencies: @@ -5331,31 +5224,31 @@ snapshots: - vue - webpack-sources - '@vue-macros/reactivity-transform@1.1.3(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/reactivity-transform@1.1.3(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: '@babel/parser': 7.26.2 - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-core': 3.5.12 '@vue/shared': 3.5.12 magic-string: 0.30.12 unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/script-lang@0.2.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/script-lang@0.2.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - rollup - webpack-sources - '@vue-macros/setup-block@0.4.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/setup-block@0.4.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-dom': 3.5.12 unplugin: 1.15.0 transitivePeerDependencies: @@ -5363,89 +5256,56 @@ snapshots: - vue - webpack-sources - '@vue-macros/setup-component@0.18.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/setup-component@0.18.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 transitivePeerDependencies: - rollup - vue - webpack-sources - '@vue-macros/setup-sfc@0.18.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/setup-sfc@0.18.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 transitivePeerDependencies: - rollup - vue - webpack-sources - '@vue-macros/short-bind@1.1.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/short-bind@1.1.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.14.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-core': 3.5.12 transitivePeerDependencies: - rollup - vue - '@vue-macros/short-bind@1.1.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/short-emits@1.6.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue/compiler-core': 3.5.12 - transitivePeerDependencies: - - rollup - - vue - - '@vue-macros/short-emits@1.6.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 transitivePeerDependencies: - rollup - vue - webpack-sources - '@vue-macros/short-vmodel@1.5.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/short-vmodel@1.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.14.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-core': 3.5.12 transitivePeerDependencies: - rollup - vue - '@vue-macros/short-vmodel@1.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3))': + '@vue-macros/volar@0.30.5(rollup@4.24.3)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue/compiler-core': 3.5.12 - transitivePeerDependencies: - - rollup - - vue - - '@vue-macros/volar@0.30.3(rollup@4.24.3)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@vue-macros/boolean-prop': 0.5.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/common': 1.14.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/config': 0.4.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/short-bind': 1.1.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/short-vmodel': 1.5.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue/language-core': 2.1.6(typescript@5.6.3) - muggle-string: 0.4.1 - optionalDependencies: - vue-tsc: 2.1.10(typescript@5.6.3) - transitivePeerDependencies: - - rollup - - supports-color - - typescript - - vue - - '@vue-macros/volar@0.30.5(rollup@4.24.3)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@vue-macros/boolean-prop': 0.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/config': 0.5.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/short-bind': 1.1.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/short-vmodel': 1.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/boolean-prop': 0.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/config': 0.5.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/short-bind': 1.1.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/short-vmodel': 1.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue/language-core': 2.1.6(typescript@5.6.3) muggle-string: 0.4.1 optionalDependencies: @@ -5486,14 +5346,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.4.38': - dependencies: - '@babel/parser': 7.26.2 - '@vue/shared': 3.4.38 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - '@vue/compiler-core@3.5.12': dependencies: '@babel/parser': 7.26.2 @@ -5502,28 +5354,11 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.4.38': - dependencies: - '@vue/compiler-core': 3.4.38 - '@vue/shared': 3.4.38 - '@vue/compiler-dom@3.5.12': dependencies: '@vue/compiler-core': 3.5.12 '@vue/shared': 3.5.12 - '@vue/compiler-sfc@3.4.38': - dependencies: - '@babel/parser': 7.26.2 - '@vue/compiler-core': 3.4.38 - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - estree-walker: 2.0.2 - magic-string: 0.30.12 - postcss: 8.4.47 - source-map-js: 1.2.1 - '@vue/compiler-sfc@3.5.12': dependencies: '@babel/parser': 7.26.2 @@ -5536,11 +5371,6 @@ snapshots: postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.4.38': - dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/shared': 3.4.38 - '@vue/compiler-ssr@3.5.12': dependencies: '@vue/compiler-dom': 3.5.12 @@ -5553,7 +5383,7 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-core@7.6.3(vite@5.4.10(@types/node@22.8.6))(vue@3.4.38(typescript@5.6.3))': + '@vue/devtools-core@7.6.3(vite@5.4.10(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3))': dependencies: '@vue/devtools-kit': 7.6.3 '@vue/devtools-shared': 7.6.3 @@ -5561,7 +5391,7 @@ snapshots: nanoid: 3.3.7 pathe: 1.1.2 vite-hot-client: 0.2.3(vite@5.4.10(@types/node@22.8.6)) - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - vite @@ -5605,31 +5435,15 @@ snapshots: optionalDependencies: typescript: 5.6.3 - '@vue/reactivity@3.4.38': - dependencies: - '@vue/shared': 3.4.38 - '@vue/reactivity@3.5.12': dependencies: '@vue/shared': 3.5.12 - '@vue/runtime-core@3.4.38': - dependencies: - '@vue/reactivity': 3.4.38 - '@vue/shared': 3.4.38 - '@vue/runtime-core@3.5.12': dependencies: '@vue/reactivity': 3.5.12 '@vue/shared': 3.5.12 - '@vue/runtime-dom@3.4.38': - dependencies: - '@vue/reactivity': 3.4.38 - '@vue/runtime-core': 3.4.38 - '@vue/shared': 3.4.38 - csstype: 3.1.3 - '@vue/runtime-dom@3.5.12': dependencies: '@vue/reactivity': 3.5.12 @@ -5637,32 +5451,14 @@ snapshots: '@vue/shared': 3.5.12 csstype: 3.1.3 - '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - vue: 3.4.38(typescript@5.6.3) - '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))': dependencies: '@vue/compiler-ssr': 3.5.12 '@vue/shared': 3.5.12 vue: 3.5.12(typescript@5.6.3) - '@vue/shared@3.4.38': {} - '@vue/shared@3.5.12': {} - '@vueuse/core@11.2.0(vue@3.4.38(typescript@5.6.3))': - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 11.2.0 - '@vueuse/shared': 11.2.0(vue@3.4.38(typescript@5.6.3)) - vue-demi: 0.14.10(vue@3.4.38(typescript@5.6.3)) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - '@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3))': dependencies: '@types/web-bluetooth': 0.0.20 @@ -5675,13 +5471,6 @@ snapshots: '@vueuse/metadata@11.2.0': {} - '@vueuse/shared@11.2.0(vue@3.4.38(typescript@5.6.3))': - dependencies: - vue-demi: 0.14.10(vue@3.4.38(typescript@5.6.3)) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - '@vueuse/shared@11.2.0(vue@3.5.12(typescript@5.6.3))': dependencies: vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) @@ -5819,9 +5608,9 @@ snapshots: dependencies: run-applescript: 7.0.0 - bundle-require@5.0.0(esbuild@0.21.5): + bundle-require@5.0.0(esbuild@0.23.1): dependencies: - esbuild: 0.21.5 + esbuild: 0.23.1 load-tsconfig: 0.2.5 callsites@3.1.0: {} @@ -6444,6 +6233,12 @@ snapshots: flatted@3.3.1: {} + floating-vue@5.2.2(vue@3.5.12(typescript@5.6.3)): + dependencies: + '@floating-ui/dom': 1.1.1 + vue: 3.5.12(typescript@5.6.3) + vue-resize: 2.0.0-alpha.1(vue@3.5.12(typescript@5.6.3)) + follow-redirects@1.15.9: {} foreground-child@3.3.0: @@ -6564,23 +6359,11 @@ snapshots: import-lazy@4.0.0: {} - importx@0.4.4: - dependencies: - bundle-require: 5.0.0(esbuild@0.21.5) - debug: 4.3.7 - esbuild: 0.21.5 - jiti: 2.0.0-beta.3 - jiti-v1: jiti@1.21.6 - pathe: 1.1.2 - tsx: 4.19.2 - transitivePeerDependencies: - - supports-color - importx@0.5.0: dependencies: - bundle-require: 5.0.0(esbuild@0.21.5) + bundle-require: 5.0.0(esbuild@0.23.1) debug: 4.3.7 - esbuild: 0.21.5 + esbuild: 0.23.1 jiti: 2.4.0 pathe: 1.1.2 tsx: 4.19.2 @@ -6661,8 +6444,6 @@ snapshots: jiti@1.21.6: {} - jiti@2.0.0-beta.3: {} - jiti@2.4.0: {} jju@1.4.0: {} @@ -7279,11 +7060,11 @@ snapshots: pify@2.3.0: {} - pinia@2.2.6(typescript@5.6.3)(vue@3.4.38(typescript@5.6.3)): + pinia@2.2.6(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.4.38(typescript@5.6.3) - vue-demi: 0.14.10(vue@3.4.38(typescript@5.6.3)) + vue: 3.5.12(typescript@5.6.3) + vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) optionalDependencies: typescript: 5.6.3 @@ -7359,19 +7140,8 @@ snapshots: prettier@3.3.3: {} - primeflex@3.3.1: {} - primeicons@7.0.0: {} - primevue@4.2.1(vue@3.4.38(typescript@5.6.3)): - dependencies: - '@primeuix/styled': 0.3.0 - '@primeuix/utils': 0.3.0 - '@primevue/core': 4.2.1(vue@3.4.38(typescript@5.6.3)) - '@primevue/icons': 4.2.1(vue@3.4.38(typescript@5.6.3)) - transitivePeerDependencies: - - vue - primevue@4.2.1(vue@3.5.12(typescript@5.6.3)): dependencies: '@primeuix/styled': 0.3.0 @@ -7726,14 +7496,6 @@ snapshots: ufo@1.5.4: {} - unconfig@0.5.5: - dependencies: - '@antfu/utils': 0.7.10 - defu: 6.1.4 - importx: 0.4.4 - transitivePeerDependencies: - - supports-color - unconfig@0.6.0: dependencies: '@antfu/utils': 0.7.10 @@ -7786,7 +7548,7 @@ snapshots: universalify@2.0.1: {} - unplugin-auto-import@0.18.3(@vueuse/core@11.2.0(vue@3.4.38(typescript@5.6.3)))(rollup@4.24.3): + unplugin-auto-import@0.18.3(@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.24.3): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.24.3) @@ -7797,23 +7559,23 @@ snapshots: unimport: 3.13.1(rollup@4.24.3) unplugin: 1.15.0 optionalDependencies: - '@vueuse/core': 11.2.0(vue@3.4.38(typescript@5.6.3)) + '@vueuse/core': 11.2.0(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - rollup - webpack-sources - unplugin-combine@1.0.3(esbuild@0.21.5)(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6)): + unplugin-combine@1.0.3(esbuild@0.23.1)(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6)): dependencies: '@antfu/utils': 0.7.10 unplugin: 1.15.0 optionalDependencies: - esbuild: 0.21.5 + esbuild: 0.23.1 rollup: 4.24.3 vite: 5.4.10(@types/node@22.8.6) transitivePeerDependencies: - webpack-sources - unplugin-vue-components@0.27.4(@babel/parser@7.26.2)(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)): + unplugin-vue-components@0.27.4(@babel/parser@7.26.2)(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.24.3) @@ -7825,7 +7587,7 @@ snapshots: minimatch: 9.0.5 mlly: 1.7.2 unplugin: 1.15.0 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) optionalDependencies: '@babel/parser': 7.26.2 transitivePeerDependencies: @@ -7833,9 +7595,9 @@ snapshots: - supports-color - webpack-sources - unplugin-vue-define-options@1.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)): + unplugin-vue-define-options@1.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)): dependencies: - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) ast-walker-scope: 0.6.2 unplugin: 1.15.0 transitivePeerDependencies: @@ -7843,41 +7605,41 @@ snapshots: - vue - webpack-sources - unplugin-vue-macros@2.13.3(@vueuse/core@11.2.0(vue@3.4.38(typescript@5.6.3)))(esbuild@0.21.5)(rollup@4.24.3)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.6))(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.4.38(typescript@5.6.3)): + unplugin-vue-macros@2.13.3(@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3)))(esbuild@0.23.1)(rollup@4.24.3)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.6))(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.12(typescript@5.6.3)): dependencies: - '@vue-macros/better-define': 1.11.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/boolean-prop': 0.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/chain-call': 0.4.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/config': 0.5.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/define-emit': 0.5.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/define-models': 1.3.2(@vueuse/core@11.2.0(vue@3.4.38(typescript@5.6.3)))(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/define-prop': 0.6.1(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/define-props': 4.0.3(@vue-macros/reactivity-transform@1.1.3(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)))(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/define-props-refs': 1.3.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/define-render': 1.6.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/define-slots': 1.2.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/define-stylex': 0.2.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/better-define': 1.11.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/boolean-prop': 0.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/chain-call': 0.4.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/config': 0.5.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/define-emit': 0.5.1(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/define-models': 1.3.2(@vueuse/core@11.2.0(vue@3.5.12(typescript@5.6.3)))(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/define-prop': 0.6.1(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/define-props': 4.0.3(@vue-macros/reactivity-transform@1.1.3(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)))(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/define-props-refs': 1.3.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/define-render': 1.6.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/define-slots': 1.2.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/define-stylex': 0.2.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue-macros/devtools': 0.4.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.6)) - '@vue-macros/export-expose': 0.3.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/export-props': 0.6.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/export-render': 0.3.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/hoist-static': 1.6.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/export-expose': 0.3.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/export-props': 0.6.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/export-render': 0.3.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/hoist-static': 1.6.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) '@vue-macros/jsx-directive': 0.9.2(rollup@4.24.3)(typescript@5.6.3) - '@vue-macros/named-template': 0.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/reactivity-transform': 1.1.3(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/script-lang': 0.2.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/setup-block': 0.4.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/setup-component': 0.18.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/setup-sfc': 0.18.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/short-bind': 1.1.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/short-emits': 1.6.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/short-vmodel': 1.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - '@vue-macros/volar': 0.30.5(rollup@4.24.3)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/named-template': 0.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/reactivity-transform': 1.1.3(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/script-lang': 0.2.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/setup-block': 0.4.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/setup-component': 0.18.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/setup-sfc': 0.18.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/short-bind': 1.1.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/short-emits': 1.6.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/short-vmodel': 1.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + '@vue-macros/volar': 0.30.5(rollup@4.24.3)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3))(vue@3.5.12(typescript@5.6.3)) unplugin: 1.15.0 - unplugin-combine: 1.0.3(esbuild@0.21.5)(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6)) - unplugin-vue-define-options: 1.5.2(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) - vue: 3.4.38(typescript@5.6.3) + unplugin-combine: 1.0.3(esbuild@0.23.1)(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6)) + unplugin-vue-define-options: 1.5.2(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - '@rspack/core' - '@vueuse/core' @@ -7905,11 +7667,11 @@ snapshots: - rollup - webpack-sources - unplugin-vue-router@0.10.8(rollup@4.24.3)(vue-router@4.4.5(vue@3.4.38(typescript@5.6.3)))(vue@3.4.38(typescript@5.6.3)): + unplugin-vue-router@0.10.8(rollup@4.24.3)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)): dependencies: '@babel/types': 7.26.0 '@rollup/pluginutils': 5.1.3(rollup@4.24.3) - '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.4.38(typescript@5.6.3)) + '@vue-macros/common': 1.15.0(rollup@4.24.3)(vue@3.5.12(typescript@5.6.3)) ast-walker-scope: 0.6.2 chokidar: 3.6.0 fast-glob: 3.3.2 @@ -7922,7 +7684,7 @@ snapshots: unplugin: 1.15.0 yaml: 2.6.0 optionalDependencies: - vue-router: 4.4.5(vue@3.4.38(typescript@5.6.3)) + vue-router: 4.4.5(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - rollup - vue @@ -7999,9 +7761,9 @@ snapshots: rollup: 4.24.3 vite: 5.4.10(@types/node@22.8.6) - vite-plugin-vue-devtools@7.6.3(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6))(vue@3.4.38(typescript@5.6.3)): + vite-plugin-vue-devtools@7.6.3(rollup@4.24.3)(vite@5.4.10(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3)): dependencies: - '@vue/devtools-core': 7.6.3(vite@5.4.10(@types/node@22.8.6))(vue@3.4.38(typescript@5.6.3)) + '@vue/devtools-core': 7.6.3(vite@5.4.10(@types/node@22.8.6))(vue@3.5.12(typescript@5.6.3)) '@vue/devtools-kit': 7.6.3 '@vue/devtools-shared': 7.6.3 execa: 8.0.1 @@ -8030,13 +7792,13 @@ snapshots: transitivePeerDependencies: - supports-color - vite-plugin-vue-layouts@0.11.0(vite@5.4.10(@types/node@22.8.6))(vue-router@4.4.5(vue@3.4.38(typescript@5.6.3)))(vue@3.4.38(typescript@5.6.3)): + vite-plugin-vue-layouts@0.11.0(vite@5.4.10(@types/node@22.8.6))(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)): dependencies: debug: 4.3.7 fast-glob: 3.3.2 vite: 5.4.10(@types/node@22.8.6) - vue: 3.4.38(typescript@5.6.3) - vue-router: 4.4.5(vue@3.4.38(typescript@5.6.3)) + vue: 3.5.12(typescript@5.6.3) + vue-router: 4.4.5(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - supports-color @@ -8051,10 +7813,6 @@ snapshots: vscode-uri@3.0.8: {} - vue-demi@0.14.10(vue@3.4.38(typescript@5.6.3)): - dependencies: - vue: 3.4.38(typescript@5.6.3) - vue-demi@0.14.10(vue@3.5.12(typescript@5.6.3)): dependencies: vue: 3.5.12(typescript@5.6.3) @@ -8072,13 +7830,6 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@10.0.4(vue@3.4.38(typescript@5.6.3)): - dependencies: - '@intlify/core-base': 10.0.4 - '@intlify/shared': 10.0.4 - '@vue/devtools-api': 6.6.4 - vue: 3.4.38(typescript@5.6.3) - vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)): dependencies: '@intlify/core-base': 10.0.4 @@ -8086,10 +7837,14 @@ snapshots: '@vue/devtools-api': 6.6.4 vue: 3.5.12(typescript@5.6.3) - vue-router@4.4.5(vue@3.4.38(typescript@5.6.3)): + vue-resize@2.0.0-alpha.1(vue@3.5.12(typescript@5.6.3)): + dependencies: + vue: 3.5.12(typescript@5.6.3) + + vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.4.38(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) vue-tsc@2.1.10(typescript@5.6.3): dependencies: @@ -8098,16 +7853,6 @@ snapshots: semver: 7.6.3 typescript: 5.6.3 - vue@3.4.38(typescript@5.6.3): - dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-sfc': 3.4.38 - '@vue/runtime-dom': 3.4.38 - '@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.6.3)) - '@vue/shared': 3.4.38 - optionalDependencies: - typescript: 5.6.3 - vue@3.5.12(typescript@5.6.3): dependencies: '@vue/compiler-dom': 3.5.12 diff --git a/tauri-plugin-vpnservice/permissions/autogenerated/reference.md b/tauri-plugin-vpnservice/permissions/autogenerated/reference.md index 7bdcab9..a3fd610 100644 --- a/tauri-plugin-vpnservice/permissions/autogenerated/reference.md +++ b/tauri-plugin-vpnservice/permissions/autogenerated/reference.md @@ -5,7 +5,7 @@ Default permissions for the plugin - `allow-ping` - `allow-start-vpn` -### Permission Table +## Permission Table diff --git a/tauri-plugin-vpnservice/permissions/schemas/schema.json b/tauri-plugin-vpnservice/permissions/schemas/schema.json index 6bdf431..ac751d3 100644 --- a/tauri-plugin-vpnservice/permissions/schemas/schema.json +++ b/tauri-plugin-vpnservice/permissions/schemas/schema.json @@ -295,81 +295,59 @@ "type": "string", "oneOf": [ { - "description": "allow-ping -> Enables the ping command without any pre-configured scope.", + "description": "Enables the ping command without any pre-configured scope.", "type": "string", - "enum": [ - "allow-ping" - ] + "const": "allow-ping" }, { - "description": "deny-ping -> Denies the ping command without any pre-configured scope.", + "description": "Denies the ping command without any pre-configured scope.", "type": "string", - "enum": [ - "deny-ping" - ] + "const": "deny-ping" }, { - "description": "allow-prepare-vpn -> Enables the prepare_vpn command without any pre-configured scope.", + "description": "Enables the prepare_vpn command without any pre-configured scope.", "type": "string", - "enum": [ - "allow-prepare-vpn" - ] + "const": "allow-prepare-vpn" }, { - "description": "deny-prepare-vpn -> Denies the prepare_vpn command without any pre-configured scope.", + "description": "Denies the prepare_vpn command without any pre-configured scope.", "type": "string", - "enum": [ - "deny-prepare-vpn" - ] + "const": "deny-prepare-vpn" }, { - "description": "allow-register-listener -> Enables the register_listener command without any pre-configured scope.", + "description": "Enables the register_listener command without any pre-configured scope.", "type": "string", - "enum": [ - "allow-register-listener" - ] + "const": "allow-register-listener" }, { - "description": "deny-register-listener -> Denies the register_listener command without any pre-configured scope.", + "description": "Denies the register_listener command without any pre-configured scope.", "type": "string", - "enum": [ - "deny-register-listener" - ] + "const": "deny-register-listener" }, { - "description": "allow-start-vpn -> Enables the start_vpn command without any pre-configured scope.", + "description": "Enables the start_vpn command without any pre-configured scope.", "type": "string", - "enum": [ - "allow-start-vpn" - ] + "const": "allow-start-vpn" }, { - "description": "deny-start-vpn -> Denies the start_vpn command without any pre-configured scope.", + "description": "Denies the start_vpn command without any pre-configured scope.", "type": "string", - "enum": [ - "deny-start-vpn" - ] + "const": "deny-start-vpn" }, { - "description": "allow-stop-vpn -> Enables the stop_vpn command without any pre-configured scope.", + "description": "Enables the stop_vpn command without any pre-configured scope.", "type": "string", - "enum": [ - "allow-stop-vpn" - ] + "const": "allow-stop-vpn" }, { - "description": "deny-stop-vpn -> Denies the stop_vpn command without any pre-configured scope.", + "description": "Denies the stop_vpn command without any pre-configured scope.", "type": "string", - "enum": [ - "deny-stop-vpn" - ] + "const": "deny-stop-vpn" }, { - "description": "default -> Default permissions for the plugin", + "description": "Default permissions for the plugin", "type": "string", - "enum": [ - "default" - ] + "const": "default" } ] }