From f70e924cc340eeea19441f95b83a54a0a6430600 Mon Sep 17 00:00:00 2001 From: haex Date: Wed, 22 Oct 2025 15:05:36 +0200 Subject: [PATCH] refatored rust sql and drizzle --- package.json | 55 +- pnpm-lock.yaml | 3905 +++++++++-------- .../migrations/0006_gigantic_bloodaxe.sql | 3 + .../migrations/meta/0006_snapshot.json | 1083 +++++ .../database/migrations/meta/_journal.json | 7 + src-tauri/database/schemas/haex.ts | 30 +- src-tauri/database/vault.db | Bin 155648 -> 159744 bytes .../app/src/main/assets/database/vault.db | Bin 151552 -> 155648 bytes src-tauri/src/crdt/insert_transformer.rs | 88 +- src-tauri/src/crdt/mod.rs | 2 +- src-tauri/src/crdt/query_transformer.rs | 515 --- src-tauri/src/crdt/transformer.rs | 528 ++- src-tauri/src/database/core.rs | 64 +- src-tauri/src/database/mod.rs | 26 +- src-tauri/src/extension/core/manager.rs | 57 +- src-tauri/src/extension/database/executor.rs | 51 +- src-tauri/src/extension/database/mod.rs | 9 - src/assets/css/main.css | 9 +- src/components/haex/desktop/index.vue | 7 +- src/layouts/app.vue | 76 +- src/pages/index.vue | 37 +- src/pages/vault.vue | 5 +- src/stores/desktop/windowManager.ts | 3 +- src/stores/ui/index.ts | 4 +- src/stores/vault/index.ts | 75 +- src/stores/vault/lastVaults.ts | 71 +- src/stores/vault/settings.ts | 5 +- 27 files changed, 3968 insertions(+), 2747 deletions(-) create mode 100644 src-tauri/database/migrations/0006_gigantic_bloodaxe.sql create mode 100644 src-tauri/database/migrations/meta/0006_snapshot.json delete mode 100644 src-tauri/src/crdt/query_transformer.rs diff --git a/package.json b/package.json index d292d6e..9f2f0ce 100644 --- a/package.json +++ b/package.json @@ -23,46 +23,47 @@ "@nuxt/icon": "2.0.0", "@nuxt/ui": "4.0.0", "@nuxtjs/i18n": "10.0.6", - "@pinia/nuxt": "^0.11.1", - "@tailwindcss/vite": "^4.1.10", - "@tauri-apps/api": "^2.5.0", - "@tauri-apps/plugin-dialog": "^2.2.2", - "@tauri-apps/plugin-fs": "^2.3.0", + "@pinia/nuxt": "^0.11.2", + "@tailwindcss/vite": "^4.1.15", + "@tauri-apps/api": "^2.9.0", + "@tauri-apps/plugin-dialog": "^2.4.0", + "@tauri-apps/plugin-fs": "^2.4.2", "@tauri-apps/plugin-http": "2.5.2", "@tauri-apps/plugin-notification": "2.3.1", - "@tauri-apps/plugin-opener": "^2.3.0", - "@tauri-apps/plugin-os": "^2.2.2", + "@tauri-apps/plugin-opener": "^2.5.0", + "@tauri-apps/plugin-os": "^2.3.1", "@tauri-apps/plugin-sql": "2.3.0", - "@tauri-apps/plugin-store": "^2.2.1", + "@tauri-apps/plugin-store": "^2.4.0", "@vueuse/components": "^13.9.0", - "@vueuse/core": "^13.4.0", + "@vueuse/core": "^13.9.0", "@vueuse/gesture": "^2.0.0", - "@vueuse/nuxt": "^13.4.0", - "drizzle-orm": "^0.44.2", - "eslint": "^9.34.0", + "@vueuse/nuxt": "^13.9.0", + "drizzle-orm": "^0.44.6", + "eslint": "^9.38.0", "fuse.js": "^7.1.0", - "nuxt": "^4.0.3", - "nuxt-zod-i18n": "^1.12.0", - "swiper": "^12.0.2", - "tailwindcss": "^4.1.10", - "vue": "^3.5.20", - "vue-router": "^4.5.1", - "zod": "4.1.5" + "nuxt": "^4.1.3", + "nuxt-zod-i18n": "^1.12.1", + "swiper": "^12.0.3", + "tailwindcss": "^4.1.15", + "vue": "^3.5.22", + "vue-router": "^4.6.3", + "zod": "^3.25.76" }, "devDependencies": { - "@iconify/json": "^2.2.351", + "@iconify-json/hugeicons": "^1.2.17", + "@iconify/json": "^2.2.398", "@iconify/tailwind4": "^1.0.6", "@libsql/client": "^0.15.15", - "@tauri-apps/cli": "^2.5.0", - "@types/node": "^24.6.2", + "@tauri-apps/cli": "^2.9.0", + "@types/node": "^24.9.1", "@vitejs/plugin-vue": "6.0.1", - "@vue/compiler-sfc": "^3.5.17", - "drizzle-kit": "^0.31.2", - "globals": "^16.2.0", + "@vue/compiler-sfc": "^3.5.22", + "drizzle-kit": "^0.31.5", + "globals": "^16.4.0", "prettier": "3.6.2", "tsx": "^4.20.6", - "tw-animate-css": "^1.3.8", - "typescript": "^5.8.3", + "tw-animate-css": "^1.4.0", + "typescript": "^5.9.3", "vite": "7.1.3", "vue-tsc": "3.0.6" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b610f39..b3c5542 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,33 +13,33 @@ importers: dependencies: '@nuxt/eslint': specifier: 1.9.0 - version: 1.9.0(@typescript-eslint/utils@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(@vue/compiler-sfc@3.5.21)(eslint@9.35.0(jiti@2.5.1))(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 1.9.0(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@2.6.1))(magicast@0.3.5)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@nuxt/fonts': specifier: 0.11.4 - version: 0.11.4(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.7.0)(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 0.11.4(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2)(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@nuxt/icon': specifier: 2.0.0 - version: 2.0.0(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) + version: 2.0.0(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) '@nuxt/ui': specifier: 4.0.0 - version: 4.0.0(@babel/parser@7.28.4)(change-case@5.4.4)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(embla-carousel@8.6.0)(ioredis@5.7.0)(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) + version: 4.0.0(@babel/parser@7.28.4)(change-case@5.4.4)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(embla-carousel@8.6.0)(ioredis@5.8.2)(magicast@0.3.5)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))(zod@3.25.76) '@nuxtjs/i18n': specifier: 10.0.6 - version: 10.0.6(@vue/compiler-dom@3.5.21)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(eslint@9.35.0(jiti@2.5.1))(ioredis@5.7.0)(magicast@0.3.5)(rollup@4.50.1)(vue@3.5.21(typescript@5.9.2)) + version: 10.0.6(@vue/compiler-dom@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(eslint@9.38.0(jiti@2.6.1))(ioredis@5.8.2)(magicast@0.3.5)(rollup@4.52.5)(vue@3.5.22(typescript@5.9.3)) '@pinia/nuxt': - specifier: ^0.11.1 - version: 0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2))) + specifier: ^0.11.2 + version: 0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3))) '@tailwindcss/vite': - specifier: ^4.1.10 - version: 4.1.13(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + specifier: ^4.1.15 + version: 4.1.15(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@tauri-apps/api': - specifier: ^2.5.0 - version: 2.8.0 + specifier: ^2.9.0 + version: 2.9.0 '@tauri-apps/plugin-dialog': - specifier: ^2.2.2 + specifier: ^2.4.0 version: 2.4.0 '@tauri-apps/plugin-fs': - specifier: ^2.3.0 + specifier: ^2.4.2 version: 2.4.2 '@tauri-apps/plugin-http': specifier: 2.5.2 @@ -48,87 +48,90 @@ importers: specifier: 2.3.1 version: 2.3.1 '@tauri-apps/plugin-opener': - specifier: ^2.3.0 + specifier: ^2.5.0 version: 2.5.0 '@tauri-apps/plugin-os': - specifier: ^2.2.2 + specifier: ^2.3.1 version: 2.3.1 '@tauri-apps/plugin-sql': specifier: 2.3.0 version: 2.3.0 '@tauri-apps/plugin-store': - specifier: ^2.2.1 + specifier: ^2.4.0 version: 2.4.0 '@vueuse/components': specifier: ^13.9.0 - version: 13.9.0(vue@3.5.21(typescript@5.9.2)) + version: 13.9.0(vue@3.5.22(typescript@5.9.3)) '@vueuse/core': - specifier: ^13.4.0 - version: 13.9.0(vue@3.5.21(typescript@5.9.2)) + specifier: ^13.9.0 + version: 13.9.0(vue@3.5.22(typescript@5.9.3)) '@vueuse/gesture': specifier: ^2.0.0 - version: 2.0.0(vue@3.5.21(typescript@5.9.2)) + version: 2.0.0(vue@3.5.22(typescript@5.9.3)) '@vueuse/nuxt': - specifier: ^13.4.0 - version: 13.9.0(magicast@0.3.5)(nuxt@4.1.1(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.21)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.35.0(jiti@2.5.1))(ioredis@5.7.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.1)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.2))(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) + specifier: ^13.9.0 + version: 13.9.0(magicast@0.3.5)(nuxt@4.1.3(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.9.1)(@vue/compiler-sfc@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.38.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.3))(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) drizzle-orm: - specifier: ^0.44.2 - version: 0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0) + specifier: ^0.44.6 + version: 0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0) eslint: - specifier: ^9.34.0 - version: 9.35.0(jiti@2.5.1) + specifier: ^9.38.0 + version: 9.38.0(jiti@2.6.1) fuse.js: specifier: ^7.1.0 version: 7.1.0 nuxt: - specifier: ^4.0.3 - version: 4.1.1(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.21)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.35.0(jiti@2.5.1))(ioredis@5.7.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.1)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.2))(yaml@2.8.1) + specifier: ^4.1.3 + version: 4.1.3(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.9.1)(@vue/compiler-sfc@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.38.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.3))(yaml@2.8.1) nuxt-zod-i18n: - specifier: ^1.12.0 + specifier: ^1.12.1 version: 1.12.1(magicast@0.3.5) swiper: - specifier: ^12.0.2 - version: 12.0.2 + specifier: ^12.0.3 + version: 12.0.3 tailwindcss: - specifier: ^4.1.10 - version: 4.1.13 + specifier: ^4.1.15 + version: 4.1.15 vue: - specifier: ^3.5.20 - version: 3.5.21(typescript@5.9.2) + specifier: ^3.5.22 + version: 3.5.22(typescript@5.9.3) vue-router: - specifier: ^4.5.1 - version: 4.5.1(vue@3.5.21(typescript@5.9.2)) + specifier: ^4.6.3 + version: 4.6.3(vue@3.5.22(typescript@5.9.3)) zod: - specifier: ^3.22.4 + specifier: ^3.25.76 version: 3.25.76 devDependencies: + '@iconify-json/hugeicons': + specifier: ^1.2.17 + version: 1.2.17 '@iconify/json': - specifier: ^2.2.351 - version: 2.2.382 + specifier: ^2.2.398 + version: 2.2.398 '@iconify/tailwind4': specifier: ^1.0.6 - version: 1.0.6(tailwindcss@4.1.13) + version: 1.0.6(tailwindcss@4.1.15) '@libsql/client': specifier: ^0.15.15 version: 0.15.15 '@tauri-apps/cli': - specifier: ^2.5.0 - version: 2.8.4 + specifier: ^2.9.0 + version: 2.9.0 '@types/node': - specifier: ^24.6.2 - version: 24.6.2 + specifier: ^24.9.1 + version: 24.9.1 '@vitejs/plugin-vue': specifier: 6.0.1 - version: 6.0.1(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) + version: 6.0.1(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) '@vue/compiler-sfc': - specifier: ^3.5.17 - version: 3.5.21 + specifier: ^3.5.22 + version: 3.5.22 drizzle-kit: - specifier: ^0.31.2 - version: 0.31.4 + specifier: ^0.31.5 + version: 0.31.5 globals: - specifier: ^16.2.0 - version: 16.3.0 + specifier: ^16.4.0 + version: 16.4.0 prettier: specifier: 3.6.2 version: 3.6.2 @@ -136,28 +139,28 @@ importers: specifier: ^4.20.6 version: 4.20.6 tw-animate-css: - specifier: ^1.3.8 - version: 1.3.8 + specifier: ^1.4.0 + version: 1.4.0 typescript: - specifier: ^5.8.3 - version: 5.9.2 + specifier: ^5.9.3 + version: 5.9.3 vite: specifier: 7.1.3 - version: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: 3.0.6 - version: 3.0.6(typescript@5.9.2) + version: 3.0.6(typescript@5.9.3) packages: - '@ai-sdk/gateway@1.0.28': - resolution: {integrity: sha512-e9RKgWVDYHsd4UkKCgKQpK+nxLSDydN18yXctzgNlmf2R7BR+HqUsTKJdZT6ArSoXBWBGhyZss0cJJnpm6YVfw==} + '@ai-sdk/gateway@2.0.0': + resolution: {integrity: sha512-Gj0PuawK7NkZuyYgO/h5kDK/l6hFOjhLdTq3/Lli1FTl47iGmwhH1IZQpAL3Z09BeFYWakcwUmn02ovIm2wy9g==} engines: {node: '>=18'} peerDependencies: zod: ^3.22.4 - '@ai-sdk/provider-utils@3.0.9': - resolution: {integrity: sha512-Pm571x5efqaI4hf9yW4KsVlDBDme8++UepZRnq+kqVBWWjgvGhQlzU8glaFq0YJEB9kkxZHbRRyVeHoV2sRYaQ==} + '@ai-sdk/provider-utils@3.0.12': + resolution: {integrity: sha512-ZtbdvYxdMoria+2SlNarEk6Hlgyf+zzcznlD55EAl+7VZvJaSg2sqPvwArY7L6TfDEDJsnCq0fdhBSkYo0Xqdg==} engines: {node: '>=18'} peerDependencies: zod: ^3.22.4 @@ -166,8 +169,8 @@ packages: resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} engines: {node: '>=18'} - '@ai-sdk/vue@2.0.51': - resolution: {integrity: sha512-pA2r/R0IMqgm7pTPfsmkXIss8g+amQ0cZfgEXq4v91FiTQedpNBcyPwHsx6rWiPV25zPGXMcXJCw+ah4TshaCw==} + '@ai-sdk/vue@2.0.76': + resolution: {integrity: sha512-y9aNvzqWqi6P1v/GjrGtcWMA8HiO1Sp5S2Sp5teXyrsucssYqP35dGZMJfvh7+cDuW3BNHTEFPGkxIsbxOTAkQ==} engines: {node: '>=18'} peerDependencies: vue: ^3.3.4 @@ -188,11 +191,11 @@ packages: '@antfu/utils@8.1.1': resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - '@antfu/utils@9.2.0': - resolution: {integrity: sha512-Oq1d9BGZakE/FyoEtcNeSwM7MpDO2vUBi11RWBZXf75zPsbUVWmUs03EqkRFrcgbXyKTas0BdZWC1wcuSoqSAw==} + '@antfu/utils@9.3.0': + resolution: {integrity: sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA==} - '@apidevtools/json-schema-ref-parser@14.2.0': - resolution: {integrity: sha512-NaGMMWwppbByagq+LwQMq6PMXHFWVu6kSwwx+eJfYTJ5zdpOvb9TIk6ZWxEEeXMUvGdVOZq3JalYsjsTZDvtkA==} + '@apidevtools/json-schema-ref-parser@14.2.1': + resolution: {integrity: sha512-HmdFw9CDYqM6B25pqGBpNeLCKvGPlIx1EbLrVL0zPvj50CJQUHyBNBw45Muk0kEIkogo1VZvOKHajdMuAzSxRg==} engines: {node: '>= 20'} peerDependencies: '@types/json-schema': ^7.0.15 @@ -333,11 +336,11 @@ packages: '@drizzle-team/brocli@0.10.2': resolution: {integrity: sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==} - '@emnapi/core@1.5.0': - resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==} + '@emnapi/core@1.6.0': + resolution: {integrity: sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg==} - '@emnapi/runtime@1.5.0': - resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==} + '@emnapi/runtime@1.6.0': + resolution: {integrity: sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==} '@emnapi/wasi-threads@1.1.0': resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} @@ -354,8 +357,8 @@ packages: resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} deprecated: 'Merged into tsx: https://tsx.is' - '@esbuild/aix-ppc64@0.25.9': - resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} + '@esbuild/aix-ppc64@0.25.11': + resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -366,8 +369,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.9': - resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} + '@esbuild/android-arm64@0.25.11': + resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -378,8 +381,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.9': - resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} + '@esbuild/android-arm@0.25.11': + resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -390,8 +393,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.9': - resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} + '@esbuild/android-x64@0.25.11': + resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -402,8 +405,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.9': - resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} + '@esbuild/darwin-arm64@0.25.11': + resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -414,8 +417,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.9': - resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} + '@esbuild/darwin-x64@0.25.11': + resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -426,8 +429,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.9': - resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} + '@esbuild/freebsd-arm64@0.25.11': + resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -438,8 +441,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.9': - resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} + '@esbuild/freebsd-x64@0.25.11': + resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -450,8 +453,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.9': - resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} + '@esbuild/linux-arm64@0.25.11': + resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -462,8 +465,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.9': - resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} + '@esbuild/linux-arm@0.25.11': + resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -474,8 +477,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.9': - resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} + '@esbuild/linux-ia32@0.25.11': + resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -486,8 +489,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.9': - resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} + '@esbuild/linux-loong64@0.25.11': + resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -498,8 +501,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.9': - resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} + '@esbuild/linux-mips64el@0.25.11': + resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -510,8 +513,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.9': - resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} + '@esbuild/linux-ppc64@0.25.11': + resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -522,8 +525,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.9': - resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} + '@esbuild/linux-riscv64@0.25.11': + resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -534,8 +537,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.9': - resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} + '@esbuild/linux-s390x@0.25.11': + resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -546,14 +549,14 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.9': - resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} + '@esbuild/linux-x64@0.25.11': + resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.9': - resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} + '@esbuild/netbsd-arm64@0.25.11': + resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -564,14 +567,14 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.9': - resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} + '@esbuild/netbsd-x64@0.25.11': + resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.9': - resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} + '@esbuild/openbsd-arm64@0.25.11': + resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -582,14 +585,14 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.9': - resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} + '@esbuild/openbsd-x64@0.25.11': + resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.9': - resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + '@esbuild/openharmony-arm64@0.25.11': + resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -600,8 +603,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.9': - resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} + '@esbuild/sunos-x64@0.25.11': + resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -612,8 +615,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.9': - resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} + '@esbuild/win32-arm64@0.25.11': + resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -624,8 +627,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.9': - resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} + '@esbuild/win32-ia32@0.25.11': + resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -636,8 +639,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.9': - resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} + '@esbuild/win32-x64@0.25.11': + resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -648,12 +651,12 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.3.2': - resolution: {integrity: sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==} + '@eslint/compat@1.4.0': + resolution: {integrity: sha512-DEzm5dKeDBPm3r08Ixli/0cmxr8LkRdwxMRUIJBlSCpAwSrvFEJpVBzV+66JhDxiaqKxnRzCXhtiMiczF7Hglg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.40 || 9 @@ -661,16 +664,16 @@ packages: eslint: optional: true - '@eslint/config-array@0.21.0': - resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.3.1': - resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==} + '@eslint/config-helpers@0.4.1': + resolution: {integrity: sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-inspector@1.2.0': - resolution: {integrity: sha512-PrM+dN45JTsZ7Zv7f2ElMAsf2eyrdNZWwMj2w43c3SBOE2jsl7eJVOTvbSrz1D+JzYF7eBNdx0hhvcCLRwhiCQ==} + '@eslint/config-inspector@1.3.0': + resolution: {integrity: sha512-t+5Pra/8VX9Ue8V2p6skCeEMw9vm6HjwNF/n7l5nx78f3lUqLjzSTdMisFeo9AeYOj1hwEBiFYYGZ/Xn88cmHw==} hasBin: true peerDependencies: eslint: ^8.50.0 || ^9.0.0 @@ -679,22 +682,30 @@ packages: resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.16.0': + resolution: {integrity: sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.35.0': - resolution: {integrity: sha512-30iXE9whjlILfWobBkNerJo+TXYsgVM5ERQwMcMKCHckHflCmf7wXDAHlARoWnh0s1U72WqlbeyE7iAcCzuCPw==} + '@eslint/js@9.38.0': + resolution: {integrity: sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/plugin-kit@0.3.5': resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.4.0': + resolution: {integrity: sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@floating-ui/core@1.7.3': resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} @@ -723,11 +734,14 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@iconify/collections@1.0.592': - resolution: {integrity: sha512-Lu/ztAD4iqvRZ8b7zNqh2lnwEFQ/uzrKfgHpuPOzNPeTKb5Kj+6EFPfUpzjWd//CusGRaWbHyaBNdPKti0wlMQ==} + '@iconify-json/hugeicons@1.2.17': + resolution: {integrity: sha512-Yp+XzYfWoSuE4HTSrVGbIobNooYfIOQAczgzpLcJGGhkkGed8pVtR8K0UZEg2ZEdrtObatcCcTVrnuOwlnJqMA==} - '@iconify/json@2.2.382': - resolution: {integrity: sha512-1UT0ouWPVXNteS+kaQjtDvxKy/swWqB84fq9b+xbpE7nhgfak7ljYneWSXTDU+SyfL112F9978p7Mf3C3Q/8LQ==} + '@iconify/collections@1.0.608': + resolution: {integrity: sha512-uMbaErE6TzDb04peWVFYjc9cweBD+j1nFBHi5EEcA1u1mXJAyePF01VzH6dimurrhivvU+nRmuYfiC8GPDyG6g==} + + '@iconify/json@2.2.398': + resolution: {integrity: sha512-SEUDjkyAenAKMd5hDfzNzeObZw+KgQdIHaOuWA4yv89qSf2s0dJ7L1iXhRjtEZxFnuXQ2D67uFiHmE+90jvDGQ==} '@iconify/tailwind4@1.0.6': resolution: {integrity: sha512-43ZXe+bC7CuE2LCgROdqbQeFYJi/J7L/k1UpSy8KDQlWVsWxPzLSWbWhlJx4uRYLOh1NRyw02YlDOgzBOFNd+A==} @@ -740,16 +754,16 @@ packages: '@iconify/utils@2.3.0': resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} - '@iconify/utils@3.0.1': - resolution: {integrity: sha512-A78CUEnFGX8I/WlILxJCuIJXloL0j/OJ9PSchPAfCargEIKmUBWvvEMmKWB5oONwiUqlNt+5eRufdkLxeHIWYw==} + '@iconify/utils@3.0.2': + resolution: {integrity: sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==} '@iconify/vue@5.0.0': resolution: {integrity: sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg==} peerDependencies: vue: '>=3' - '@internationalized/date@3.9.0': - resolution: {integrity: sha512-yaN3brAnHRD+4KyyOsJyk49XUvj2wtbNACSqg0bz3u8t2VuzhC8Q5dfRnrSxjnnbDb+ienBnkn1TzQfE154vyg==} + '@internationalized/date@3.10.0': + resolution: {integrity: sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==} '@internationalized/number@3.6.5': resolution: {integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==} @@ -821,8 +835,8 @@ packages: vue-i18n: optional: true - '@ioredis/commands@1.3.1': - resolution: {integrity: sha512-bYtU8avhGIcje3IhvF9aSjsa5URMZBHnwKtOvXsT4sfYy9gppW11gLPT/9oNqlJZD47yPKveQFTAFWpHjKvUoQ==} + '@ioredis/commands@1.4.0': + resolution: {integrity: sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==} '@isaacs/balanced-match@4.0.1': resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} @@ -856,8 +870,8 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.30': - resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} @@ -939,8 +953,8 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.0.3': - resolution: {integrity: sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==} + '@napi-rs/wasm-runtime@1.0.7': + resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} '@neon-rs/load@0.0.4': resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} @@ -969,25 +983,25 @@ packages: resolution: {integrity: sha512-nIh/M6Kh3ZtOmlY00DaUYB4xeeV6F3/ts1l29iwl3/cfyY/OuCfUx+v08zgx8TKPTifXRcjjqVQ4KB2zOYSbyw==} engines: {node: '>=18.18.0'} - '@nuxt/cli@3.28.0': - resolution: {integrity: sha512-WQ751WxWLBIeH3TDFt/LWQ2znyAKxpR5+gpv80oerwnVQs4GKajAfR6dIgExXZkjaPUHEFv2lVD9vM+frbprzw==} + '@nuxt/cli@3.29.3': + resolution: {integrity: sha512-48GYmH4SyzR5pqd02UXVzBfrvEGaurPKMjSWxlHgqnpI5buwOYCvH+OqvHOmvnLrDP2bxR9hbDod/UIphOjMhg==} engines: {node: ^16.10.0 || >=18.0.0} hasBin: true '@nuxt/devalue@2.0.2': resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} - '@nuxt/devtools-kit@2.6.3': - resolution: {integrity: sha512-cDmai3Ws6AbJlYy1p4CCwc718cfbqtAjXe6oEc6q03zoJnvX1PsvKUfmU+yuowfqTSR6DZRmH4SjCBWuMjgaKQ==} + '@nuxt/devtools-kit@2.6.5': + resolution: {integrity: sha512-t+NxoENyzJ8KZDrnbVYv3FJI5VXqSi6X4w6ZsuIIh0aKABu6+6k9nR/LoEhrM0oekn/2LDhA0NmsRZyzCXt2xQ==} peerDependencies: vite: '>=6.0' - '@nuxt/devtools-wizard@2.6.3': - resolution: {integrity: sha512-FWXPkuJ1RUp+9nWP5Vvk29cJPNtm4OO38bgr9G8vGbqcRznzgaSODH/92c8sm2dKR7AF+9MAYLL+BexOWOkljQ==} + '@nuxt/devtools-wizard@2.6.5': + resolution: {integrity: sha512-nYYGxT4lmQDvfHL6qolNWLu0QTavsdN/98F57falPuvdgs5ev1NuYsC12hXun+5ENcnigEcoM9Ij92qopBgqmQ==} hasBin: true - '@nuxt/devtools@2.6.3': - resolution: {integrity: sha512-n+8we7pr0tNl6w+KfbFDXZsYpWIYL4vG/daIdRF66lQ6fLyQy/CcxDAx8+JNu3Ew96RjuBtWRSbCCv454L5p0Q==} + '@nuxt/devtools@2.6.5': + resolution: {integrity: sha512-Xh9XF1SzCTL5Zj6EULqsN2UjiNj4zWuUpS69rGAy5C55UTaj+Wn46IkDc6Q0+EKkGI279zlG6SzPRFawqPPUEw==} hasBin: true peerDependencies: vite: '>=6.0' @@ -1024,16 +1038,16 @@ packages: '@nuxt/icon@2.0.0': resolution: {integrity: sha512-sy8+zkKMYp+H09S0cuTteL3zPTmktqzYPpPXV9ZkLNjrQsaPH08n7s/9wjr+C/K/w2R3u18E3+P1VIQi3xaq1A==} - '@nuxt/kit@3.19.1': - resolution: {integrity: sha512-cLKNdmfFk49o9Tt7g+vwD9rYN7cLg0D6K6CRB+4aaQYxveJXQbZGgZ4z7CGq5HxIG22Ki8G3XSXaiN1s6lVyZg==} + '@nuxt/kit@3.19.3': + resolution: {integrity: sha512-ze46EW5xW+UxDvinvPkYt2MzR355Az1lA3bpX8KDialgnCwr+IbkBij/udbUEC6ZFbidPkfK1eKl4ESN7gMY+w==} engines: {node: '>=18.12.0'} - '@nuxt/kit@4.1.1': - resolution: {integrity: sha512-2MGfOXtbcxdkbUNZDjyEv4xmokicZhTrQBMrmNJQztrePfpKOVBe8AiGf/BfbHelXMKio5PgktiRoiEIyIsX4g==} + '@nuxt/kit@4.1.3': + resolution: {integrity: sha512-WK0yPIqcb3GQ8r4GutF6p/2fsyXnmmmkuwVLzN4YaJHrpA2tjEagjbxdjkWYeHW8o4XIKJ4micah4wPOVK49Mg==} engines: {node: '>=18.12.0'} - '@nuxt/schema@4.1.1': - resolution: {integrity: sha512-s4ELQEw6er4kop4e9HkTZ2ByVEvOGic9YJmesr2QI3O+q01CLSZE6aepbRLsq1Hz6bbfq/UrFw8MLuHs7l03aA==} + '@nuxt/schema@4.1.3': + resolution: {integrity: sha512-ZLkIfleKHQF0PqTDEwuVVnnE/hyMdfY4m2zX8vRC0XMSbFS1I0MFcKkzWnJaMC13NYmGPnT3sX0o3lznweKHJQ==} engines: {node: ^14.18.0 || >=16.10.0} '@nuxt/telemetry@2.6.6': @@ -1069,11 +1083,15 @@ packages: zod: optional: true - '@nuxt/vite-builder@4.1.1': - resolution: {integrity: sha512-hRIHu9a1x2HFFSXQt3+eG4s8GP1QhuzjiCmd/sciC55NISc0oP69tTmOmFOp3L8G2BapSZ/O1CZEnO/XoAqZkA==} + '@nuxt/vite-builder@4.1.3': + resolution: {integrity: sha512-yrblLSpGW6h9k+sDZa+vtevQz/6JLrPAj3n97HrEmVa6qB+4sE4HWtkMNUtWsOPe60sAm9usRsjDUkkiHZ0DpA==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: + rolldown: ^1.0.0-beta.38 vue: ^3.3.4 + peerDependenciesMeta: + rolldown: + optional: true '@nuxtjs/color-mode@3.5.2': resolution: {integrity: sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==} @@ -1086,92 +1104,92 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@oxc-minify/binding-android-arm64@0.86.0': - resolution: {integrity: sha512-jOgbDgp6A1ax9sxHPRHBxUpxIzp2VTgbZ/6HPKIVUJ7IQqKVsELKFXIOEbCDlb1rUhZZtGf53MFypXf72kR5eQ==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-android-arm64@0.94.0': + resolution: {integrity: sha512-7VEBFFFAi4cYqlW/ziVs5XmNM/0IqAp7duBuTM/zus/EOc3Q2zhS9ApJo0zIwbRUZMlIm1RHe8Hths//xE7K1A==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-minify/binding-darwin-arm64@0.86.0': - resolution: {integrity: sha512-LQkjIHhIzxVYnxfC2QV7MMe4hgqIbwK07j+zzEsNWWfdmWABw11Aa6FP0uIvERmoxstzsDT77F8c/+xhxswKiw==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-darwin-arm64@0.94.0': + resolution: {integrity: sha512-T0k3pG/izIutpl8cQl9Xeb0TikBILGd3rglCgRhhG5G5xsk/AAAp/qsSdzBm/8yMXksfRWqE0teh7XDWKmzOXw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.86.0': - resolution: {integrity: sha512-AuLkeXIvJ535qOhFzZfHBkcEZA59SN1vKUblW2oN+6ClZfIMru0I2wr0cCHA9QDxIVDkI7swDu29qcn2AqKdrg==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-darwin-x64@0.94.0': + resolution: {integrity: sha512-1gJeYcQf0Mmnu9Gxld2dLJGXTm9EzOQKRAjCVT2xGciKrNeekkJntDb+NdzxcSNPTjchkvbDwY6lCGZbcJx2lg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.86.0': - resolution: {integrity: sha512-UcXLcM8+iHW1EL+peHHV1HDBFUVdoxFMJC7HBc2U83q9oiF/K73TnAEgW/xteR+IvbV/9HD+cQsH+DX6oBXoQg==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-freebsd-x64@0.94.0': + resolution: {integrity: sha512-LvaxVkEVLgBNQO2RUYwbmRC0cLpq5WHPsM7B4xsojwqpJNsK5l2VnTAuExvPthC1gKWlsoQsVoT03Ex/SZ4FOw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.86.0': - resolution: {integrity: sha512-UtSplQY10Idp//cLS5i2rFaunS71padZFavHLHygNAxJBt+37DPKDl/4kddpV6Kv2Mr6bhw2KpXGAVs0C3dIOw==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-linux-arm-gnueabihf@0.94.0': + resolution: {integrity: sha512-o/IEdJKl7Y78fIvIRPeA4ccgmOAzeMS8tsjpO7XlENWPzS3cA/6Iy4BqMqYyqUZewgt0a2ggw0zAioIwKPiDmw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm-musleabihf@0.86.0': - resolution: {integrity: sha512-P5efCOl9QiwqqJHrw1Q+4ssexvOz+MAmgTmBorbdEM3WJdIHR1CWGDj4GqcvKBlwpBqt4XilOuoN0QD8dfl85A==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-linux-arm-musleabihf@0.94.0': + resolution: {integrity: sha512-hFCeIV/eCASCW/F2t/DR4JUKUNxn2pr4hAIBEBYDaGPvdOVMlMh+eMbg401ZiaQLwM26Dj53b5XWALwit0mGAw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.86.0': - resolution: {integrity: sha512-hwHahfs//g9iZLQmKldjQPmnpzq76eyHvfkmdnXXmPtwTHnwXL1hPlNbTIqakUirAsroBeQwXqzHm3I040R+mg==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-linux-arm64-gnu@0.94.0': + resolution: {integrity: sha512-so/XF1XdJdpWVUkyz45F3iNJgzoXgeNBoYfmDTuLFIXE2U7vAtE8DHkA87LlbC6Ry7KIM4Ehw7hP4Z4h7M51fA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-arm64-musl@0.86.0': - resolution: {integrity: sha512-S2dL24nxWqDCwrq48xlZBvhSIBcEWOu3aDOiaccP4q73PiTLrf6rm1M11J7vQNSRiH6ao9UKr7ZMsepCZcOyfA==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-linux-arm64-musl@0.94.0': + resolution: {integrity: sha512-IMi2Sq3Z3xvA06Otit/D6Vo2BATZJcDHu6dHcaznBwnpO0z0+N9i3TKprIVizBHW77wq8QBLIbQaWQn4go1WwQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-riscv64-gnu@0.86.0': - resolution: {integrity: sha512-itZ24A1a5NOw0ibbt6EYOHdBojfV4vbiC209d06Dwv5WLXtntHCjc8P4yfrCsC22uDmMPNkVa+UL+OM4mkUrwg==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-linux-riscv64-gnu@0.94.0': + resolution: {integrity: sha512-1QWSK1CcmGwlJZBWCF+NpzpQ5c3WybtgVqeQX8FRIhlApBtvMsifZe4tz1FIoBoQeCKwCQzyvpIA71cpCpY/xg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] - '@oxc-minify/binding-linux-s390x-gnu@0.86.0': - resolution: {integrity: sha512-/nJAwS/uit19qXNpaOybf7GYJI7modbXYVZ8q1pIFdxs6HkhZLxS1ZvcIzY3W75+37u+uKeZ4MbygawAN8kQpQ==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-linux-s390x-gnu@0.94.0': + resolution: {integrity: sha512-UfIuYWcs1tb/vwGwZPPVaO38OubKfi+MkySl2ZP/3Vk4InxtQ+BxxgNqiQbhyvx14GZtkFphH3I2FZaDUsvfYg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - '@oxc-minify/binding-linux-x64-gnu@0.86.0': - resolution: {integrity: sha512-3qnWZB2cOj5Em/uEJqJ1qP/8lxtoi/Rf1U8fmdLzPW5zIaiTRUr/LklB4aJ+Vc/GU5g3HX5nFPQG3ZnEV3Ktzg==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-linux-x64-gnu@0.94.0': + resolution: {integrity: sha512-Iokd1dfneOcNHBJH8o5cMgDkII8R7dzOFSaMrZiSZkLr+woT3Ed7uLqTKwleNKq52z5+XwmgcvO00c6ywStCpA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxc-minify/binding-linux-x64-musl@0.86.0': - resolution: {integrity: sha512-+ZqYG8IQSRq9dR2djrnyzGHlmwGRKdueVjHYbEOwngb/4h/+FxAOaNUbsoUsCthAfXTrZHVXiQMTKJ32r7j2Bg==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-linux-x64-musl@0.94.0': + resolution: {integrity: sha512-W4hFq/e21o2cOKx9xltJuVo/xgXnn4SsUioo/86pk5vCmUXg++J0PMML/oOZTSbevlklg/Vxo8slRUSU4/0PzA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxc-minify/binding-wasm32-wasi@0.86.0': - resolution: {integrity: sha512-ixeSZW7jzd3g9fh8MoR9AzGLQxMCo//Q2mVpO2S/4NmcPtMaJEog85KzHULgUvbs70RqxTHEUqtVgpnc/5lMWA==} + '@oxc-minify/binding-wasm32-wasi@0.94.0': + resolution: {integrity: sha512-0bOaEuh7QX8MfqyrRjNPOWhcsYl0IGoHX1nPtFIFGm0f/AJsJ+3wbyI9WvkAOXZmRgI9DMKGbDJdU6J59JxA7w==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.86.0': - resolution: {integrity: sha512-cN309CnFVG8jeSRd+lQGnoMpZAVmz4bzH4fgqJM0NsMXVnFPGFceG/XiToLoBA1FigGQvkV0PJ7MQKWxBHPoUA==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-win32-arm64-msvc@0.94.0': + resolution: {integrity: sha512-qXuSuUmLn7v79R0noaRlJES7m0BLfBWwPAmPjzu553eJObvKS15TfHH4uxr0h31Bmy4jqWX2r+oirz/Pg+hSEg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.86.0': - resolution: {integrity: sha512-YAqCKtZ9KKhSW73d/Oa9Uut0myYnCEUL2D0buMjJ4p0PuK1PQsMCJsmX4ku0PgK31snanZneRwtEjjNFYNdX2A==} - engines: {node: '>=14.0.0'} + '@oxc-minify/binding-win32-x64-msvc@0.94.0': + resolution: {integrity: sha512-DtnN623PGZlNLRyyWtUQPEATeiGVnv9l8TMV9wCdd3AFNA9bmeFzmojcpwBFj/a5DOY5mds7cwC+Z+rjTPn+OQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1181,9 +1199,9 @@ packages: cpu: [arm64] os: [android] - '@oxc-parser/binding-android-arm64@0.86.0': - resolution: {integrity: sha512-BfNFEWpRo4gqLHKvRuQmhbPGeJqB1Ka/hsPhKf1imAojwUcf/Dr/yRkZBuEi2yc1LWBjApKYJEqpsBUmtqSY1Q==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-android-arm64@0.94.0': + resolution: {integrity: sha512-Ficqj6MggRGFkemU4pVFTyth3jWVL/zpIWjGMTXaPU81l46ZDcYVFWp9ia6nfE5mm8UdVSI2trvmK+BpNUim7g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -1193,9 +1211,9 @@ packages: cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-arm64@0.86.0': - resolution: {integrity: sha512-gRSnEHcyNEfLdNj6v8XKcuHUaZnRpH2lOZFztuGEi23ENydPOQVEtiZYexuHOTeaLGgzw+93TgB4n/YkjYodug==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-darwin-arm64@0.94.0': + resolution: {integrity: sha512-uYyeMH9vMfb0JAdm6ZwHTgcTv53030elQKMnUbux9K5rxOCWbHUyeVACEv86V+E/Ft6RtkvWDIqUY4sYZRmcuQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -1205,9 +1223,9 @@ packages: cpu: [x64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.86.0': - resolution: {integrity: sha512-6mdymm8i+VpLTJP19D3PSFumMmAyfhhhIRWcRHsc0bL7CSZjCWbvRb00ActKrGKWtsol/A/KKgqglJwpvjlzOA==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-darwin-x64@0.94.0': + resolution: {integrity: sha512-Ek1fh8dw6b+/hzLo5jjPuxkshRxekjtTfhfWZ4RehMYiApT8Rj4k+7kcQ+zV1ZaF+1+yLgNqNja2RMRqx3MHzQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -1217,9 +1235,9 @@ packages: cpu: [x64] os: [freebsd] - '@oxc-parser/binding-freebsd-x64@0.86.0': - resolution: {integrity: sha512-mc2xYRPxhzFg4NX1iqfIWP+8ORtXiNpAkaomNDepegQFlIFUmrESa3IJrKJ/4vg77Tbti7omHbraOqwdTk849g==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-freebsd-x64@0.94.0': + resolution: {integrity: sha512-81bE/8F252Ew179uVo9FU67dmRc+n8QSMhj6mmMxisdI3ao5MjCI5jDL19mH3UeQ9uRUBSPFILmHBDQYNZ9oKw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -1229,9 +1247,9 @@ packages: cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-gnueabihf@0.86.0': - resolution: {integrity: sha512-LZzapjFhwGQMKefcFsn3lJc/mTY37fBlm0jjEvETgNCyd5pH4gDwOcrp/wZHAz2qw5uLWOHaa69I6ci5lBjJgA==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-linux-arm-gnueabihf@0.94.0': + resolution: {integrity: sha512-aGOU8IYXVYGN2aRrvcU5+UdM7BzIVlm4m0REQzjpblQKRdZfWFtDBRJez+fK/F10g0H1AU5DQVgbW5aeko49Jw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -1241,9 +1259,9 @@ packages: cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.86.0': - resolution: {integrity: sha512-/rhJMpng7/Qgn8hE4sigxTRb04+zdO0K1kfAMZ3nONphk5r2Yk2RjyEpLLz17adysCyQw/KndaMHNv8GR8VMNg==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-linux-arm-musleabihf@0.94.0': + resolution: {integrity: sha512-69/ZuYSZ4dd7UWoEOyf+pXYPtvUZguDQqjhxMx8fI0J30sEEqs1d/DBLLnog/afHmaapPEIEr6rp9jF6bYcgNw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -1253,9 +1271,9 @@ packages: cpu: [arm64] os: [linux] - '@oxc-parser/binding-linux-arm64-gnu@0.86.0': - resolution: {integrity: sha512-IXEZnk6O0zJg5gDn1Zvt5Qx62Z3E+ewrKwPgMfExqnNCLq+Ix2g7hQypevm/S6qxVgyz5HbiW+a/5ziMFXTCJQ==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-linux-arm64-gnu@0.94.0': + resolution: {integrity: sha512-u55PGVVfZF/frpEcv/vowfuqsCd5VKz3wta8KZ3MBxboat7XxgRIMS8VQEBiJ3aYE80taACu5EfPN1y9DhiU0Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -1265,9 +1283,9 @@ packages: cpu: [arm64] os: [linux] - '@oxc-parser/binding-linux-arm64-musl@0.86.0': - resolution: {integrity: sha512-QG7DUVZ/AtBaUGMhgToB4glOdq0MGAEYU1MJQpNB5HqiEcOpteF9Pd+oPfscj2zrGPd47KNyljtJRBKJr6Ut0w==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-linux-arm64-musl@0.94.0': + resolution: {integrity: sha512-Qm2SEU7/f2b2Rg76Pj49BdMFF7Vv7+2qLPxaae4aH1515kzVv6nZW0bqCo4fPDDyiE4bryF7Jr+WKhllBxvXPw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -1277,9 +1295,9 @@ packages: cpu: [riscv64] os: [linux] - '@oxc-parser/binding-linux-riscv64-gnu@0.86.0': - resolution: {integrity: sha512-smz+J6riX2du2lp0IKeZSaOBIhhoE2N/L1IQdOLCpzB0ikjCDBoyNKdDM7te8ZDq3KDnRmJChmhQGd8P1/LGBQ==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-linux-riscv64-gnu@0.94.0': + resolution: {integrity: sha512-bZO3QAt0lsZjk351mVM85obMivbXG+tDiah5XmmOaGO8k4vEYmoiKr2YHJoA2eNpKhPJF8dNyIS7U+XAvirr9g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] @@ -1289,9 +1307,9 @@ packages: cpu: [s390x] os: [linux] - '@oxc-parser/binding-linux-s390x-gnu@0.86.0': - resolution: {integrity: sha512-vas1BOMWVdicuimmi5Y+xPj3csaYQquVA45Im9a/DtVsypVeh8RWYXBMO1qJNM5Fg5HD0QvYNqxvftx3c+f5pg==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-linux-s390x-gnu@0.94.0': + resolution: {integrity: sha512-IdbJ/rwsaEPQx11mQwGoClqhAmVaAF9+3VmDRYVmfsYsrhX1Ue1HvBdVHDvtHzJDuumC/X/codkVId9Ss+7fVg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -1301,9 +1319,9 @@ packages: cpu: [x64] os: [linux] - '@oxc-parser/binding-linux-x64-gnu@0.86.0': - resolution: {integrity: sha512-3Fsi+JA3NwdZdrpC6AieOP48cuBrq0q59JgnR0mfoWfr9wHrbn2lt8EEubrj6EXpBUmu1Zii7S9NNRC6fl/d+w==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-linux-x64-gnu@0.94.0': + resolution: {integrity: sha512-TbtpRdViF3aPCQBKuEo+TcucwW3KFa6bMHVakgaJu12RZrFpO4h1IWppBbuuBQ9X7SfvpgC1YgCDGve9q6fpEA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -1313,9 +1331,9 @@ packages: cpu: [x64] os: [linux] - '@oxc-parser/binding-linux-x64-musl@0.86.0': - resolution: {integrity: sha512-89/d43EW76wJagz8u5zcKW8itB2rnS/uN7un5APb8Ebme8TePBwDyxo64J6oY5rcJYkfJ6lEszSF/ovicsNVPw==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-linux-x64-musl@0.94.0': + resolution: {integrity: sha512-hlfoDmWvgSbexoJ9u3KwAJwpeu91FfJR6++fQjeYXD2InK4gZow9o3DRoTpN/kslZwzUNpiRURqxey/RvWh8JQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -1324,8 +1342,8 @@ packages: engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-parser/binding-wasm32-wasi@0.86.0': - resolution: {integrity: sha512-gRrGmE2L27stNMeiAucy/ffHF9VjYr84MizuJzSYnnKmd5WXf3HelNdd0UYSJnpb7APBuyFSN2Oato+Qb6yAFw==} + '@oxc-parser/binding-wasm32-wasi@0.94.0': + resolution: {integrity: sha512-VoCtQZIsRZN8mszbdizh+5MwzbgbMxsPgT2hOzzILQLNY2o2OXG3xSiFNFakVhbWc9qSTaZ/MRDsqR+IM3fLFw==} engines: {node: '>=14.0.0'} cpu: [wasm32] @@ -1335,9 +1353,9 @@ packages: cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-arm64-msvc@0.86.0': - resolution: {integrity: sha512-parTnpNviJYR3JIFLseDGip1KkYbhWLeuZG9OMek62gr6Omflddoytvb17s+qODoZqFAVjvuOmVipDdjTl9q3Q==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-win32-arm64-msvc@0.94.0': + resolution: {integrity: sha512-3wsbMqV8V7WaLdiQ2oawdgKkCgMHXJ7VDuo6uIcXauU3wK6CG0QyDXRV9bPWzorGLRBUHndu/2VB1+9dgT9fvg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -1347,17 +1365,17 @@ packages: cpu: [x64] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.86.0': - resolution: {integrity: sha512-FTso24eQh3vPTe/SOTf0/RXfjJ13tsk5fw728fm+z5y6Rb+mmEBfyVT6XxyGhEwtdfnRSZawheX74/9caI1etw==} - engines: {node: '>=20.0.0'} + '@oxc-parser/binding-win32-x64-msvc@0.94.0': + resolution: {integrity: sha512-UTQQ1576Nzhh4jr/YmvzqnuwTPOauB/TPzsnWzT+w8InHxL5JA1fmy01wB1F2BWT9AD6YV4BTB1ozRICYdAgjw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] '@oxc-project/types@0.81.0': resolution: {integrity: sha512-CnOqkybZK8z6Gx7Wb1qF7AEnSzbol1WwcIzxYOr8e91LytGOjo0wCpgoYWZo8sdbpqX+X+TJayIzo4Pv0R/KjA==} - '@oxc-project/types@0.86.0': - resolution: {integrity: sha512-bJ57vWNQnOnUe5ZxUkrWpLyExxqb0BoyQ+IRmI/V1uxHbBNBzFGMIjKIf5ECFsgS0KgUUl8TM3a4xpeAtAnvIA==} + '@oxc-project/types@0.94.0': + resolution: {integrity: sha512-+UgQT/4o59cZfH6Cp7G0hwmqEQ0wE+AdIwhikdwnhWI9Dp8CgSY081+Q3O67/wq3VJu8mgUEB93J9EHHn70fOw==} '@oxc-transform/binding-android-arm64@0.81.0': resolution: {integrity: sha512-Lli18mT/TaUsQSXL7Q08xatbOySqKhruNpI/mGvSbIHXX7TfznNbQ/zbzNftKa4tvbJnDUXz7SV9JO1wXOoYSw==} @@ -1365,9 +1383,9 @@ packages: cpu: [arm64] os: [android] - '@oxc-transform/binding-android-arm64@0.86.0': - resolution: {integrity: sha512-025JJoCWi04alNef6WvLnGCbx2MH9Ld2xvr0168bpOcpBjxt8sOZawu0MPrZQhnNWWiX8rrwrhuUDasWCWHxFw==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-android-arm64@0.94.0': + resolution: {integrity: sha512-abxgEoomc5HNbDQaGhBWguR+W4cdrcEIwV8xIQ2qpUuhEUoHy6nQLfN/gREAZMdkyIaKwk12FckB9aNxVTte2w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] @@ -1377,9 +1395,9 @@ packages: cpu: [arm64] os: [darwin] - '@oxc-transform/binding-darwin-arm64@0.86.0': - resolution: {integrity: sha512-dJls3eCO1Y2dc4zAdA+fiRbQwlvFFDmfRHRpGOllwS1FtvKQ7dMkRFKsHODEdxWakxISLvyabUmkGOhcJ47Dog==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-darwin-arm64@0.94.0': + resolution: {integrity: sha512-HbnmwC1pZ9M/nXqA36TpwF7vcXk+PgLMxDvvza5C9CCivfi3MUfqCvFMvRI0snlVm2PK2GAwWJjBtng1fR8LJw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] @@ -1389,9 +1407,9 @@ packages: cpu: [x64] os: [darwin] - '@oxc-transform/binding-darwin-x64@0.86.0': - resolution: {integrity: sha512-udMZFZn6FEy36tVMs/yrczEqWyCJc+l/lqIMS4xYWsm/6qVafUWDSAZJLgcPilng16IdMnHINkc8NSz7Pp1EVw==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-darwin-x64@0.94.0': + resolution: {integrity: sha512-GADv5xcClQpYj5d6GLdPF6Qz/3OSn0d/LKhDklpW/5S42RQsGxI+83iXF1e61KITd4yp4VAvjEiuDM52zb4xYQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] @@ -1401,9 +1419,9 @@ packages: cpu: [x64] os: [freebsd] - '@oxc-transform/binding-freebsd-x64@0.86.0': - resolution: {integrity: sha512-41J5qSlypbE0HCOd+4poFD96+ZKoR8sfDn5qdaU0Hc5bT5Drwat/wv06s9Y5Lu86uXYTwPPj6kbbxHHsiV2irw==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-freebsd-x64@0.94.0': + resolution: {integrity: sha512-5H5V+H1CZoRQwbgAt/wLrN8oZwuYGP6xdXTuGUW2C2ON1DynMyxC4Padf8vjPcKbQph5GnLAuoaTafxokE2Z/Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] @@ -1413,9 +1431,9 @@ packages: cpu: [arm] os: [linux] - '@oxc-transform/binding-linux-arm-gnueabihf@0.86.0': - resolution: {integrity: sha512-mrI+nKgwRsr4FYjb0pECrNTVnNvHAflukS3SFqFHI8n+3LJgrCYDcnbrFD/4VWKp2EUrkIZ//RhwgGsTiSXbng==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-linux-arm-gnueabihf@0.94.0': + resolution: {integrity: sha512-BoWVkKUqgmUs4hDvGPgCSUkIeEMBVvHU/mO348Dhp7XT9ijdnSBmRzY6hFaqRSq768Hn6KblM0NM1QV7jEvKOw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -1425,9 +1443,9 @@ packages: cpu: [arm] os: [linux] - '@oxc-transform/binding-linux-arm-musleabihf@0.86.0': - resolution: {integrity: sha512-FXWyvpxiEXBewA3L6HGFtEribqFjGOiounD8ke/4C1F5134+rH5rNrgK6vY116P4MtWKfZolMRdvlzaD3TaX0A==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-linux-arm-musleabihf@0.94.0': + resolution: {integrity: sha512-XUAyt2EtSDycljMKfgDVg/T5C3aF5dR1mfMJAZUCPQkfJjXZwA/C0DTTC/xPlPm68WA4uRtVNLqExTHJ3JOPwg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] @@ -1437,9 +1455,9 @@ packages: cpu: [arm64] os: [linux] - '@oxc-transform/binding-linux-arm64-gnu@0.86.0': - resolution: {integrity: sha512-gktU/9WLAc0d2hAq8yRi3K92xwkWoDt1gJmokMOfb1FU4fyDbzbt13jdZEd6KVn2xLaiQeaFTTfFTghFsJUM3A==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-linux-arm64-gnu@0.94.0': + resolution: {integrity: sha512-5Y7FI2FgawingojBEo3df4sI/Sq73UhVZy3DlT9o94Pgu8o+ujlKPD20kFmOJ1jQNEJ4ScKr5vh6pemHSZjUgA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -1449,9 +1467,9 @@ packages: cpu: [arm64] os: [linux] - '@oxc-transform/binding-linux-arm64-musl@0.86.0': - resolution: {integrity: sha512-2w5e5qiTBYQ0xc1aSY1GNyAOP9BQFEjN43FI3OhrRWZXHOj3inqcVSlptO/hHGK3Q2bG26kWLfSNFOEylTX39A==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-linux-arm64-musl@0.94.0': + resolution: {integrity: sha512-QiyHubpKo7upYPfwB+8bjaTczd60PJdL2zJrMKgL+CDlmP6HZlnWXZkeVTA3S6QXnbulRlrtERmqS2DePszG0g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] @@ -1461,9 +1479,9 @@ packages: cpu: [riscv64] os: [linux] - '@oxc-transform/binding-linux-riscv64-gnu@0.86.0': - resolution: {integrity: sha512-PfnTYm+vQ9X5VNXqs0Z3S67Xp2FoZj5RteYKUNwL+j/sxGi05eps+EWLVrcGsuN9x2GHFpTiqBz3lzERCn2USg==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-linux-riscv64-gnu@0.94.0': + resolution: {integrity: sha512-vh3PZGmoUCbfkqVGuB7fweuqthYxzAAGqhiAJAn8x4V+R86W5esCtxbm+PTyVawBT/eoq1cU8HhNVqE0rQlChg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] @@ -1473,9 +1491,9 @@ packages: cpu: [s390x] os: [linux] - '@oxc-transform/binding-linux-s390x-gnu@0.86.0': - resolution: {integrity: sha512-uHgGN0rFfqDcdkLUITshqrpV34PRKAiRwsw6Jgkg7CRcRGIU8rOJc568EU0jfhTZ1zO5MJKt/S8D6cgIFJwe0A==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-linux-s390x-gnu@0.94.0': + resolution: {integrity: sha512-DT3m7cF612RdHBmYK3Ave6OVT1iSvlbKo8T+81n6ZcFXO+L8vDJHzwMwMOXfeOLQ15zr0WmSHqBOZ14tHKNidw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] @@ -1485,9 +1503,9 @@ packages: cpu: [x64] os: [linux] - '@oxc-transform/binding-linux-x64-gnu@0.86.0': - resolution: {integrity: sha512-MtrvfU2RkSD+oTnzG4Xle3jK8FXJPQa1MhYQm0ivcAMf0tUQDojTaqBtM/9E0iFr/4l1xZODJOHCGjLktdpykg==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-linux-x64-gnu@0.94.0': + resolution: {integrity: sha512-kK5dt8wfxUD3MGXnLHWxv57oYinIwoRFcjw2oJD5DCoGTeXCmrFk4D0eGPAlZKOm7uvWMs9yNI8rg1KY5nEs1w==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -1497,9 +1515,9 @@ packages: cpu: [x64] os: [linux] - '@oxc-transform/binding-linux-x64-musl@0.86.0': - resolution: {integrity: sha512-wTTTIPcnoS04SRJ7HuOL/VxIu1QzUtv2n6Mx0wPIEQobj2qPGum0qYGnFEMU0Njltp+8FAUg5EfX6u3udRQBbQ==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-linux-x64-musl@0.94.0': + resolution: {integrity: sha512-+zfNBO2qEPcSPTHVUxsiG3Hm0vxWzuL+DZX0wbbtjKwwhH2Jr1Eo26R+Dwc1SfbvoWen36NitKkd2arkpMW8KQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] @@ -1508,8 +1526,8 @@ packages: engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-transform/binding-wasm32-wasi@0.86.0': - resolution: {integrity: sha512-g+0bf+ZA2DvBHQ+0u8TvEY8ERo86Brqvdghfv06Wph2qGTlhzSmrE0c0Zurr7yhtqI5yZjMaBr2HbqwW1kHFng==} + '@oxc-transform/binding-wasm32-wasi@0.94.0': + resolution: {integrity: sha512-rn3c2wGT3ha6j0VLykYOkXU5YyQYIeGXRsDPP7xyiZHVTVssoM0X1BuheFlgxmC1POXMT+dAAcVOFG5MdW1bnQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] @@ -1519,9 +1537,9 @@ packages: cpu: [arm64] os: [win32] - '@oxc-transform/binding-win32-arm64-msvc@0.86.0': - resolution: {integrity: sha512-dgBeU4qBEag0rhW3OT9YHgj4cvW51KZzrxhDQ1gAVX2fqgl+CeJnu0a9q+DMhefHrO3c8Yxwbt7NxUDmWGkEtg==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-win32-arm64-msvc@0.94.0': + resolution: {integrity: sha512-An/Dd+I8dH0b+VLEdfTrZP53S4Fha3w/aD71d1uZB14aU02hBt3ZwU8IE3RGZIJPxub9OZmCmJN66uTqkT6oXg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] @@ -1531,9 +1549,9 @@ packages: cpu: [x64] os: [win32] - '@oxc-transform/binding-win32-x64-msvc@0.86.0': - resolution: {integrity: sha512-M1eCl8xz7MmEatuqWdr+VdvNCUJ+d4ECF+HND39PqRCVkaH+Vl1rcyP5pLILb2CB/wTb2DMvZmb9RCt5+8S5TQ==} - engines: {node: '>=14.0.0'} + '@oxc-transform/binding-win32-x64-msvc@0.94.0': + resolution: {integrity: sha512-HEE/8x6H67jPlkCDDB3xl74eR86zY6nLAql6onmidF5JPNXt9v2XGB6xEwr4brUIaMLPkl90plbdCy9jWhEjdQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1649,8 +1667,8 @@ packages: '@rolldown/pluginutils@1.0.0-beta.29': resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==} - '@rolldown/pluginutils@1.0.0-beta.36': - resolution: {integrity: sha512-qa+gfzhv0/Xv52zZInENLu6JbsnSjSExD7kTaNm7Qn5LUIH6IQb7l9pB+NrsU5/Bvt9aqcBTdRGc7x1DYMTiqQ==} + '@rolldown/pluginutils@1.0.0-beta.44': + resolution: {integrity: sha512-g6eW7Zwnr2c5RADIoqziHoVs6b3W5QTQ4+qbpfjbkMJ9x+8Og211VW/oot2dj9dVwaK/UyC6Yo+02gV+wWQVNg==} '@rollup/plugin-alias@5.1.1': resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} @@ -1661,8 +1679,8 @@ packages: rollup: optional: true - '@rollup/plugin-commonjs@28.0.6': - resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==} + '@rollup/plugin-commonjs@28.0.8': + resolution: {integrity: sha512-o1Ug9PxYsF61R7/NXO/GgMZZproLd/WH2XA53Tp9ppf6bU1lMlTtC/gUM6zM3mesi2E0rypk+PNtVrELREyWEQ==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -1688,8 +1706,8 @@ packages: rollup: optional: true - '@rollup/plugin-node-resolve@16.0.1': - resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} + '@rollup/plugin-node-resolve@16.0.3': + resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.78.0||^3.0.0||^4.0.0 @@ -1733,117 +1751,125 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.50.1': - resolution: {integrity: sha512-HJXwzoZN4eYTdD8bVV22DN8gsPCAj3V20NHKOs8ezfXanGpmVPR7kalUHd+Y31IJp9stdB87VKPFbsGY3H/2ag==} + '@rollup/rollup-android-arm-eabi@4.52.5': + resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.50.1': - resolution: {integrity: sha512-PZlsJVcjHfcH53mOImyt3bc97Ep3FJDXRpk9sMdGX0qgLmY0EIWxCag6EigerGhLVuL8lDVYNnSo8qnTElO4xw==} + '@rollup/rollup-android-arm64@4.52.5': + resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.50.1': - resolution: {integrity: sha512-xc6i2AuWh++oGi4ylOFPmzJOEeAa2lJeGUGb4MudOtgfyyjr4UPNK+eEWTPLvmPJIY/pgw6ssFIox23SyrkkJw==} + '@rollup/rollup-darwin-arm64@4.52.5': + resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.50.1': - resolution: {integrity: sha512-2ofU89lEpDYhdLAbRdeyz/kX3Y2lpYc6ShRnDjY35bZhd2ipuDMDi6ZTQ9NIag94K28nFMofdnKeHR7BT0CATw==} + '@rollup/rollup-darwin-x64@4.52.5': + resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.50.1': - resolution: {integrity: sha512-wOsE6H2u6PxsHY/BeFHA4VGQN3KUJFZp7QJBmDYI983fgxq5Th8FDkVuERb2l9vDMs1D5XhOrhBrnqcEY6l8ZA==} + '@rollup/rollup-freebsd-arm64@4.52.5': + resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.50.1': - resolution: {integrity: sha512-A/xeqaHTlKbQggxCqispFAcNjycpUEHP52mwMQZUNqDUJFFYtPHCXS1VAG29uMlDzIVr+i00tSFWFLivMcoIBQ==} + '@rollup/rollup-freebsd-x64@4.52.5': + resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.50.1': - resolution: {integrity: sha512-54v4okehwl5TaSIkpp97rAHGp7t3ghinRd/vyC1iXqXMfjYUTm7TfYmCzXDoHUPTTf36L8pr0E7YsD3CfB3ZDg==} + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.50.1': - resolution: {integrity: sha512-p/LaFyajPN/0PUHjv8TNyxLiA7RwmDoVY3flXHPSzqrGcIp/c2FjwPPP5++u87DGHtw+5kSH5bCJz0mvXngYxw==} + '@rollup/rollup-linux-arm-musleabihf@4.52.5': + resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.50.1': - resolution: {integrity: sha512-2AbMhFFkTo6Ptna1zO7kAXXDLi7H9fGTbVaIq2AAYO7yzcAsuTNWPHhb2aTA6GPiP+JXh85Y8CiS54iZoj4opw==} + '@rollup/rollup-linux-arm64-gnu@4.52.5': + resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.50.1': - resolution: {integrity: sha512-Cgef+5aZwuvesQNw9eX7g19FfKX5/pQRIyhoXLCiBOrWopjo7ycfB292TX9MDcDijiuIJlx1IzJz3IoCPfqs9w==} + '@rollup/rollup-linux-arm64-musl@4.52.5': + resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.50.1': - resolution: {integrity: sha512-RPhTwWMzpYYrHrJAS7CmpdtHNKtt2Ueo+BlLBjfZEhYBhK00OsEqM08/7f+eohiF6poe0YRDDd8nAvwtE/Y62Q==} + '@rollup/rollup-linux-loong64-gnu@4.52.5': + resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.50.1': - resolution: {integrity: sha512-eSGMVQw9iekut62O7eBdbiccRguuDgiPMsw++BVUg+1K7WjZXHOg/YOT9SWMzPZA+w98G+Fa1VqJgHZOHHnY0Q==} + '@rollup/rollup-linux-ppc64-gnu@4.52.5': + resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.50.1': - resolution: {integrity: sha512-S208ojx8a4ciIPrLgazF6AgdcNJzQE4+S9rsmOmDJkusvctii+ZvEuIC4v/xFqzbuP8yDjn73oBlNDgF6YGSXQ==} + '@rollup/rollup-linux-riscv64-gnu@4.52.5': + resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.50.1': - resolution: {integrity: sha512-3Ag8Ls1ggqkGUvSZWYcdgFwriy2lWo+0QlYgEFra/5JGtAd6C5Hw59oojx1DeqcA2Wds2ayRgvJ4qxVTzCHgzg==} + '@rollup/rollup-linux-riscv64-musl@4.52.5': + resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.50.1': - resolution: {integrity: sha512-t9YrKfaxCYe7l7ldFERE1BRg/4TATxIg+YieHQ966jwvo7ddHJxPj9cNFWLAzhkVsbBvNA4qTbPVNsZKBO4NSg==} + '@rollup/rollup-linux-s390x-gnu@4.52.5': + resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.50.1': - resolution: {integrity: sha512-MCgtFB2+SVNuQmmjHf+wfI4CMxy3Tk8XjA5Z//A0AKD7QXUYFMQcns91K6dEHBvZPCnhJSyDWLApk40Iq/H3tA==} + '@rollup/rollup-linux-x64-gnu@4.52.5': + resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.50.1': - resolution: {integrity: sha512-nEvqG+0jeRmqaUMuwzlfMKwcIVffy/9KGbAGyoa26iu6eSngAYQ512bMXuqqPrlTyfqdlB9FVINs93j534UJrg==} + '@rollup/rollup-linux-x64-musl@4.52.5': + resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} cpu: [x64] os: [linux] - '@rollup/rollup-openharmony-arm64@4.50.1': - resolution: {integrity: sha512-RDsLm+phmT3MJd9SNxA9MNuEAO/J2fhW8GXk62G/B4G7sLVumNFbRwDL6v5NrESb48k+QMqdGbHgEtfU0LCpbA==} + '@rollup/rollup-openharmony-arm64@4.52.5': + resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.50.1': - resolution: {integrity: sha512-hpZB/TImk2FlAFAIsoElM3tLzq57uxnGYwplg6WDyAxbYczSi8O2eQ+H2Lx74504rwKtZ3N2g4bCUkiamzS6TQ==} + '@rollup/rollup-win32-arm64-msvc@4.52.5': + resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.50.1': - resolution: {integrity: sha512-SXjv8JlbzKM0fTJidX4eVsH+Wmnp0/WcD8gJxIZyR6Gay5Qcsmdbi9zVtnbkGPG8v2vMR1AD06lGWy5FLMcG7A==} + '@rollup/rollup-win32-ia32-msvc@4.52.5': + resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.50.1': - resolution: {integrity: sha512-StxAO/8ts62KZVRAm4JZYq9+NqNsV7RvimNK+YM7ry//zebEH6meuugqW/P5OFUCjyQgui+9fUxT6d5NShvMvA==} + '@rollup/rollup-win32-x64-gnu@4.52.5': + resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} cpu: [x64] os: [win32] - '@sindresorhus/is@7.0.2': - resolution: {integrity: sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw==} + '@rollup/rollup-win32-x64-msvc@4.52.5': + resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} + cpu: [x64] + os: [win32] + + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@sindresorhus/is@7.1.0': + resolution: {integrity: sha512-7F/yz2IphV39hiS2zB4QYVkivrptHHh0K8qJJd9HhuWSdvf8AN7NpebW3CcDZDBQsUPMoDKWsY2WWgW7bqOcfA==} engines: {node: '>=18'} - '@sindresorhus/merge-streams@2.3.0': - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} '@speed-highlight/core@1.2.7': @@ -1852,8 +1878,8 @@ packages: '@standard-schema/spec@1.0.0': resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - '@stylistic/eslint-plugin@5.3.1': - resolution: {integrity: sha512-Ykums1VYonM0TgkD0VteVq9mrlO2FhF48MDJnPyv3MktIB2ydtuhlO0AfWm7xnW1kyf5bjOqA6xc7JjviuVTxg==} + '@stylistic/eslint-plugin@5.5.0': + resolution: {integrity: sha512-IeZF+8H0ns6prg4VrkhgL+yrvDXWDH2cKchrbh80ejG9dQgZWp10epHMbgRuQvgchLII/lfh6Xn3lu6+6L86Hw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=9.0.0' @@ -1861,65 +1887,65 @@ packages: '@swc/helpers@0.5.17': resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - '@tailwindcss/node@4.1.13': - resolution: {integrity: sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==} + '@tailwindcss/node@4.1.15': + resolution: {integrity: sha512-HF4+7QxATZWY3Jr8OlZrBSXmwT3Watj0OogeDvdUY/ByXJHQ+LBtqA2brDb3sBxYslIFx6UP94BJ4X6a4L9Bmw==} - '@tailwindcss/oxide-android-arm64@4.1.13': - resolution: {integrity: sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==} + '@tailwindcss/oxide-android-arm64@4.1.15': + resolution: {integrity: sha512-TkUkUgAw8At4cBjCeVCRMc/guVLKOU1D+sBPrHt5uVcGhlbVKxrCaCW9OKUIBv1oWkjh4GbunD/u/Mf0ql6kEA==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.1.13': - resolution: {integrity: sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==} + '@tailwindcss/oxide-darwin-arm64@4.1.15': + resolution: {integrity: sha512-xt5XEJpn2piMSfvd1UFN6jrWXyaKCwikP4Pidcf+yfHTSzSpYhG3dcMktjNkQO3JiLCp+0bG0HoWGvz97K162w==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.13': - resolution: {integrity: sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==} + '@tailwindcss/oxide-darwin-x64@4.1.15': + resolution: {integrity: sha512-TnWaxP6Bx2CojZEXAV2M01Yl13nYPpp0EtGpUrY+LMciKfIXiLL2r/SiSRpagE5Fp2gX+rflp/Os1VJDAyqymg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.1.13': - resolution: {integrity: sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==} + '@tailwindcss/oxide-freebsd-x64@4.1.15': + resolution: {integrity: sha512-quISQDWqiB6Cqhjc3iWptXVZHNVENsWoI77L1qgGEHNIdLDLFnw3/AfY7DidAiiCIkGX/MjIdB3bbBZR/G2aJg==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13': - resolution: {integrity: sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.15': + resolution: {integrity: sha512-ObG76+vPlab65xzVUQbExmDU9FIeYLQ5k2LrQdR2Ud6hboR+ZobXpDoKEYXf/uOezOfIYmy2Ta3w0ejkTg9yxg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.13': - resolution: {integrity: sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==} + '@tailwindcss/oxide-linux-arm64-gnu@4.1.15': + resolution: {integrity: sha512-4WbBacRmk43pkb8/xts3wnOZMDKsPFyEH/oisCm2q3aLZND25ufvJKcDUpAu0cS+CBOL05dYa8D4U5OWECuH/Q==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-arm64-musl@4.1.13': - resolution: {integrity: sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==} + '@tailwindcss/oxide-linux-arm64-musl@4.1.15': + resolution: {integrity: sha512-AbvmEiteEj1nf42nE8skdHv73NoR+EwXVSgPY6l39X12Ex8pzOwwfi3Kc8GAmjsnsaDEbk+aj9NyL3UeyHcTLg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-x64-gnu@4.1.13': - resolution: {integrity: sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==} + '@tailwindcss/oxide-linux-x64-gnu@4.1.15': + resolution: {integrity: sha512-+rzMVlvVgrXtFiS+ES78yWgKqpThgV19ISKD58Ck+YO5pO5KjyxLt7AWKsWMbY0R9yBDC82w6QVGz837AKQcHg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-linux-x64-musl@4.1.13': - resolution: {integrity: sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==} + '@tailwindcss/oxide-linux-x64-musl@4.1.15': + resolution: {integrity: sha512-fPdEy7a8eQN9qOIK3Em9D3TO1z41JScJn8yxl/76mp4sAXFDfV4YXxsiptJcOwy6bGR+70ZSwFIZhTXzQeqwQg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-wasm32-wasi@4.1.13': - resolution: {integrity: sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==} + '@tailwindcss/oxide-wasm32-wasi@4.1.15': + resolution: {integrity: sha512-sJ4yd6iXXdlgIMfIBXuVGp/NvmviEoMVWMOAGxtxhzLPp9LOj5k0pMEMZdjeMCl4C6Up+RM8T3Zgk+BMQ0bGcQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: @@ -1930,27 +1956,27 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.1.13': - resolution: {integrity: sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==} + '@tailwindcss/oxide-win32-arm64-msvc@4.1.15': + resolution: {integrity: sha512-sJGE5faXnNQ1iXeqmRin7Ds/ru2fgCiaQZQQz3ZGIDtvbkeV85rAZ0QJFMDg0FrqsffZG96H1U9AQlNBRLsHVg==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.1.13': - resolution: {integrity: sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==} + '@tailwindcss/oxide-win32-x64-msvc@4.1.15': + resolution: {integrity: sha512-NLeHE7jUV6HcFKS504bpOohyi01zPXi2PXmjFfkzTph8xRxDdxkRsXm/xDO5uV5K3brrE1cCwbUYmFUSHR3u1w==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.1.13': - resolution: {integrity: sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==} + '@tailwindcss/oxide@4.1.15': + resolution: {integrity: sha512-krhX+UOOgnsUuks2SR7hFafXmLQrKxB4YyRTERuCE59JlYL+FawgaAlSkOYmDRJdf1Q+IFNDMl9iRnBW7QBDfQ==} engines: {node: '>= 10'} - '@tailwindcss/postcss@4.1.13': - resolution: {integrity: sha512-HLgx6YSFKJT7rJqh9oJs/TkBFhxuMOfUKSBEPYwV+t78POOBsdQ7crhZLzwcH3T0UyUuOzU/GK5pk5eKr3wCiQ==} + '@tailwindcss/postcss@4.1.15': + resolution: {integrity: sha512-IZh8IT76KujRz6d15wZw4eoeViT4TqmzVWNNfpuNCTKiaZUwgr5vtPqO4HjuYDyx3MgGR5qgPt1HMzTeLJyA3g==} - '@tailwindcss/vite@4.1.13': - resolution: {integrity: sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==} + '@tailwindcss/vite@4.1.15': + resolution: {integrity: sha512-B6s60MZRTUil+xKoZoGe6i0Iar5VuW+pmcGlda2FX+guDuQ1G1sjiIy1W0frneVpeL/ZjZ4KEgWZHNrIm++2qA==} peerDependencies: vite: ^5.2.0 || ^6 || ^7 @@ -1972,77 +1998,77 @@ packages: peerDependencies: vue: ^2.7.0 || ^3.0.0 - '@tauri-apps/api@2.8.0': - resolution: {integrity: sha512-ga7zdhbS2GXOMTIZRT0mYjKJtR9fivsXzsyq5U3vjDL0s6DTMwYRm0UHNjzTY5dh4+LSC68Sm/7WEiimbQNYlw==} + '@tauri-apps/api@2.9.0': + resolution: {integrity: sha512-qD5tMjh7utwBk9/5PrTA/aGr3i5QaJ/Mlt7p8NilQ45WgbifUNPyKWsA63iQ8YfQq6R8ajMapU+/Q8nMcPRLNw==} - '@tauri-apps/cli-darwin-arm64@2.8.4': - resolution: {integrity: sha512-BKu8HRkYV01SMTa7r4fLx+wjgtRK8Vep7lmBdHDioP6b8XH3q2KgsAyPWfEZaZIkZ2LY4SqqGARaE9oilNe0oA==} + '@tauri-apps/cli-darwin-arm64@2.9.0': + resolution: {integrity: sha512-A2Wo2gvtPDymSApnLlKGVuX/b6rvVtdlTh80qta7j0jgc+tK0dyX8+puDufthUR3VPBRsVmV+XWfEJKnaqMLjg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tauri-apps/cli-darwin-x64@2.8.4': - resolution: {integrity: sha512-imb9PfSd/7G6VAO7v1bQ2A3ZH4NOCbhGJFLchxzepGcXf9NKkfun157JH9mko29K6sqAwuJ88qtzbKCbWJTH9g==} + '@tauri-apps/cli-darwin-x64@2.9.0': + resolution: {integrity: sha512-RfFB1BB7cqPuPWwKtROXYkN9F760jwYIHpxXgg5AocEQ0c6XynWPMLnYvy77jEyycbYt6cWeIwhiWQYsRbWESA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tauri-apps/cli-linux-arm-gnueabihf@2.8.4': - resolution: {integrity: sha512-Ml215UnDdl7/fpOrF1CNovym/KjtUbCuPgrcZ4IhqUCnhZdXuphud/JT3E8X97Y03TZ40Sjz8raXYI2ET0exzw==} + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.0': + resolution: {integrity: sha512-n1Gs41458ktY6FMTow/M6AWzy5EYhH1vJ2rdkNAwgX1u086xHCM8PbnowQVgJbRjhrJCUoq7E36EjSy2awHTvA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tauri-apps/cli-linux-arm64-gnu@2.8.4': - resolution: {integrity: sha512-pbcgBpMyI90C83CxE5REZ9ODyIlmmAPkkJXtV398X3SgZEIYy5TACYqlyyv2z5yKgD8F8WH4/2fek7+jH+ZXAw==} + '@tauri-apps/cli-linux-arm64-gnu@2.9.0': + resolution: {integrity: sha512-E2y+egQvm7nZbl6cv2Nt1kYw5H8rJG2IisGj9bzJbd8ygSsWJK4Rdw6KW9Ml9iZL7+GuYGihOtlMcyQ6uykw2g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-arm64-musl@2.8.4': - resolution: {integrity: sha512-zumFeaU1Ws5Ay872FTyIm7z8kfzEHu8NcIn8M6TxbJs0a7GRV21KBdpW1zNj2qy7HynnpQCqjAYXTUUmm9JAOw==} + '@tauri-apps/cli-linux-arm64-musl@2.9.0': + resolution: {integrity: sha512-TH09uepDx3LE7+DSzn9x04ilM0pouguwD6Cjq+A2NdDOu2UkZ3rWux77lMiiuO5fQAGYQAs0BtLjkzcTDoUHTQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-riscv64-gnu@2.8.4': - resolution: {integrity: sha512-qiqbB3Zz6IyO201f+1ojxLj65WYj8mixL5cOMo63nlg8CIzsP23cPYUrx1YaDPsCLszKZo7tVs14pc7BWf+/aQ==} + '@tauri-apps/cli-linux-riscv64-gnu@2.9.0': + resolution: {integrity: sha512-s0ENNDStw8tLScc/K5gS4xE8VrDaFbyCCgYHylrBsIqKQT4rYZLHH3WyzWxxLXIOhPzkczw6MPxt0GdUVPH97A==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] - '@tauri-apps/cli-linux-x64-gnu@2.8.4': - resolution: {integrity: sha512-TaqaDd9Oy6k45Hotx3pOf+pkbsxLaApv4rGd9mLuRM1k6YS/aw81YrsMryYPThrxrScEIUcmNIHaHsLiU4GMkw==} + '@tauri-apps/cli-linux-x64-gnu@2.9.0': + resolution: {integrity: sha512-stBAjrxfcrJLdmvF3jQskq/Ks/ar4TRyk45kfpD9/0c/8WWDKKWu+z6+ynGNkDYfm9GpbQOQDAjfX0BPWodZZw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tauri-apps/cli-linux-x64-musl@2.8.4': - resolution: {integrity: sha512-ot9STAwyezN8w+bBHZ+bqSQIJ0qPZFlz/AyscpGqB/JnJQVDFQcRDmUPFEaAtt2UUHSWzN3GoTJ5ypqLBp2WQA==} + '@tauri-apps/cli-linux-x64-musl@2.9.0': + resolution: {integrity: sha512-fxR/cG3DVuVFDoBCvAGzbVdNfHAdMfNG32aBR1j6y+0+Ys4ZF+a4SNBbMNGdJ2gQc6/QVciswYMSfSs9hP3GZA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tauri-apps/cli-win32-arm64-msvc@2.8.4': - resolution: {integrity: sha512-+2aJ/g90dhLiOLFSD1PbElXX3SoMdpO7HFPAZB+xot3CWlAZD1tReUFy7xe0L5GAR16ZmrxpIDM9v9gn5xRy/w==} + '@tauri-apps/cli-win32-arm64-msvc@2.9.0': + resolution: {integrity: sha512-YIyRvIaYyPRlf1XB0HOLI3q9rkBpb9a8Cl6+PRopTsnXQqlfZIBG5A2KmQO90PkvmyVC6CprGcvK0U28l4MUow==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tauri-apps/cli-win32-ia32-msvc@2.8.4': - resolution: {integrity: sha512-yj7WDxkL1t9Uzr2gufQ1Hl7hrHuFKTNEOyascbc109EoiAqCp0tgZ2IykQqOZmZOHU884UAWI1pVMqBhS/BfhA==} + '@tauri-apps/cli-win32-ia32-msvc@2.9.0': + resolution: {integrity: sha512-Z6a6J+KT0DvjoWSz/R0EDRUCr0DDl/sp10sL1OuJLGnsl36lXWF10YuhJua3dQHizzJzkHpWAV/k1EBxjf10fQ==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@tauri-apps/cli-win32-x64-msvc@2.8.4': - resolution: {integrity: sha512-XuvGB4ehBdd7QhMZ9qbj/8icGEatDuBNxyYHbLKsTYh90ggUlPa/AtaqcC1Fo69lGkTmq9BOKrs1aWSi7xDonA==} + '@tauri-apps/cli-win32-x64-msvc@2.9.0': + resolution: {integrity: sha512-Ja2LCRGhEBV/FxRF3ofGGO8ZAVrZt5P0MKkAyJ2wQGRB7xcFoadmnkKwpF0uFOjT/6ygh4f/RV46cjo3pbZxyA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tauri-apps/cli@2.8.4': - resolution: {integrity: sha512-ejUZBzuQRcjFV+v/gdj/DcbyX/6T4unZQjMSBZwLzP/CymEjKcc2+Fc8xTORThebHDUvqoXMdsCZt8r+hyN15g==} + '@tauri-apps/cli@2.9.0': + resolution: {integrity: sha512-Rq67+sgiiUot95kjn+6eP8gTRw9YL839gutPx5bAsGtlQ8n9S6qo2VSQkogYsiHlJs14hQpYACn/EIswH6sHzw==} engines: {node: '>= 10'} hasBin: true @@ -2070,8 +2096,8 @@ packages: '@tauri-apps/plugin-store@2.4.0': resolution: {integrity: sha512-PjBnlnH6jyI71MGhrPaxUUCsOzc7WO1mbc4gRhME0m2oxLgCqbksw6JyeKQimuzv4ysdpNO3YbmaY2haf82a3A==} - '@tybys/wasm-util@0.10.0': - resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -2079,8 +2105,8 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@24.6.2': - resolution: {integrity: sha512-d2L25Y4j+W3ZlNAeMKcy7yDsK425ibcAOO2t7aPTz6gNMH0z2GThtwENCDc0d/Pw9wgyRqE5Px1wkV7naz8ang==} + '@types/node@24.9.1': + resolution: {integrity: sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==} '@types/parse-path@7.1.0': resolution: {integrity: sha512-EULJ8LApcVEPbrfND0cRQqutIOdiIgJ1Mgrhpy755r14xMohPTEpkV/k28SJvuOs9bHRFW8x+KeDAEPiGQPB9Q==} @@ -2098,72 +2124,67 @@ packages: '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@typescript-eslint/eslint-plugin@8.43.0': - resolution: {integrity: sha512-8tg+gt7ENL7KewsKMKDHXR1vm8tt9eMxjJBYINf6swonlWgkYn5NwyIgXpbbDxTNU5DgpDFfj95prcTq2clIQQ==} + '@typescript-eslint/eslint-plugin@8.46.2': + resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.43.0 + '@typescript-eslint/parser': ^8.46.2 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.43.0': - resolution: {integrity: sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==} + '@typescript-eslint/parser@8.46.2': + resolution: {integrity: sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.43.0': - resolution: {integrity: sha512-htB/+D/BIGoNTQYffZw4uM4NzzuolCoaA/BusuSIcC8YjmBYQioew5VUZAYdAETPjeed0hqCaW7EHg+Robq8uw==} + '@typescript-eslint/project-service@8.46.2': + resolution: {integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.43.0': - resolution: {integrity: sha512-daSWlQ87ZhsjrbMLvpuuMAt3y4ba57AuvadcR7f3nl8eS3BjRc8L9VLxFLk92RL5xdXOg6IQ+qKjjqNEimGuAg==} + '@typescript-eslint/scope-manager@8.46.2': + resolution: {integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.43.0': - resolution: {integrity: sha512-ALC2prjZcj2YqqL5X/bwWQmHA2em6/94GcbB/KKu5SX3EBDOsqztmmX1kMkvAJHzxk7TazKzJfFiEIagNV3qEA==} + '@typescript-eslint/tsconfig-utils@8.46.2': + resolution: {integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.43.0': - resolution: {integrity: sha512-qaH1uLBpBuBBuRf8c1mLJ6swOfzCXryhKND04Igr4pckzSEW9JX5Aw9AgW00kwfjWJF0kk0ps9ExKTfvXfw4Qg==} + '@typescript-eslint/type-utils@8.46.2': + resolution: {integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.43.0': - resolution: {integrity: sha512-vQ2FZaxJpydjSZJKiSW/LJsabFFvV7KgLC5DiLhkBcykhQj8iK9BOaDmQt74nnKdLvceM5xmhaTF+pLekrxEkw==} + '@typescript-eslint/types@8.46.2': + resolution: {integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.43.0': - resolution: {integrity: sha512-7Vv6zlAhPb+cvEpP06WXXy/ZByph9iL6BQRBDj4kmBsW98AqEeQHlj/13X+sZOrKSo9/rNKH4Ul4f6EICREFdw==} + '@typescript-eslint/typescript-estree@8.46.2': + resolution: {integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.43.0': - resolution: {integrity: sha512-S1/tEmkUeeswxd0GGcnwuVQPFWo8NzZTOMxCvw8BX7OMxnNae+i8Tm7REQen/SwUIPoPqfKn7EaZ+YLpiB3k9g==} + '@typescript-eslint/utils@8.46.2': + resolution: {integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.43.0': - resolution: {integrity: sha512-T+S1KqRD4sg/bHfLwrpF/K3gQLBM1n7Rp7OjjikjTEssI2YJzQpi5WXoynOaQ93ERIuq3O8RBTOUYDKszUCEHw==} + '@typescript-eslint/visitor-keys@8.46.2': + resolution: {integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unhead/vue@2.0.14': - resolution: {integrity: sha512-Ym9f+Kd2Afqek2FtUHvYvK+j2uZ2vbZ6Rr9NCnNGGBMdmafAuiZpT117YGyh0ARcueL6Znia0U8ySqPsnHOZIg==} - peerDependencies: - vue: '>=3.5.18' - - '@unhead/vue@2.0.17': - resolution: {integrity: sha512-jzmGZYeMAhETV6qfetmLbZzUjjx1TjdNvFSobeFZb73D7dwD9wl/nOAx36qq+TvjZsLJdF5PQWToz2oDGAUqCg==} + '@unhead/vue@2.0.19': + resolution: {integrity: sha512-7BYjHfOaoZ9+ARJkT10Q2TjnTUqDXmMpfakIAsD/hXiuff1oqWg1xeXT5+MomhNcC15HbiABpbbBmITLSHxdKg==} peerDependencies: vue: '>=3.5.18' @@ -2262,11 +2283,15 @@ packages: cpu: [x64] os: [win32] - '@vercel/nft@0.30.1': - resolution: {integrity: sha512-2mgJZv4AYBFkD/nJ4QmiX5Ymxi+AisPLPcS/KPXVqniyQNqKXX+wjieAbDXQP3HcogfEbpHoRMs49Cd4pfkk8g==} + '@vercel/nft@0.30.3': + resolution: {integrity: sha512-UEq+eF0ocEf9WQCV1gktxKhha36KDs7jln5qii6UpPf5clMqDc0p3E7d9l2Smx0i9Pm1qpq4S4lLfNl97bbv6w==} engines: {node: '>=18'} hasBin: true + '@vercel/oidc@3.0.3': + resolution: {integrity: sha512-yNEQvPcVrK9sIe637+I0jD6leluPxzwJKx/Haw6F4H77CdDsszUn5V3o96LPziXkSNE2B83+Z3mjqGKBK/R6Gg==} + engines: {node: '>= 20'} + '@vitejs/plugin-vue-jsx@5.1.1': resolution: {integrity: sha512-uQkfxzlF8SGHJJVH966lFTdjM/lGcwJGzwAHpVqAPDD/QcsqoUGa+q31ox1BrUfi+FLP2ChVp7uLXE3DkHyDdQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2324,17 +2349,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.21': - resolution: {integrity: sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==} + '@vue/compiler-core@3.5.22': + resolution: {integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==} - '@vue/compiler-dom@3.5.21': - resolution: {integrity: sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==} + '@vue/compiler-dom@3.5.22': + resolution: {integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==} - '@vue/compiler-sfc@3.5.21': - resolution: {integrity: sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==} + '@vue/compiler-sfc@3.5.22': + resolution: {integrity: sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==} - '@vue/compiler-ssr@3.5.21': - resolution: {integrity: sha512-vKQ5olH5edFZdf5ZrlEgSO1j1DMA4u23TVK5XR1uMhvwnYvVdDF0nHXJUblL/GvzlShQbjhZZ2uvYmDlAbgo9w==} + '@vue/compiler-ssr@3.5.22': + resolution: {integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -2364,22 +2389,30 @@ packages: typescript: optional: true - '@vue/reactivity@3.5.21': - resolution: {integrity: sha512-3ah7sa+Cwr9iiYEERt9JfZKPw4A2UlbY8RbbnH2mGCE8NwHkhmlZt2VsH0oDA3P08X3jJd29ohBDtX+TbD9AsA==} - - '@vue/runtime-core@3.5.21': - resolution: {integrity: sha512-+DplQlRS4MXfIf9gfD1BOJpk5RSyGgGXD/R+cumhe8jdjUcq/qlxDawQlSI8hCKupBlvM+3eS1se5xW+SuNAwA==} - - '@vue/runtime-dom@3.5.21': - resolution: {integrity: sha512-3M2DZsOFwM5qI15wrMmNF5RJe1+ARijt2HM3TbzBbPSuBHOQpoidE+Pa+XEaVN+czbHf81ETRoG1ltztP2em8w==} - - '@vue/server-renderer@3.5.21': - resolution: {integrity: sha512-qr8AqgD3DJPJcGvLcJKQo2tAc8OnXRcfxhOJCPF+fcfn5bBGz7VCcO7t+qETOPxpWK1mgysXvVT/j+xWaHeMWA==} + '@vue/language-core@3.1.1': + resolution: {integrity: sha512-qjMY3Q+hUCjdH+jLrQapqgpsJ0rd/2mAY02lZoHG3VFJZZZKLjAlV+Oo9QmWIT4jh8+Rx8RUGUi++d7T9Wb6Mw==} peerDependencies: - vue: 3.5.21 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - '@vue/shared@3.5.21': - resolution: {integrity: sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==} + '@vue/reactivity@3.5.22': + resolution: {integrity: sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==} + + '@vue/runtime-core@3.5.22': + resolution: {integrity: sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==} + + '@vue/runtime-dom@3.5.22': + resolution: {integrity: sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==} + + '@vue/server-renderer@3.5.22': + resolution: {integrity: sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==} + peerDependencies: + vue: 3.5.22 + + '@vue/shared@3.5.22': + resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==} '@vueuse/components@13.9.0': resolution: {integrity: sha512-0DDFpjG3hEEK+3YgSzE/OzOGqpo/KmxcXWzW2YdmgahZvaoUdegn68GmbdcHRJE7CH55dDj13Cz47iN8QoI3jQ==} @@ -2501,8 +2534,8 @@ packages: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - ai@5.0.51: - resolution: {integrity: sha512-ToKW099QWUJNqePZbWGg8FSfxTxS3UN9U6yCla8rYdW0EBTDNPnpRwK1N6ER9TfV+dFtdUu+ZgKSlhQnEThriQ==} + ai@5.0.76: + resolution: {integrity: sha512-ZCxi1vrpyCUnDbtYrO/W8GLvyacV9689f00yshTIQ3mFFphbD7eIv40a2AOZBv3GGRA7SSRYIDnr56wcS/gyQg==} engines: {node: '>=18'} peerDependencies: zod: ^3.22.4 @@ -2510,8 +2543,11 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - alien-signals@2.0.7: - resolution: {integrity: sha512-wE7y3jmYeb0+h6mr5BOovuqhFv22O/MV9j5p0ndJsa7z1zJNPGQ4ph5pQk/kTTCWRC3xsA4SmtwmkzQO+7NCNg==} + alien-signals@2.0.8: + resolution: {integrity: sha512-844G1VLkk0Pe2SJjY0J8vp8ADI73IM4KliNu2OGlYzWpO28NexEUvjHTcFjFX3VXoiUtwTbHxLNI9ImkcoBqzA==} + + alien-signals@3.0.3: + resolution: {integrity: sha512-2JXjom6R7ZwrISpUphLhf4htUq1aKRCennTJ6u9kFfr3sLmC9+I4CxxVi+McoFnIg+p1HnVrfLT/iCt4Dlz//Q==} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -2529,8 +2565,8 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - ansis@4.1.0: - resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} engines: {node: '>=14'} anymatch@3.1.3: @@ -2556,13 +2592,13 @@ packages: resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} engines: {node: '>=10'} - ast-kit@2.1.2: - resolution: {integrity: sha512-cl76xfBQM6pztbrFWRnxbrDm9EOqDr1BF6+qQnnDZG2Co2LjyUktkN9GTJfBAfdae+DbT2nJf2nCGAdDDN7W2g==} - engines: {node: '>=20.18.0'} + ast-kit@2.1.3: + resolution: {integrity: sha512-TH+b3Lv6pUjy/Nu0m6A2JULtdzLpmqF9x1Dhj00ZoEiML8qvVA9j1flkzTKNYgdEhWrjDwtWNpyyCUbfQe514g==} + engines: {node: '>=20.19.0'} - ast-walker-scope@0.8.2: - resolution: {integrity: sha512-3pYeLyDZ6nJew9QeBhS4Nly02269Dkdk32+zdbbKmL6n4ZuaGorwwA+xx12xgOciA8BF1w9x+dlH7oUkFTW91w==} - engines: {node: '>=20.18.0'} + ast-walker-scope@0.8.3: + resolution: {integrity: sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==} + engines: {node: '>=20.19.0'} async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} @@ -2577,18 +2613,32 @@ packages: peerDependencies: postcss: ^8.1.0 - b4a@1.6.7: - resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} + b4a@1.7.3: + resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.6.1: - resolution: {integrity: sha512-AuTJkq9XmE6Vk0FJVNq5QxETrSA/vKHarWVBG5l/JbdCL1prJemiyJqUS0jrlXO0MftuPq4m3YVYhoNc5+aE/g==} + bare-events@2.8.0: + resolution: {integrity: sha512-AOhh6Bg5QmFIXdViHbMc2tLDsBIRxdkIaIddPslJF9Z5De3APBScuqGP2uThXnIpqFrgoxMNC6km7uXNIMLHXA==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + baseline-browser-mapping@2.8.19: + resolution: {integrity: sha512-zoKGUdu6vb2jd3YOq0nnhEDQVbPcHhco3UImJrv5dSkvxTc2pl2WjOPsjZXDwPDSl5eghIMuY3R6J9NDKF3KcQ==} + hasBin: true + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -2596,8 +2646,8 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - birpc@2.5.0: - resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==} + birpc@2.6.1: + resolution: {integrity: sha512-LPnFhlDpdSH6FJhJyn4M0kFO7vtQ5iPw24FnG0y21q09xC7e8+1LeR31S1MAIrDAHp4m7aas4bEkTDTvMAtebQ==} blob-to-buffer@1.2.9: resolution: {integrity: sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==} @@ -2618,8 +2668,8 @@ packages: brotli@1.3.3: resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} - browserslist@4.25.4: - resolution: {integrity: sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==} + browserslist@4.26.3: + resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -2647,8 +2697,8 @@ packages: peerDependencies: esbuild: '>=0.18' - c12@3.2.0: - resolution: {integrity: sha512-ixkEtbYafL56E6HiFuonMm1ZjoKtIo7TH68/uiEq4DAwv9NcUX2nJ95F8TrbMeNjqIkZpruo3ojXQJ+MGG5gcQ==} + c12@3.3.1: + resolution: {integrity: sha512-LcWQ01LT9tkoUINHgpIOv3mMs+Abv7oVCrtpMRi1PaapVEpWoMga5WuT7/DqFTu7URP9ftbOmimNw1KNIGh9DQ==} peerDependencies: magicast: ^0.3.5 peerDependenciesMeta: @@ -2666,8 +2716,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001741: - resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==} + caniuse-lite@1.0.30001751: + resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -2688,8 +2738,8 @@ packages: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} - ci-info@4.3.0: - resolution: {integrity: sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==} + ci-info@4.3.1: + resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} engines: {node: '>=8'} citty@0.1.6: @@ -2703,6 +2753,10 @@ packages: resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} engines: {node: '>=18'} + clipboardy@5.0.0: + resolution: {integrity: sha512-MQfKHaD09eP80Pev4qBxZLbxJK/ONnqfSYAPlCmPh+7BDboYtO/3BmB6HGzxDIT0SlTRc2tzS8lQqfcdLtZ0Kg==} + engines: {node: '>=20'} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -2775,12 +2829,12 @@ packages: resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} engines: {node: '>=18'} - copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} + copy-anything@4.0.5: + resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} + engines: {node: '>=18'} - core-js-compat@3.45.1: - resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==} + core-js-compat@3.46.0: + resolution: {integrity: sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==} core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -2808,8 +2862,8 @@ packages: crossws@0.3.5: resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} - css-declaration-sorter@7.2.0: - resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} + css-declaration-sorter@7.3.0: + resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 @@ -2863,8 +2917,8 @@ packages: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} - db0@0.3.2: - resolution: {integrity: sha512-xzWNQ6jk/+NtdfLyXEipbX55dmDSeteLFt/ayF+wZUU5bzKgmrDOxmInUTbyVRp46YwnJdkDA1KhB7WIXFofJw==} + db0@0.3.4: + resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==} peerDependencies: '@electric-sql/pglite': '*' '@libsql/client': '*' @@ -2889,15 +2943,6 @@ packages: de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -2953,12 +2998,12 @@ packages: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} - detect-libc@2.0.4: - resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - devalue@5.3.2: - resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==} + devalue@5.4.2: + resolution: {integrity: sha512-MwPZTKEPK2k8Qgfmqrd48ZKVvzSQjgW0lXLxiIBA8dQjtf/6mw6pggHNLcyDKyf+fI6eXxlQwPsfaCMTU5U+Bw==} dfa@1.2.0: resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==} @@ -2980,24 +3025,24 @@ packages: domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - dot-prop@9.0.0: - resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} - engines: {node: '>=18'} + dot-prop@10.1.0: + resolution: {integrity: sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==} + engines: {node: '>=20'} dotenv@16.6.1: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} - dotenv@17.2.2: - resolution: {integrity: sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q==} + dotenv@17.2.3: + resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} - drizzle-kit@0.31.4: - resolution: {integrity: sha512-tCPWVZWZqWVx2XUsVpJRnH9Mx0ClVOf5YUHerZ5so1OKSlqww4zy1R5ksEdGRcO3tM3zj0PYN6V48TbQCL1RfA==} + drizzle-kit@0.31.5: + resolution: {integrity: sha512-+CHgPFzuoTQTt7cOYCV6MOw2w8vqEn/ap1yv4bpZOWL03u7rlVRQhUY0WYT3rHsgVTXwYQDZaSUJSQrMBUKuWg==} hasBin: true - drizzle-orm@0.44.5: - resolution: {integrity: sha512-jBe37K7d8ZSKptdKfakQFdeljtu3P2Cbo7tJoJSVZADzIKOBo9IAJPOmMsH2bZl90bZgh8FQlD8BjxXA/zuBkQ==} + drizzle-orm@0.44.6: + resolution: {integrity: sha512-uy6uarrrEOc9K1u5/uhBFJbdF5VJ5xQ/Yzbecw3eAYOunv5FDeYkR2m8iitocdHBOHbvorviKOW5GVw0U1j4LQ==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=4' @@ -3097,8 +3142,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.215: - resolution: {integrity: sha512-TIvGp57UpeNetj/wV/xpFNpWGb0b/ROw372lHPx5Aafx02gjTBtWnEEcaSX3W2dLM3OSdGGyHX/cHl01JQsLaQ==} + electron-to-chromium@1.5.238: + resolution: {integrity: sha512-khBdc+w/Gv+cS8e/Pbnaw/FXcBUeKrRVik9IxfXtgREOWyJhR4tj43n3amkVogJ/yeQUqzkrZcFhtIxIdqmmcQ==} embla-carousel-auto-height@8.6.0: resolution: {integrity: sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ==} @@ -3181,8 +3226,8 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.25.9: - resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} + esbuild@0.25.11: + resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==} engines: {node: '>=18'} hasBin: true @@ -3215,8 +3260,8 @@ packages: peerDependencies: eslint: ^9.5.0 - eslint-flat-config-utils@2.1.1: - resolution: {integrity: sha512-K8eaPkBemHkfbYsZH7z4lZ/tt6gNSsVh535Wh9W9gQBS2WjvfUbbVr2NZR3L1yiRCLuOEimYfPxCxODczD4Opg==} + eslint-flat-config-utils@2.1.4: + resolution: {integrity: sha512-bEnmU5gqzS+4O+id9vrbP43vByjF+8KOs+QuuV4OlqAuXmnRW2zfI/Rza1fQvdihQ5h4DUo0NqFAiViD4mSrzQ==} eslint-import-context@0.1.9: resolution: {integrity: sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==} @@ -3273,14 +3318,17 @@ packages: peerDependencies: eslint: '>=9.29.0' - eslint-plugin-vue@10.4.0: - resolution: {integrity: sha512-K6tP0dW8FJVZLQxa2S7LcE1lLw3X8VvB3t887Q6CLrFVxHYBXGANbXvwNzYIu6Ughx1bSJ5BDT0YB3ybPT39lw==} + eslint-plugin-vue@10.5.1: + resolution: {integrity: sha512-SbR9ZBUFKgvWAbq3RrdCtWaW0IKm6wwUiApxf3BVTNfqUIo4IQQmreMg2iHFJJ6C/0wss3LXURBJ1OwS/MhFcQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 '@typescript-eslint/parser': ^7.0.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0 vue-eslint-parser: ^10.0.0 peerDependenciesMeta: + '@stylistic/eslint-plugin': + optional: true '@typescript-eslint/parser': optional: true @@ -3307,8 +3355,8 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.35.0: - resolution: {integrity: sha512-QePbBFMJFjgmlE+cXAlbHZbHpdFVS2E/6vzCy7aKlebddvl1vadiC4JFV5u/wqTkNUwEV8WrQi257jf5f06hrg==} + eslint@9.38.0: + resolution: {integrity: sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -3360,6 +3408,9 @@ packages: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -3372,6 +3423,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + execa@9.6.0: + resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} + engines: {node: ^18.19.0 || >=20.5.0} + exsolve@1.0.7: resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} @@ -3391,8 +3446,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-npm-meta@0.4.6: - resolution: {integrity: sha512-zbBBOAOlzxfrU4WSnbCHk/nR6Vf32lSEPxDEvNOR08Z5DSZ/A6qJu0rqrHVcexBTd1hc2gim998xnqF/R1PuEw==} + fast-npm-meta@0.4.7: + resolution: {integrity: sha512-aZU3i3eRcSb2NCq8i6N6IlyiTyF6vqAqzBGl2NBF6ngNx/GIqfYbkLDIKZ4z4P0o/RmtsFnVqHwdrSm13o4tnQ==} fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} @@ -3410,6 +3465,10 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -3502,8 +3561,12 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-tsconfig@4.10.1: - resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + + get-tsconfig@4.13.0: + resolution: {integrity: sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==} giget@2.0.0: resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} @@ -3539,13 +3602,13 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@16.3.0: - resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} + globals@16.4.0: + resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} engines: {node: '>=18'} - globby@14.1.0: - resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} - engines: {node: '>=18'} + globby@15.0.0: + resolution: {integrity: sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw==} + engines: {node: '>=20'} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -3597,6 +3660,10 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -3608,8 +3675,8 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - image-meta@0.2.1: - resolution: {integrity: sha512-K6acvFaelNxx8wc2VjbIzXKDVB0Khs0QT35U6NkGfTdCmjLNcO2945m7RFNR9/RPVFm48hq7QPzK8uGH18HCGw==} + image-meta@0.2.2: + resolution: {integrity: sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA==} import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} @@ -3633,8 +3700,8 @@ packages: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ioredis@5.7.0: - resolution: {integrity: sha512-NUcA93i1lukyXU+riqEyPtSEkyFq8tX90uL659J+qpCZ3rEdViB/APC58oAhIh3+bJln2hzdlZbBZsGNrlsR8g==} + ioredis@5.8.2: + resolution: {integrity: sha512-C6uC+kleiIMmjViJINWk80sOQw5lEzse1ZmvD+S/s8p8CWapftSaC+kocGTx6xrbrJ4WmYQGC08ffHLr6ToR6Q==} engines: {node: '>=12.22.0'} iron-webcrypto@1.2.1: @@ -3694,6 +3761,10 @@ packages: resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} engines: {node: '>=12'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} @@ -3708,9 +3779,21 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + is-wayland@0.1.0: + resolution: {integrity: sha512-QkbMsWkIfkrzOPxenwye0h56iAXirZYHG9eHVPb22fO9y+wPbaX/CHacOWBa/I++4ohTcByimhM1/nyCsH8KNA==} + engines: {node: '>=20'} + + is-what@5.5.0: + resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} + engines: {node: '>=18'} is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} @@ -3737,8 +3820,8 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jiti@2.5.1: - resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true js-base64@3.7.8: @@ -3792,8 +3875,8 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-eslint-parser@2.4.0: - resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + jsonc-eslint-parser@2.4.1: + resolution: {integrity: sha512-uuPNLJkKN8NXAlZlQ6kmUF9qO+T6Kyd7oV4+/7yy8Jz6+MZNyhPq8EdLpdfnPVzUC8qSf1b4j1azKaGnFsjmsw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} keyv@4.5.4: @@ -3833,68 +3916,74 @@ packages: cpu: [x64, arm64, wasm32, arm] os: [darwin, linux, win32] - lightningcss-darwin-arm64@1.30.1: - resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + lightningcss-android-arm64@1.30.2: + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.30.2: + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.30.1: - resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + lightningcss-darwin-x64@1.30.2: + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.30.1: - resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + lightningcss-freebsd-x64@1.30.2: + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.30.1: - resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + lightningcss-linux-arm-gnueabihf@1.30.2: + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.30.1: - resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + lightningcss-linux-arm64-gnu@1.30.2: + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - lightningcss-linux-arm64-musl@1.30.1: - resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + lightningcss-linux-arm64-musl@1.30.2: + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - lightningcss-linux-x64-gnu@1.30.1: - resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + lightningcss-linux-x64-gnu@1.30.2: + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - lightningcss-linux-x64-musl@1.30.1: - resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + lightningcss-linux-x64-musl@1.30.2: + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - lightningcss-win32-arm64-msvc@1.30.1: - resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + lightningcss-win32-arm64-msvc@1.30.2: + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.30.1: - resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + lightningcss-win32-x64-msvc@1.30.2: + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.30.1: - resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + lightningcss@1.30.2: + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} lilconfig@3.1.3: @@ -3948,9 +4037,9 @@ packages: magic-regexp@0.10.0: resolution: {integrity: sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==} - magic-string-ast@1.0.2: - resolution: {integrity: sha512-8ngQgLhcT0t3YBdn9CGkZqCYlvwW9pm7aWJwd7AxseVWf1RU8ZHCQvG1mt3N5vvUme+pXTcHB8G/7fE666U8Vw==} - engines: {node: '>=20.18.0'} + magic-string-ast@1.0.3: + resolution: {integrity: sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==} + engines: {node: '>=20.19.0'} magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} @@ -3988,8 +4077,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - mime@4.0.7: - resolution: {integrity: sha512-2OfDPL+e03E0LrXaGYOtTFIYhiuzep94NSsuhrNULq+stylcJedcHdzHtz0atMUuGwJfFYs0YL5xeC/Ca2x0eQ==} + mime@4.1.0: + resolution: {integrity: sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==} engines: {node: '>=16'} hasBin: true @@ -3997,10 +4086,6 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - minimatch@10.0.3: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} @@ -4020,18 +4105,13 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@3.0.2: - resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true - mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} @@ -4044,8 +4124,8 @@ packages: motion-utils@12.23.6: resolution: {integrity: sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==} - motion-v@1.7.1: - resolution: {integrity: sha512-B22fYcHGx05moUtoIH0ZP/JzeacGOHzLkLmMTKU9tRB+uVMSfgqiXVzZb602qiG1ap8W7TZ+5RD5R3MmODu9oA==} + motion-v@1.7.3: + resolution: {integrity: sha512-lwgrge7Y7FF9LxBxZ//MsSLPPjh4z1yYE9ie236Pa89mRCsBlONXbLcseln6G6LyAG8pt3PpzUxWt2grwMcBAA==} peerDependencies: '@vueuse/core': '>=10.0.0' vue: '>=3.0.0' @@ -4065,24 +4145,24 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.1.5: - resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==} + nanoid@5.1.6: + resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==} engines: {node: ^18 || >=20} hasBin: true nanotar@0.2.0: resolution: {integrity: sha512-9ca1h0Xjvo9bEkE4UOxgAzLV0jHKe6LMaxo37ND2DAhhAtd0j8pR1Wxz+/goMrZO8AEZTWCmyaOsFI/W5AdpCQ==} - napi-postinstall@0.3.3: - resolution: {integrity: sha512-uTp172LLXSxuSYHv/kou+f6KW3SMppU9ivthaVTXian9sOt3XM/zHYHpRZiLgQoxeWfYUnslNWQHF1+G71xcow==} + napi-postinstall@0.3.4: + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} hasBin: true natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - nitropack@2.12.5: - resolution: {integrity: sha512-KDTFhATOzqWHXFZkNlAH9J989Wibpl6s38eaYZj/Km2GbcUBLdcDxL4x7vd9pHWhD1Yk1u5oLh8+MsqJeQ7GMA==} + nitropack@2.12.7: + resolution: {integrity: sha512-HWyzMBj2d8b14J6Cfnxv97ztnuHIgXNcrGiWCruLfb2ZfKsp6OCbZYJm5T9sv/ZKl8LedhatrMKG66HWJux9Rg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -4126,8 +4206,8 @@ packages: node-mock-http@1.0.3: resolution: {integrity: sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==} - node-releases@2.0.20: - resolution: {integrity: sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA==} + node-releases@2.0.26: + resolution: {integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==} nopt@8.1.0: resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} @@ -4159,8 +4239,8 @@ packages: nuxt-zod-i18n@1.12.1: resolution: {integrity: sha512-QXEKQnX4r+UzCxCi+bAfhWZK/JMm4ij3WTItbkyiPEucbKu/A73ghmICuIiPNoyr/ct8PXN1qtc8wdjGs1MSAA==} - nuxt@4.1.1: - resolution: {integrity: sha512-xLDbWgz3ggAfUjcbmTzmLLPWOEB61thnjnqyasZlYyh/Ty2EDT1qvOiM9HT+9ycBxElI2DmyYewY8WOPRxWMiQ==} + nuxt@4.1.3: + resolution: {integrity: sha512-FPl+4HNIOTRYWQXtsZe5KJAr/eddFesuXABvcSTnFLYckIfnxcistwmbtPlkJhkW6vr/Jdhef5QqqYYkBsowGg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -4172,8 +4252,8 @@ packages: '@types/node': optional: true - nypm@0.6.1: - resolution: {integrity: sha512-hlacBiRiv1k9hZFiphPUkfSQ/ZfQzZDzC+8z0wL3lvDAOUu/2NnChkKuMoMjNur/9OpKuz2QsIeiPVN0xM5Q0w==} + nypm@0.6.2: + resolution: {integrity: sha512-7eM+hpOtrKrBDCh7Ypu2lJ9Z7PNZBdi/8AT3AX8xoCj43BBVHD0hPSTEvMtkMpfs8FCqBGhxB+uToIQimA111g==} engines: {node: ^14.16.0 || >=16.10.0} hasBin: true @@ -4183,9 +4263,9 @@ packages: ohash@2.0.11: resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - on-change@5.0.1: - resolution: {integrity: sha512-n7THCP7RkyReRSLkJb8kUWoNsxUIBxTkIp3JKno+sEz6o/9AJ3w3P9fzQkITEkMwyTKJjZciF3v/pVoouxZZMg==} - engines: {node: '>=18'} + on-change@6.0.0: + resolution: {integrity: sha512-J7kocOS+ZNyjmW6tUUTtA7jLt8GjQlrOdz9z3yLNTvdsswO+b5lYSdMVzDczWnooyFAkkQiKyap5g/Zba+cFRA==} + engines: {node: '>=20'} on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} @@ -4207,31 +4287,36 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxc-minify@0.86.0: - resolution: {integrity: sha512-pjtM94KElw/RxF3R1ls1ADcBUyZcrCgn0qeL4nD8cOotfzeVFa0xXwQQeCkk+5GPiOqdRApNFuJvK//lQgpqJw==} - engines: {node: '>=14.0.0'} + oxc-minify@0.94.0: + resolution: {integrity: sha512-7+9iyxwpzfjuiEnSqNJYzTsC1Oud742PPkr/4S1bGY930U4tApdLEK8zmgbT57c1/56cfNOndqZaeQZiAfnJ5A==} + engines: {node: ^20.19.0 || >=22.12.0} oxc-parser@0.81.0: resolution: {integrity: sha512-iceu9s70mZyjKs6V2QX7TURkJj1crnKi9csGByWvOWwrR5rwq0U0f49yIlRAzMP4t7K2gRC1MnyMZggMhiwAVg==} engines: {node: '>=20.0.0'} - oxc-parser@0.86.0: - resolution: {integrity: sha512-v9+uomgqyLSxlq3qlaMqJJtXg2+rUsa368p/zkmgi5OMGmcZAtZt5GIeSVFF84iNET+08Hdx/rUtd/FyIdfNFQ==} - engines: {node: '>=20.0.0'} + oxc-parser@0.94.0: + resolution: {integrity: sha512-refms9HQoAlTYIazONYkuX5A3rFGPddbD6Otyc+A0/pj1WTttR8TsZRlMzQxCfhexxfrbinqd7ebkEoYNuCmLQ==} + engines: {node: ^20.19.0 || >=22.12.0} oxc-transform@0.81.0: resolution: {integrity: sha512-Sfb7sBZJoA7GPNlgeVvwqSS+fKFG5Lu2N4CJIlKPdkBgMDwVqUPOTVrEXHYaoYilA2x0VXVwLWqjcW3CwrfzSA==} engines: {node: '>=14.0.0'} - oxc-transform@0.86.0: - resolution: {integrity: sha512-Ghgm/zzjPXROMpljLy4HYBcko/25sixWi2yJQJ6rDu/ltgFB1nEQ4JYCYV5F+ENt0McsJkcgmX5I4dRfDViyDA==} - engines: {node: '>=14.0.0'} + oxc-transform@0.94.0: + resolution: {integrity: sha512-nHFFyPVWNNe7WLsAiQ6iwfsuTW/1esT+BJg+9rlvcSa0mfcZTpNo3TlBfj9IerLdDmYHJnSYsx8jjFZhoGfZ1w==} + engines: {node: ^20.19.0 || >=22.12.0} oxc-walker@0.4.0: resolution: {integrity: sha512-x5TJAZQD3kRnRBGZ+8uryMZUwkTYddwzBftkqyJIcmpBOXmoK/fwriRKATjZroR2d+aS7+2w1B0oz189bBTwfw==} peerDependencies: oxc-parser: '>=0.72.0' + oxc-walker@0.5.2: + resolution: {integrity: sha512-XYoZqWwApSKUmSDEFeOKdy3Cdh95cOcSU8f7yskFWE4Rl3cfL5uwyY+EV7Brk9mdNLy+t5SseJajd6g7KncvlA==} + peerDependencies: + oxc-parser: '>=0.72.0' + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -4251,8 +4336,8 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - package-manager-detector@1.3.0: - resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} + package-manager-detector@1.5.0: + resolution: {integrity: sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw==} pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} @@ -4264,6 +4349,10 @@ packages: parse-imports-exports@0.2.4: resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse-path@7.1.0: resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==} @@ -4536,10 +4625,14 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-bytes@7.0.1: - resolution: {integrity: sha512-285/jRCYIbMGDciDdrw0KPNC4LKEEwz/bwErcYNxSJOi4CpGUuLpb9gQpg3XJP0XYj9ldSRluXxih4lX2YN8Xw==} + pretty-bytes@7.1.0: + resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} engines: {node: '>=20'} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} + process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -4642,8 +4735,8 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} hasBin: true @@ -4657,8 +4750,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup-plugin-visualizer@6.0.3: - resolution: {integrity: sha512-ZU41GwrkDcCpVoffviuM9Clwjy5fcUxlz0oMoTXTYsK+tcIFzbdacnrr2n8TXcHxbGKKXtOdjxM2HUS4HjkwIw==} + rollup-plugin-visualizer@6.0.5: + resolution: {integrity: sha512-9+HlNgKCVbJDs8tVtjQ43US12eqaiHyyiLMdBwQ7vSZPiHMysGNo2E88TAp1si5wx8NAoYriI2A5kuKfIakmJg==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -4670,8 +4763,8 @@ packages: rollup: optional: true - rollup@4.50.1: - resolution: {integrity: sha512-78E9voJHwnXQMiQdiqswVLZwJIzdBKJ1GdI5Zx6XwoFKUIk09/sSrr+05QFzvYb8q6Y9pPV45zzDuYa3907TZA==} + rollup@4.52.5: + resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4702,8 +4795,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true @@ -4785,6 +4878,11 @@ packages: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} engines: {node: '>=0.10.0'} + srvx@0.8.16: + resolution: {integrity: sha512-hmcGW4CgroeSmzgF1Ihwgl+Ths0JqAJ7HwjP2X7e3JzY7u4IydLMcdnlqGQiQGUswz+PO9oh/KtCpOISIvs9QQ==} + engines: {node: '>=20.16.0'} + hasBin: true + stable-hash-x@0.2.0: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} @@ -4800,11 +4898,11 @@ packages: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - streamx@2.22.1: - resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==} + streamx@2.23.0: + resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -4832,16 +4930,20 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - strip-indent@4.0.0: - resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + + strip-indent@4.1.1: + resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==} engines: {node: '>=12'} strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + strip-literal@3.1.0: + resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} structured-clone-es@1.0.0: resolution: {integrity: sha512-FL8EeKFFyNQv5cMnXI31CIMCsFarSVI2bF0U0ImeNE3g/F1IvJQyqzOXxPBRXiwQfyBTlbNe88jh1jFW0O/jiQ==} @@ -4852,8 +4954,8 @@ packages: peerDependencies: postcss: ^8.4.32 - superjson@2.2.2: - resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} + superjson@2.2.3: + resolution: {integrity: sha512-ay3d+LW/S6yppKoTz3Bq4mG0xrS5bFwfWEBmQfbC7lt5wmtk+Obq0TxVuA9eYRirBTQb1K3eEpBRHMQEo0WyVw==} engines: {node: '>=16'} supports-color@10.2.2: @@ -4873,8 +4975,8 @@ packages: engines: {node: '>=16'} hasBin: true - swiper@12.0.2: - resolution: {integrity: sha512-y8F6fDGXmTVVgwqJj6I00l4FdGuhpFJn0U/9Ucn1MwWOw3NdLV8aH88pZOjyhBgU/6PyBlUx+JuAQ5KMWz906Q==} + swiper@12.0.3: + resolution: {integrity: sha512-BHd6U1VPEIksrXlyXjMmRWO0onmdNPaTAFduzqR3pgjvi7KfmUCAm/0cj49u2D7B0zNjMw02TSeXfinC1hDCXg==} engines: {node: '>= 4.7.0'} swrv@1.1.0: @@ -4886,6 +4988,10 @@ packages: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} + tailwind-merge@3.3.1: resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} @@ -4899,18 +5005,18 @@ packages: tailwind-merge: optional: true - tailwindcss@4.1.13: - resolution: {integrity: sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==} + tailwindcss@4.1.15: + resolution: {integrity: sha512-k2WLnWkYFkdpRv+Oby3EBXIyQC8/s1HOFMBUViwtAh6Z5uAozeUSMQlIsn/c6Q2iJzqG6aJT3wdPaRNj70iYxQ==} - tapable@2.2.3: - resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==} + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@7.4.3: - resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + tar@7.5.1: + resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==} engines: {node: '>=18'} terser@5.44.0: @@ -4930,10 +5036,6 @@ packages: tinyexec@1.0.1: resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} - engines: {node: '>=12.0.0'} - tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} @@ -4971,22 +5073,22 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - tw-animate-css@1.3.8: - resolution: {integrity: sha512-Qrk3PZ7l7wUcGYhwZloqfkWCmaXZAoqjkdbIDvzfGshwGtexa/DAs9koXxIkrpEasyevandomzCBAV1Yyop5rw==} + tw-animate-css@1.4.0: + resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==} type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} + type-fest@5.1.0: + resolution: {integrity: sha512-wQ531tuWvB6oK+pchHIu5lHe5f5wpSCqB8Kf4dWQRbOYc9HTge7JL0G4Qd44bh6QuJCccIzL3bugb8GI0MwHrg==} + engines: {node: '>=20'} type-level-regexp@0.1.17: resolution: {integrity: sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==} - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true @@ -5002,20 +5104,18 @@ packages: unctx@2.4.1: resolution: {integrity: sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==} - undici-types@7.13.0: - resolution: {integrity: sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - unenv@2.0.0-rc.20: - resolution: {integrity: sha512-8tn4tAl9vD5nWoggAAPz28vf0FY8+pQAayhU94qD+ZkIbVKCBAH/E1MWEEmhb9Whn5EgouYVfBJB20RsTLRDdg==} + undici@7.16.0: + resolution: {integrity: sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==} + engines: {node: '>=20.18.1'} unenv@2.0.0-rc.21: resolution: {integrity: sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==} - unhead@2.0.14: - resolution: {integrity: sha512-dRP6OCqtShhMVZQe1F4wdt/WsYl2MskxKK+cvfSo0lQnrPJ4oAUQEkxRg7pPP+vJENabhlir31HwAyHUv7wfMg==} - - unhead@2.0.17: - resolution: {integrity: sha512-xX3PCtxaE80khRZobyWCVxeFF88/Tg9eJDcJWY9us727nsTC7C449B8BUfVBmiF2+3LjPcmqeoB2iuMs0U4oJQ==} + unhead@2.0.19: + resolution: {integrity: sha512-gEEjkV11Aj+rBnY6wnRfsFtF2RxKOLaPN4i+Gx3UhBxnszvV6ApSNZbGk7WKyy/lErQ6ekPN63qdFL7sa1leow==} unicode-properties@1.4.1: resolution: {integrity: sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==} @@ -5034,12 +5134,8 @@ packages: unifont@0.4.1: resolution: {integrity: sha512-zKSY9qO8svWYns+FGKjyVdLvpGPwqmsCjeJLN1xndMiqxHWBAhoWDMYMG960MxeV48clBmG+fDP59dHY1VoZvg==} - unimport@5.2.0: - resolution: {integrity: sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==} - engines: {node: '>=18.12.0'} - - unimport@5.4.0: - resolution: {integrity: sha512-g/OLFZR2mEfqbC6NC9b2225eCJGvufxq34mj6kM3OmI5gdSL0qyqtnv+9qmsGpAmnzSl6x0IWZj4W+8j2hLkMA==} + unimport@5.5.0: + resolution: {integrity: sha512-/JpWMG9s1nBSlXJAQ8EREFTFy3oy6USFd8T6AoBaw1q2GGcF4R9yp3ofg32UODZlYEO5VD0EWE1RpI9XDWyPYg==} engines: {node: '>=18.12.0'} unplugin-auto-import@20.2.0: @@ -5058,12 +5154,12 @@ packages: resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} engines: {node: '>=18.12.0'} - unplugin-utils@0.3.0: - resolution: {integrity: sha512-JLoggz+PvLVMJo+jZt97hdIIIZ2yTzGgft9e9q8iMrC4ewufl62ekeW7mixBghonn2gVb/ICjyvlmOCUBnJLQg==} + unplugin-utils@0.3.1: + resolution: {integrity: sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==} engines: {node: '>=20.19.0'} - unplugin-vue-components@29.1.0: - resolution: {integrity: sha512-z/9ACPXth199s9aCTCdKZAhe5QGOpvzJYP+Hkd0GN1/PpAmsu+W3UlRY3BJAewPqQxh5xi56+Og6mfiCV1Jzpg==} + unplugin-vue-components@29.2.0: + resolution: {integrity: sha512-QxBeBdmEflgtJRgMQMc/z/JVV5lcwXN5nOy5ehX6CKDGylIu6Qn4Goy8X95S0qOxF7EdI+uNhdBd4v5i0bvzCw==} engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 @@ -5217,17 +5313,18 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite-plugin-checker@0.10.3: - resolution: {integrity: sha512-f4sekUcDPF+T+GdbbE8idb1i2YplBAoH+SfRS0e/WRBWb2rYb1Jf5Pimll0Rj+3JgIYWwG2K5LtBPCXxoibkLg==} - engines: {node: '>=14.16'} + vite-plugin-checker@0.11.0: + resolution: {integrity: sha512-iUdO9Pl9UIBRPAragwi3as/BXXTtRu4G12L3CMrjx+WVTd9g/MsqNakreib9M/2YRVkhZYiTEwdH2j4Dm0w7lw==} + engines: {node: '>=16.11'} peerDependencies: '@biomejs/biome': '>=1.7' eslint: '>=7' meow: ^13.2.0 optionator: ^0.9.4 + oxlint: '>=1' stylelint: '>=16' typescript: '*' - vite: '>=2.0.0' + vite: '>=5.4.20' vls: '*' vti: '*' vue-tsc: ~2.2.10 || ^3.0.0 @@ -5240,6 +5337,8 @@ packages: optional: true optionator: optional: true + oxlint: + optional: true stylelint: optional: true typescript: @@ -5261,12 +5360,52 @@ packages: '@nuxt/kit': optional: true - vite-plugin-vue-tracer@1.0.0: - resolution: {integrity: sha512-a+UB9IwGx5uwS4uG/a9kM6fCMnxONDkOTbgCUbhFpiGhqfxrrC1+9BibV7sWwUnwj1Dg6MnRxG0trLgUZslDXA==} + vite-plugin-vue-tracer@1.0.1: + resolution: {integrity: sha512-L5/vAhT6oYbH4RSQYGLN9VfHexWe7SGzca1pJ7oPkL6KtxWA1jbGeb3Ri1JptKzqtd42HinOq4uEYqzhVWrzig==} peerDependencies: vite: ^6.0.0 || ^7.0.0 vue: ^3.5.0 + vite@7.1.11: + resolution: {integrity: sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vite@7.1.3: resolution: {integrity: sha512-OOUi5zjkDxYrKhTV3V7iKsoS37VUM7v40+HuwEmcrsf11Cdx9y3DIr2Px6liIcZFwt3XSRpQvFpL3WVy7ApkGw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -5307,54 +5446,14 @@ packages: yaml: optional: true - vite@7.1.5: - resolution: {integrity: sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - jiti: '>=1.21.0' - less: ^4.0.0 - lightningcss: ^1.21.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true - vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - vue-bundle-renderer@2.1.2: - resolution: {integrity: sha512-M4WRBO/O/7G9phGaGH9AOwOnYtY9ZpPoDVpBpRzR2jO5rFL9mgIlQIgums2ljCTC2HL1jDXFQc//CzWcAQHgAw==} + vue-bundle-renderer@2.2.0: + resolution: {integrity: sha512-sz/0WEdYH1KfaOm0XaBmRZOWgYTEvUDt6yPYaUzl4E52qzgWLlknaPPTTZmp6benaPTlQAI/hN1x3tAzZygycg==} - vue-component-type-helpers@3.0.8: - resolution: {integrity: sha512-WyR30Eq15Y/+odrUUMax6FmPbZwAp/HnC7qgR1r3lVFAcqwQ4wUoV79Mbh4SxDy3NiqDa+G4TOKD5xXSgBHo5A==} + vue-component-type-helpers@3.1.1: + resolution: {integrity: sha512-B0kHv7qX6E7+kdc5nsaqjdGZ1KwNKSUQDWGy7XkTYT7wFsOpkEyaJ1Vq79TjwrrtuLRgizrTV7PPuC4rRQo+vw==} vue-demi@0.14.10: resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} @@ -5382,10 +5481,10 @@ packages: peerDependencies: vue: ^3.0.0 - vue-router@4.5.1: - resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==} + vue-router@4.6.3: + resolution: {integrity: sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==} peerDependencies: - vue: ^3.2.0 + vue: ^3.5.0 vue-tsc@3.0.6: resolution: {integrity: sha512-Tbs8Whd43R2e2nxez4WXPvvdjGbW24rOSgRhLOHXzWiT4pcP4G7KeWh0YCn18rF4bVwv7tggLLZ6MJnO6jXPBg==} @@ -5393,8 +5492,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.21: - resolution: {integrity: sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==} + vue@3.5.22: + resolution: {integrity: sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -5496,16 +5595,16 @@ packages: resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} engines: {node: '>=12.20'} + yoctocolors@2.1.2: + resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + engines: {node: '>=18'} + youch-core@0.3.3: resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} youch@4.1.0-beta.11: resolution: {integrity: sha512-sQi6PERyO/mT8w564ojOVeAlYTtVQmC2GaktQAf+IdI75/GKIggosBuvyVXvEV+FATAT6RbLdIjFoiIId4ozoQ==} - youch@4.1.0-beta.8: - resolution: {integrity: sha512-rY2A2lSF7zC+l7HH9Mq+83D1dLlsPnEvy8jTouzaptDZM6geqZ3aJe/b7ULCwRURPtWV3vbDjA2DDMdoBol0HQ==} - engines: {node: '>=18'} - zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} @@ -5515,13 +5614,14 @@ packages: snapshots: - '@ai-sdk/gateway@1.0.28(zod@3.25.76)': + '@ai-sdk/gateway@2.0.0(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) + '@ai-sdk/provider-utils': 3.0.12(zod@3.25.76) + '@vercel/oidc': 3.0.3 zod: 3.25.76 - '@ai-sdk/provider-utils@3.0.9(zod@3.25.76)': + '@ai-sdk/provider-utils@3.0.12(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 '@standard-schema/spec': 1.0.0 @@ -5532,27 +5632,27 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/vue@2.0.51(vue@3.5.21(typescript@5.9.2))(zod@3.25.76)': + '@ai-sdk/vue@2.0.76(vue@3.5.22(typescript@5.9.3))(zod@3.25.76)': dependencies: - '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) - ai: 5.0.51(zod@3.25.76) - swrv: 1.1.0(vue@3.5.21(typescript@5.9.2)) + '@ai-sdk/provider-utils': 3.0.12(zod@3.25.76) + ai: 5.0.76(zod@3.25.76) + swrv: 1.1.0(vue@3.5.22(typescript@5.9.3)) optionalDependencies: - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) zod: 3.25.76 '@alloc/quick-lru@5.2.0': {} '@antfu/install-pkg@1.1.0': dependencies: - package-manager-detector: 1.3.0 + package-manager-detector: 1.5.0 tinyexec: 1.0.1 '@antfu/utils@8.1.1': {} - '@antfu/utils@9.2.0': {} + '@antfu/utils@9.3.0': {} - '@apidevtools/json-schema-ref-parser@14.2.0(@types/json-schema@7.0.15)': + '@apidevtools/json-schema-ref-parser@14.2.1(@types/json-schema@7.0.15)': dependencies: '@types/json-schema': 7.0.15 js-yaml: 4.1.0 @@ -5578,7 +5678,7 @@ snapshots: '@babel/types': 7.28.4 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.1 + debug: 4.4.3 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -5590,7 +5690,7 @@ snapshots: '@babel/parser': 7.28.4 '@babel/types': 7.28.4 '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': @@ -5601,7 +5701,7 @@ snapshots: dependencies: '@babel/compat-data': 7.28.4 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.4 + browserslist: 4.26.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -5715,7 +5815,7 @@ snapshots: '@babel/parser': 7.28.4 '@babel/template': 7.27.2 '@babel/types': 7.28.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -5751,13 +5851,13 @@ snapshots: '@drizzle-team/brocli@0.10.2': {} - '@emnapi/core@1.5.0': + '@emnapi/core@1.6.0': dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.5.0': + '@emnapi/runtime@1.6.0': dependencies: tslib: 2.8.1 optional: true @@ -5770,7 +5870,7 @@ snapshots: '@es-joy/jsdoccomment@0.56.0': dependencies: '@types/estree': 1.0.8 - '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/types': 8.46.2 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 5.1.1 @@ -5783,183 +5883,187 @@ snapshots: '@esbuild-kit/esm-loader@2.6.5': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.10.1 + get-tsconfig: 4.13.0 - '@esbuild/aix-ppc64@0.25.9': + '@esbuild/aix-ppc64@0.25.11': optional: true '@esbuild/android-arm64@0.18.20': optional: true - '@esbuild/android-arm64@0.25.9': + '@esbuild/android-arm64@0.25.11': optional: true '@esbuild/android-arm@0.18.20': optional: true - '@esbuild/android-arm@0.25.9': + '@esbuild/android-arm@0.25.11': optional: true '@esbuild/android-x64@0.18.20': optional: true - '@esbuild/android-x64@0.25.9': + '@esbuild/android-x64@0.25.11': optional: true '@esbuild/darwin-arm64@0.18.20': optional: true - '@esbuild/darwin-arm64@0.25.9': + '@esbuild/darwin-arm64@0.25.11': optional: true '@esbuild/darwin-x64@0.18.20': optional: true - '@esbuild/darwin-x64@0.25.9': + '@esbuild/darwin-x64@0.25.11': optional: true '@esbuild/freebsd-arm64@0.18.20': optional: true - '@esbuild/freebsd-arm64@0.25.9': + '@esbuild/freebsd-arm64@0.25.11': optional: true '@esbuild/freebsd-x64@0.18.20': optional: true - '@esbuild/freebsd-x64@0.25.9': + '@esbuild/freebsd-x64@0.25.11': optional: true '@esbuild/linux-arm64@0.18.20': optional: true - '@esbuild/linux-arm64@0.25.9': + '@esbuild/linux-arm64@0.25.11': optional: true '@esbuild/linux-arm@0.18.20': optional: true - '@esbuild/linux-arm@0.25.9': + '@esbuild/linux-arm@0.25.11': optional: true '@esbuild/linux-ia32@0.18.20': optional: true - '@esbuild/linux-ia32@0.25.9': + '@esbuild/linux-ia32@0.25.11': optional: true '@esbuild/linux-loong64@0.18.20': optional: true - '@esbuild/linux-loong64@0.25.9': + '@esbuild/linux-loong64@0.25.11': optional: true '@esbuild/linux-mips64el@0.18.20': optional: true - '@esbuild/linux-mips64el@0.25.9': + '@esbuild/linux-mips64el@0.25.11': optional: true '@esbuild/linux-ppc64@0.18.20': optional: true - '@esbuild/linux-ppc64@0.25.9': + '@esbuild/linux-ppc64@0.25.11': optional: true '@esbuild/linux-riscv64@0.18.20': optional: true - '@esbuild/linux-riscv64@0.25.9': + '@esbuild/linux-riscv64@0.25.11': optional: true '@esbuild/linux-s390x@0.18.20': optional: true - '@esbuild/linux-s390x@0.25.9': + '@esbuild/linux-s390x@0.25.11': optional: true '@esbuild/linux-x64@0.18.20': optional: true - '@esbuild/linux-x64@0.25.9': + '@esbuild/linux-x64@0.25.11': optional: true - '@esbuild/netbsd-arm64@0.25.9': + '@esbuild/netbsd-arm64@0.25.11': optional: true '@esbuild/netbsd-x64@0.18.20': optional: true - '@esbuild/netbsd-x64@0.25.9': + '@esbuild/netbsd-x64@0.25.11': optional: true - '@esbuild/openbsd-arm64@0.25.9': + '@esbuild/openbsd-arm64@0.25.11': optional: true '@esbuild/openbsd-x64@0.18.20': optional: true - '@esbuild/openbsd-x64@0.25.9': + '@esbuild/openbsd-x64@0.25.11': optional: true - '@esbuild/openharmony-arm64@0.25.9': + '@esbuild/openharmony-arm64@0.25.11': optional: true '@esbuild/sunos-x64@0.18.20': optional: true - '@esbuild/sunos-x64@0.25.9': + '@esbuild/sunos-x64@0.25.11': optional: true '@esbuild/win32-arm64@0.18.20': optional: true - '@esbuild/win32-arm64@0.25.9': + '@esbuild/win32-arm64@0.25.11': optional: true '@esbuild/win32-ia32@0.18.20': optional: true - '@esbuild/win32-ia32@0.25.9': + '@esbuild/win32-ia32@0.25.11': optional: true '@esbuild/win32-x64@0.18.20': optional: true - '@esbuild/win32-x64@0.25.9': + '@esbuild/win32-x64@0.25.11': optional: true - '@eslint-community/eslint-utils@4.9.0(eslint@9.35.0(jiti@2.5.1))': + '@eslint-community/eslint-utils@4.9.0(eslint@9.38.0(jiti@2.6.1))': dependencies: - eslint: 9.35.0(jiti@2.5.1) + eslint: 9.38.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.12.1': {} + '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@1.3.2(eslint@9.35.0(jiti@2.5.1))': - optionalDependencies: - eslint: 9.35.0(jiti@2.5.1) - - '@eslint/config-array@0.21.0': + '@eslint/compat@1.4.0(eslint@9.38.0(jiti@2.6.1))': dependencies: - '@eslint/object-schema': 2.1.6 - debug: 4.4.1 + '@eslint/core': 0.16.0 + optionalDependencies: + eslint: 9.38.0(jiti@2.6.1) + + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 + debug: 4.4.3 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.3.1': {} + '@eslint/config-helpers@0.4.1': + dependencies: + '@eslint/core': 0.16.0 - '@eslint/config-inspector@1.2.0(eslint@9.35.0(jiti@2.5.1))': + '@eslint/config-inspector@1.3.0(eslint@9.38.0(jiti@2.6.1))': dependencies: '@nodelib/fs.walk': 3.0.1 - ansis: 4.1.0 - bundle-require: 5.1.0(esbuild@0.25.9) + ansis: 4.2.0 + bundle-require: 5.1.0(esbuild@0.25.11) cac: 6.7.14 chokidar: 4.0.3 - debug: 4.4.1 - esbuild: 0.25.9 - eslint: 9.35.0(jiti@2.5.1) + debug: 4.4.3 + esbuild: 0.25.11 + eslint: 9.38.0(jiti@2.6.1) find-up: 7.0.0 get-port-please: 3.2.0 h3: 1.15.4 @@ -5977,10 +6081,14 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 + '@eslint/core@0.16.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1 + debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -5991,15 +6099,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.35.0': {} + '@eslint/js@9.38.0': {} - '@eslint/object-schema@2.1.6': {} + '@eslint/object-schema@2.1.7': {} '@eslint/plugin-kit@0.3.5': dependencies: '@eslint/core': 0.15.2 levn: 0.4.1 + '@eslint/plugin-kit@0.4.0': + dependencies: + '@eslint/core': 0.16.0 + levn: 0.4.1 + '@floating-ui/core@1.7.3': dependencies: '@floating-ui/utils': 0.2.10 @@ -6011,11 +6124,11 @@ snapshots: '@floating-ui/utils@0.2.10': {} - '@floating-ui/vue@1.1.9(vue@3.5.21(typescript@5.9.2))': + '@floating-ui/vue@1.1.9(vue@3.5.22(typescript@5.9.3))': dependencies: '@floating-ui/dom': 1.7.4 '@floating-ui/utils': 0.2.10 - vue-demi: 0.14.10(vue@3.5.21(typescript@5.9.2)) + vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -6031,20 +6144,24 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@iconify/collections@1.0.592': + '@iconify-json/hugeicons@1.2.17': dependencies: '@iconify/types': 2.0.0 - '@iconify/json@2.2.382': + '@iconify/collections@1.0.608': dependencies: '@iconify/types': 2.0.0 - pathe: 1.1.2 - '@iconify/tailwind4@1.0.6(tailwindcss@4.1.13)': + '@iconify/json@2.2.398': + dependencies: + '@iconify/types': 2.0.0 + pathe: 2.0.3 + + '@iconify/tailwind4@1.0.6(tailwindcss@4.1.15)': dependencies: '@iconify/types': 2.0.0 '@iconify/utils': 2.3.0 - tailwindcss: 4.1.13 + tailwindcss: 4.1.15 transitivePeerDependencies: - supports-color @@ -6055,7 +6172,7 @@ snapshots: '@antfu/install-pkg': 1.1.0 '@antfu/utils': 8.1.1 '@iconify/types': 2.0.0 - debug: 4.4.1 + debug: 4.4.3 globals: 15.15.0 kolorist: 1.8.0 local-pkg: 1.1.2 @@ -6063,12 +6180,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@iconify/utils@3.0.1': + '@iconify/utils@3.0.2': dependencies: '@antfu/install-pkg': 1.1.0 - '@antfu/utils': 9.2.0 + '@antfu/utils': 9.3.0 '@iconify/types': 2.0.0 - debug: 4.4.1 + debug: 4.4.3 globals: 15.15.0 kolorist: 1.8.0 local-pkg: 1.1.2 @@ -6076,12 +6193,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@iconify/vue@5.0.0(vue@3.5.21(typescript@5.9.2))': + '@iconify/vue@5.0.0(vue@3.5.22(typescript@5.9.3))': dependencies: '@iconify/types': 2.0.0 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) - '@internationalized/date@3.9.0': + '@internationalized/date@3.10.0': dependencies: '@swc/helpers': 0.5.17 @@ -6089,19 +6206,19 @@ snapshots: dependencies: '@swc/helpers': 0.5.17 - '@intlify/bundle-utils@10.0.1(vue-i18n@11.1.12(vue@3.5.21(typescript@5.9.2)))': + '@intlify/bundle-utils@10.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))': dependencies: '@intlify/message-compiler': 11.1.12 '@intlify/shared': 11.1.12 acorn: 8.15.0 escodegen: 2.1.0 estree-walker: 2.0.2 - jsonc-eslint-parser: 2.4.0 + jsonc-eslint-parser: 2.4.1 mlly: 1.8.0 source-map-js: 1.2.1 yaml-eslint-parser: 1.3.0 optionalDependencies: - vue-i18n: 11.1.12(vue@3.5.21(typescript@5.9.2)) + vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) '@intlify/core-base@11.1.12': dependencies: @@ -6125,16 +6242,16 @@ snapshots: '@intlify/shared@11.1.12': {} - '@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.21)(eslint@9.35.0(jiti@2.5.1))(rollup@4.50.1)(typescript@5.9.2)(vue-i18n@11.1.12(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))': + '@intlify/unplugin-vue-i18n@6.0.8(@vue/compiler-dom@3.5.22)(eslint@9.38.0(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1)) - '@intlify/bundle-utils': 10.0.1(vue-i18n@11.1.12(vue@3.5.21(typescript@5.9.2))) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) + '@intlify/bundle-utils': 10.0.1(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3))) '@intlify/shared': 11.1.12 - '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.21)(vue-i18n@11.1.12(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)) - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) - '@typescript-eslint/scope-manager': 8.43.0 - '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2) - debug: 4.4.1 + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) + debug: 4.4.3 fast-glob: 3.3.3 js-yaml: 4.1.0 json5: 2.2.3 @@ -6142,9 +6259,9 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 unplugin: 1.16.1 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) optionalDependencies: - vue-i18n: 11.1.12(vue@3.5.21(typescript@5.9.2)) + vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -6154,16 +6271,16 @@ snapshots: '@intlify/utils@0.13.0': {} - '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.21)(vue-i18n@11.1.12(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))': + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.22)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))': dependencies: '@babel/parser': 7.28.4 optionalDependencies: '@intlify/shared': 11.1.12 - '@vue/compiler-dom': 3.5.21 - vue: 3.5.21(typescript@5.9.2) - vue-i18n: 11.1.12(vue@3.5.21(typescript@5.9.2)) + '@vue/compiler-dom': 3.5.22 + vue: 3.5.22(typescript@5.9.3) + vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) - '@ioredis/commands@1.3.1': {} + '@ioredis/commands@1.4.0': {} '@isaacs/balanced-match@4.0.1': {} @@ -6187,30 +6304,30 @@ snapshots: '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/remapping@2.3.5': dependencies: '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/source-map@0.3.11': dependencies: '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.30 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.30': + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 '@kwsites/file-exists@1.1.1': dependencies: - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -6281,34 +6398,34 @@ snapshots: '@mapbox/node-pre-gyp@2.0.0': dependencies: consola: 3.4.2 - detect-libc: 2.0.4 + detect-libc: 2.1.2 https-proxy-agent: 7.0.6 node-fetch: 2.7.0 nopt: 8.1.0 - semver: 7.7.2 - tar: 7.4.3 + semver: 7.7.3 + tar: 7.5.1 transitivePeerDependencies: - encoding - supports-color - '@miyaneee/rollup-plugin-json5@1.2.0(rollup@4.50.1)': + '@miyaneee/rollup-plugin-json5@1.2.0(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) json5: 2.2.3 - rollup: 4.50.1 + rollup: 4.52.5 '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.5.0 - '@emnapi/runtime': 1.5.0 - '@tybys/wasm-util': 0.10.0 + '@emnapi/core': 1.6.0 + '@emnapi/runtime': 1.6.0 + '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.0.3': + '@napi-rs/wasm-runtime@1.0.7': dependencies: - '@emnapi/core': 1.5.0 - '@emnapi/runtime': 1.5.0 - '@tybys/wasm-util': 0.10.0 + '@emnapi/core': 1.6.0 + '@emnapi/runtime': 1.6.0 + '@tybys/wasm-util': 0.10.1 optional: true '@neon-rs/load@0.0.4': {} @@ -6337,11 +6454,11 @@ snapshots: '@nodelib/fs.scandir': 4.0.1 fastq: 1.19.1 - '@nuxt/cli@3.28.0(magicast@0.3.5)': + '@nuxt/cli@3.29.3(magicast@0.3.5)': dependencies: - c12: 3.2.0(magicast@0.3.5) + c12: 3.3.1(magicast@0.3.5) citty: 0.1.6 - clipboardy: 4.0.0 + clipboardy: 5.0.0 confbox: 0.2.2 consola: 3.4.2 defu: 6.1.4 @@ -6350,35 +6467,36 @@ snapshots: get-port-please: 3.2.0 giget: 2.0.0 h3: 1.15.4 - httpxy: 0.1.7 - jiti: 2.5.1 + jiti: 2.6.1 listhen: 1.9.0 - nypm: 0.6.1 + nypm: 0.6.2 ofetch: 1.4.1 ohash: 2.0.11 pathe: 2.0.3 - perfect-debounce: 1.0.0 + perfect-debounce: 2.0.0 pkg-types: 2.3.0 scule: 1.3.0 - semver: 7.7.2 - std-env: 3.9.0 + semver: 7.7.3 + srvx: 0.8.16 + std-env: 3.10.0 tinyexec: 1.0.1 ufo: 1.6.1 + undici: 7.16.0 youch: 4.1.0-beta.11 transitivePeerDependencies: - magicast '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@2.6.3(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@nuxt/devtools-kit@2.6.5(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@nuxt/kit': 3.19.1(magicast@0.3.5) + '@nuxt/kit': 3.19.3(magicast@0.3.5) execa: 8.0.1 - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - magicast - '@nuxt/devtools-wizard@2.6.3': + '@nuxt/devtools-wizard@2.6.5': dependencies: consola: 3.4.2 diff: 8.0.2 @@ -6387,41 +6505,41 @@ snapshots: pathe: 2.0.3 pkg-types: 2.3.0 prompts: 2.4.2 - semver: 7.7.2 + semver: 7.7.3 - '@nuxt/devtools@2.6.3(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2))': + '@nuxt/devtools@2.6.5(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: - '@nuxt/devtools-kit': 2.6.3(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - '@nuxt/devtools-wizard': 2.6.3 - '@nuxt/kit': 3.19.1(magicast@0.3.5) - '@vue/devtools-core': 7.7.7(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) + '@nuxt/devtools-kit': 2.6.5(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@nuxt/devtools-wizard': 2.6.5 + '@nuxt/kit': 3.19.3(magicast@0.3.5) + '@vue/devtools-core': 7.7.7(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) '@vue/devtools-kit': 7.7.7 - birpc: 2.5.0 + birpc: 2.6.1 consola: 3.4.2 destr: 2.0.5 error-stack-parser-es: 1.0.5 execa: 8.0.1 - fast-npm-meta: 0.4.6 + fast-npm-meta: 0.4.7 get-port-please: 3.2.0 hookable: 5.5.3 - image-meta: 0.2.1 + image-meta: 0.2.2 is-installed-globally: 1.0.0 launch-editor: 2.11.1 local-pkg: 1.1.2 magicast: 0.3.5 - nypm: 0.6.1 + nypm: 0.6.2 ohash: 2.0.11 pathe: 2.0.3 perfect-debounce: 1.0.0 pkg-types: 2.3.0 - semver: 7.7.2 + semver: 7.7.3 simple-git: 3.28.0 sirv: 3.0.2 structured-clone-es: 1.0.0 - tinyglobby: 0.2.14 - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-plugin-inspect: 11.3.3(@nuxt/kit@3.19.1(magicast@0.3.5))(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - vite-plugin-vue-tracer: 1.0.0(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) + tinyglobby: 0.2.15 + vite: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite-plugin-inspect: 11.3.3(@nuxt/kit@3.19.3(magicast@0.3.5))(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + vite-plugin-vue-tracer: 1.0.1(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) which: 5.0.0 ws: 8.18.3 transitivePeerDependencies: @@ -6430,30 +6548,30 @@ snapshots: - utf-8-validate - vue - '@nuxt/eslint-config@1.9.0(@typescript-eslint/utils@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(@vue/compiler-sfc@3.5.21)(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': + '@nuxt/eslint-config@1.9.0(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@antfu/install-pkg': 1.1.0 '@clack/prompts': 0.11.0 - '@eslint/js': 9.35.0 - '@nuxt/eslint-plugin': 1.9.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - '@stylistic/eslint-plugin': 5.3.1(eslint@9.35.0(jiti@2.5.1)) - '@typescript-eslint/eslint-plugin': 8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/parser': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - eslint: 9.35.0(jiti@2.5.1) - eslint-config-flat-gitignore: 2.1.0(eslint@9.35.0(jiti@2.5.1)) - eslint-flat-config-utils: 2.1.1 - eslint-merge-processors: 2.0.0(eslint@9.35.0(jiti@2.5.1)) - eslint-plugin-import-lite: 0.3.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1)) - eslint-plugin-jsdoc: 54.7.0(eslint@9.35.0(jiti@2.5.1)) - eslint-plugin-regexp: 2.10.0(eslint@9.35.0(jiti@2.5.1)) - eslint-plugin-unicorn: 60.0.0(eslint@9.35.0(jiti@2.5.1)) - eslint-plugin-vue: 10.4.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.35.0(jiti@2.5.1))) - eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.21)(eslint@9.35.0(jiti@2.5.1)) - globals: 16.3.0 + '@eslint/js': 9.38.0 + '@nuxt/eslint-plugin': 1.9.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@stylistic/eslint-plugin': 5.5.0(eslint@9.38.0(jiti@2.6.1)) + '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.38.0(jiti@2.6.1) + eslint-config-flat-gitignore: 2.1.0(eslint@9.38.0(jiti@2.6.1)) + eslint-flat-config-utils: 2.1.4 + eslint-merge-processors: 2.0.0(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-import-lite: 0.3.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-jsdoc: 54.7.0(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-regexp: 2.10.0(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-unicorn: 60.0.0(eslint@9.38.0(jiti@2.6.1)) + eslint-plugin-vue: 10.5.1(@stylistic/eslint-plugin@5.5.0(eslint@9.38.0(jiti@2.6.1)))(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.38.0(jiti@2.6.1))) + eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@2.6.1)) + globals: 16.4.0 local-pkg: 1.1.2 pathe: 2.0.3 - vue-eslint-parser: 10.2.0(eslint@9.35.0(jiti@2.5.1)) + vue-eslint-parser: 10.2.0(eslint@9.38.0(jiti@2.6.1)) transitivePeerDependencies: - '@typescript-eslint/utils' - '@vue/compiler-sfc' @@ -6461,31 +6579,31 @@ snapshots: - supports-color - typescript - '@nuxt/eslint-plugin@1.9.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': + '@nuxt/eslint-plugin@1.9.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/utils': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - eslint: 9.35.0(jiti@2.5.1) + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.38.0(jiti@2.6.1) transitivePeerDependencies: - supports-color - typescript - '@nuxt/eslint@1.9.0(@typescript-eslint/utils@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(@vue/compiler-sfc@3.5.21)(eslint@9.35.0(jiti@2.5.1))(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@nuxt/eslint@1.9.0(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@2.6.1))(magicast@0.3.5)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@eslint/config-inspector': 1.2.0(eslint@9.35.0(jiti@2.5.1)) - '@nuxt/devtools-kit': 2.6.3(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - '@nuxt/eslint-config': 1.9.0(@typescript-eslint/utils@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(@vue/compiler-sfc@3.5.21)(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - '@nuxt/eslint-plugin': 1.9.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - '@nuxt/kit': 4.1.1(magicast@0.3.5) + '@eslint/config-inspector': 1.3.0(eslint@9.38.0(jiti@2.6.1)) + '@nuxt/devtools-kit': 2.6.5(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@nuxt/eslint-config': 1.9.0(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@nuxt/eslint-plugin': 1.9.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@nuxt/kit': 4.1.3(magicast@0.3.5) chokidar: 4.0.3 - eslint: 9.35.0(jiti@2.5.1) - eslint-flat-config-utils: 2.1.1 - eslint-typegen: 2.3.0(eslint@9.35.0(jiti@2.5.1)) + eslint: 9.38.0(jiti@2.6.1) + eslint-flat-config-utils: 2.1.4 + eslint-typegen: 2.3.0(eslint@9.38.0(jiti@2.6.1)) find-up: 7.0.0 get-port-please: 3.2.0 mlly: 1.8.0 pathe: 2.0.3 - unimport: 5.2.0 + unimport: 5.5.0 transitivePeerDependencies: - '@typescript-eslint/utils' - '@vue/compiler-sfc' @@ -6498,17 +6616,17 @@ snapshots: - utf-8-validate - vite - '@nuxt/fonts@0.11.4(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.7.0)(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@nuxt/fonts@0.11.4(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2)(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@nuxt/devtools-kit': 2.6.3(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - '@nuxt/kit': 3.19.1(magicast@0.3.5) + '@nuxt/devtools-kit': 2.6.5(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@nuxt/kit': 3.19.3(magicast@0.3.5) consola: 3.4.2 css-tree: 3.1.0 defu: 6.1.4 - esbuild: 0.25.9 + esbuild: 0.25.11 fontaine: 0.6.0 h3: 1.15.4 - jiti: 2.5.1 + jiti: 2.6.1 magic-regexp: 0.10.0 magic-string: 0.30.19 node-fetch-native: 1.6.7 @@ -6519,7 +6637,7 @@ snapshots: ufo: 1.6.1 unifont: 0.4.1 unplugin: 2.3.10 - unstorage: 1.17.1(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.7.0) + unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -6544,21 +6662,21 @@ snapshots: - uploadthing - vite - '@nuxt/icon@2.0.0(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2))': + '@nuxt/icon@2.0.0(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: - '@iconify/collections': 1.0.592 + '@iconify/collections': 1.0.608 '@iconify/types': 2.0.0 - '@iconify/utils': 3.0.1 - '@iconify/vue': 5.0.0(vue@3.5.21(typescript@5.9.2)) - '@nuxt/devtools-kit': 2.6.3(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - '@nuxt/kit': 4.1.1(magicast@0.3.5) + '@iconify/utils': 3.0.2 + '@iconify/vue': 5.0.0(vue@3.5.22(typescript@5.9.3)) + '@nuxt/devtools-kit': 2.6.5(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@nuxt/kit': 4.1.3(magicast@0.3.5) consola: 3.4.2 local-pkg: 1.1.2 mlly: 1.8.0 ohash: 2.0.11 pathe: 2.0.3 picomatch: 4.0.3 - std-env: 3.9.0 + std-env: 3.10.0 tinyglobby: 0.2.15 transitivePeerDependencies: - magicast @@ -6566,16 +6684,16 @@ snapshots: - vite - vue - '@nuxt/kit@3.19.1(magicast@0.3.5)': + '@nuxt/kit@3.19.3(magicast@0.3.5)': dependencies: - c12: 3.2.0(magicast@0.3.5) + c12: 3.3.1(magicast@0.3.5) consola: 3.4.2 defu: 6.1.4 destr: 2.0.5 errx: 0.1.0 exsolve: 1.0.7 ignore: 7.0.5 - jiti: 2.5.1 + jiti: 2.6.1 klona: 2.0.6 knitwork: 1.2.0 mlly: 1.8.0 @@ -6584,26 +6702,26 @@ snapshots: pkg-types: 2.3.0 rc9: 2.1.2 scule: 1.3.0 - semver: 7.7.2 - std-env: 3.9.0 + semver: 7.7.3 + std-env: 3.10.0 tinyglobby: 0.2.15 ufo: 1.6.1 unctx: 2.4.1 - unimport: 5.2.0 + unimport: 5.5.0 untyped: 2.0.0 transitivePeerDependencies: - magicast - '@nuxt/kit@4.1.1(magicast@0.3.5)': + '@nuxt/kit@4.1.3(magicast@0.3.5)': dependencies: - c12: 3.2.0(magicast@0.3.5) + c12: 3.3.1(magicast@0.3.5) consola: 3.4.2 defu: 6.1.4 destr: 2.0.5 errx: 0.1.0 exsolve: 1.0.7 ignore: 7.0.5 - jiti: 2.5.1 + jiti: 2.6.1 klona: 2.0.6 mlly: 1.8.0 ohash: 2.0.11 @@ -6611,28 +6729,29 @@ snapshots: pkg-types: 2.3.0 rc9: 2.1.2 scule: 1.3.0 - semver: 7.7.2 - std-env: 3.9.0 + semver: 7.7.3 + std-env: 3.10.0 tinyglobby: 0.2.15 ufo: 1.6.1 unctx: 2.4.1 - unimport: 5.2.0 + unimport: 5.5.0 untyped: 2.0.0 transitivePeerDependencies: - magicast - '@nuxt/schema@4.1.1': + '@nuxt/schema@4.1.3': dependencies: - '@vue/shared': 3.5.21 + '@vue/shared': 3.5.22 consola: 3.4.2 defu: 6.1.4 pathe: 2.0.3 - std-env: 3.9.0 + pkg-types: 2.3.0 + std-env: 3.10.0 ufo: 1.6.1 '@nuxt/telemetry@2.6.6(magicast@0.3.5)': dependencies: - '@nuxt/kit': 3.19.1(magicast@0.3.5) + '@nuxt/kit': 3.19.3(magicast@0.3.5) citty: 0.1.6 consola: 3.4.2 destr: 2.0.5 @@ -6640,31 +6759,31 @@ snapshots: git-url-parse: 16.1.0 is-docker: 3.0.0 ofetch: 1.4.1 - package-manager-detector: 1.3.0 + package-manager-detector: 1.5.0 pathe: 2.0.3 rc9: 2.1.2 - std-env: 3.9.0 + std-env: 3.10.0 transitivePeerDependencies: - magicast - '@nuxt/ui@4.0.0(@babel/parser@7.28.4)(change-case@5.4.4)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(embla-carousel@8.6.0)(ioredis@5.7.0)(magicast@0.3.5)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2))(zod@3.25.76)': + '@nuxt/ui@4.0.0(@babel/parser@7.28.4)(change-case@5.4.4)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(embla-carousel@8.6.0)(ioredis@5.8.2)(magicast@0.3.5)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))(zod@3.25.76)': dependencies: - '@ai-sdk/vue': 2.0.51(vue@3.5.21(typescript@5.9.2))(zod@3.25.76) - '@iconify/vue': 5.0.0(vue@3.5.21(typescript@5.9.2)) - '@internationalized/date': 3.9.0 + '@ai-sdk/vue': 2.0.76(vue@3.5.22(typescript@5.9.3))(zod@3.25.76) + '@iconify/vue': 5.0.0(vue@3.5.22(typescript@5.9.3)) + '@internationalized/date': 3.10.0 '@internationalized/number': 3.6.5 - '@nuxt/fonts': 0.11.4(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.7.0)(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - '@nuxt/icon': 2.0.0(magicast@0.3.5)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) - '@nuxt/kit': 4.1.1(magicast@0.3.5) - '@nuxt/schema': 4.1.1 + '@nuxt/fonts': 0.11.4(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2)(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@nuxt/icon': 2.0.0(magicast@0.3.5)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + '@nuxt/kit': 4.1.3(magicast@0.3.5) + '@nuxt/schema': 4.1.3 '@nuxtjs/color-mode': 3.5.2(magicast@0.3.5) '@standard-schema/spec': 1.0.0 - '@tailwindcss/postcss': 4.1.13 - '@tailwindcss/vite': 4.1.13(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - '@tanstack/vue-table': 8.21.3(vue@3.5.21(typescript@5.9.2)) - '@unhead/vue': 2.0.17(vue@3.5.21(typescript@5.9.2)) - '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.9.2)) - '@vueuse/integrations': 13.9.0(change-case@5.4.4)(fuse.js@7.1.0)(vue@3.5.21(typescript@5.9.2)) + '@tailwindcss/postcss': 4.1.15 + '@tailwindcss/vite': 4.1.15(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@tanstack/vue-table': 8.21.3(vue@3.5.22(typescript@5.9.3)) + '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.9.3)) + '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) + '@vueuse/integrations': 13.9.0(change-case@5.4.4)(fuse.js@7.1.0)(vue@3.5.22(typescript@5.9.3)) colortranslator: 5.0.0 consola: 3.4.2 defu: 6.1.4 @@ -6673,30 +6792,30 @@ snapshots: embla-carousel-autoplay: 8.6.0(embla-carousel@8.6.0) embla-carousel-class-names: 8.6.0(embla-carousel@8.6.0) embla-carousel-fade: 8.6.0(embla-carousel@8.6.0) - embla-carousel-vue: 8.6.0(vue@3.5.21(typescript@5.9.2)) + embla-carousel-vue: 8.6.0(vue@3.5.22(typescript@5.9.3)) embla-carousel-wheel-gestures: 8.1.0(embla-carousel@8.6.0) fuse.js: 7.1.0 hookable: 5.5.3 knitwork: 1.2.0 magic-string: 0.30.19 mlly: 1.8.0 - motion-v: 1.7.1(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)) + motion-v: 1.7.3(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) ohash: 2.0.11 pathe: 2.0.3 - reka-ui: 2.5.0(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)) + reka-ui: 2.5.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) scule: 1.3.0 tailwind-merge: 3.3.1 - tailwind-variants: 3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.13) - tailwindcss: 4.1.13 + tailwind-variants: 3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.15) + tailwindcss: 4.1.15 tinyglobby: 0.2.15 - typescript: 5.9.2 + typescript: 5.9.3 unplugin: 2.3.10 - unplugin-auto-import: 20.2.0(@nuxt/kit@4.1.1(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.9.2))) - unplugin-vue-components: 29.1.0(@babel/parser@7.28.4)(@nuxt/kit@4.1.1(magicast@0.3.5))(vue@3.5.21(typescript@5.9.2)) - vaul-vue: 0.4.1(reka-ui@2.5.0(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)) - vue-component-type-helpers: 3.0.8 + unplugin-auto-import: 20.2.0(@nuxt/kit@4.1.3(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))) + unplugin-vue-components: 29.2.0(@babel/parser@7.28.4)(@nuxt/kit@4.1.3(magicast@0.3.5))(vue@3.5.22(typescript@5.9.3)) + vaul-vue: 0.4.1(reka-ui@2.5.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + vue-component-type-helpers: 3.1.1 optionalDependencies: - vue-router: 4.5.1(vue@3.5.21(typescript@5.9.2)) + vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) zod: 3.25.76 transitivePeerDependencies: - '@azure/app-configuration' @@ -6740,22 +6859,22 @@ snapshots: - vite - vue - '@nuxt/vite-builder@4.1.1(@types/node@24.6.2)(eslint@9.35.0(jiti@2.5.1))(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.1)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.21(typescript@5.9.2))(yaml@2.8.1)': + '@nuxt/vite-builder@4.1.3(@types/node@24.9.1)(eslint@9.38.0(jiti@2.6.1))(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(vue-tsc@3.0.6(typescript@5.9.3))(vue@3.5.22(typescript@5.9.3))(yaml@2.8.1)': dependencies: - '@nuxt/kit': 4.1.1(magicast@0.3.5) - '@rollup/plugin-replace': 6.0.2(rollup@4.50.1) - '@vitejs/plugin-vue': 6.0.1(vite@7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) - '@vitejs/plugin-vue-jsx': 5.1.1(vite@7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) + '@nuxt/kit': 4.1.3(magicast@0.3.5) + '@rollup/plugin-replace': 6.0.2(rollup@4.52.5) + '@vitejs/plugin-vue': 6.0.1(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + '@vitejs/plugin-vue-jsx': 5.1.1(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) autoprefixer: 10.4.21(postcss@8.5.6) consola: 3.4.2 cssnano: 7.1.1(postcss@8.5.6) defu: 6.1.4 - esbuild: 0.25.9 + esbuild: 0.25.11 escape-string-regexp: 5.0.0 exsolve: 1.0.7 get-port-please: 3.2.0 h3: 1.15.4 - jiti: 2.5.1 + jiti: 2.6.1 knitwork: 1.2.0 magic-string: 0.30.19 mlly: 1.8.0 @@ -6763,15 +6882,15 @@ snapshots: pathe: 2.0.3 pkg-types: 2.3.0 postcss: 8.5.6 - rollup-plugin-visualizer: 6.0.3(rollup@4.50.1) - std-env: 3.9.0 + rollup-plugin-visualizer: 6.0.5(rollup@4.52.5) + std-env: 3.10.0 ufo: 1.6.1 unenv: 2.0.0-rc.21 - vite: 7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-node: 3.2.4(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-plugin-checker: 0.10.3(eslint@9.35.0(jiti@2.5.1))(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.2)) - vue: 3.5.21(typescript@5.9.2) - vue-bundle-renderer: 2.1.2 + vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite-node: 3.2.4(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite-plugin-checker: 0.11.0(eslint@9.38.0(jiti@2.6.1))(optionator@0.9.4)(typescript@5.9.3)(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.3)) + vue: 3.5.22(typescript@5.9.3) + vue-bundle-renderer: 2.2.0 transitivePeerDependencies: - '@biomejs/biome' - '@types/node' @@ -6781,7 +6900,7 @@ snapshots: - magicast - meow - optionator - - rolldown + - oxlint - rollup - sass - sass-embedded @@ -6799,27 +6918,27 @@ snapshots: '@nuxtjs/color-mode@3.5.2(magicast@0.3.5)': dependencies: - '@nuxt/kit': 3.19.1(magicast@0.3.5) + '@nuxt/kit': 3.19.3(magicast@0.3.5) pathe: 1.1.2 pkg-types: 1.3.1 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - magicast - '@nuxtjs/i18n@10.0.6(@vue/compiler-dom@3.5.21)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(eslint@9.35.0(jiti@2.5.1))(ioredis@5.7.0)(magicast@0.3.5)(rollup@4.50.1)(vue@3.5.21(typescript@5.9.2))': + '@nuxtjs/i18n@10.0.6(@vue/compiler-dom@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(eslint@9.38.0(jiti@2.6.1))(ioredis@5.8.2)(magicast@0.3.5)(rollup@4.52.5)(vue@3.5.22(typescript@5.9.3))': dependencies: '@intlify/core': 11.1.12 '@intlify/h3': 0.7.1 '@intlify/shared': 11.1.12 - '@intlify/unplugin-vue-i18n': 6.0.8(@vue/compiler-dom@3.5.21)(eslint@9.35.0(jiti@2.5.1))(rollup@4.50.1)(typescript@5.9.2)(vue-i18n@11.1.12(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)) + '@intlify/unplugin-vue-i18n': 6.0.8(@vue/compiler-dom@3.5.22)(eslint@9.38.0(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) '@intlify/utils': 0.13.0 - '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.50.1) - '@nuxt/kit': 4.1.1(magicast@0.3.5) - '@rollup/plugin-yaml': 4.1.2(rollup@4.50.1) - '@vue/compiler-sfc': 3.5.21 + '@miyaneee/rollup-plugin-json5': 1.2.0(rollup@4.52.5) + '@nuxt/kit': 4.1.3(magicast@0.3.5) + '@rollup/plugin-yaml': 4.1.2(rollup@4.52.5) + '@vue/compiler-sfc': 3.5.22 cookie-es: 2.0.0 defu: 6.1.4 - devalue: 5.3.2 + devalue: 5.4.2 h3: 1.15.4 knitwork: 1.2.0 magic-string: 0.30.19 @@ -6829,13 +6948,13 @@ snapshots: oxc-transform: 0.81.0 oxc-walker: 0.4.0(oxc-parser@0.81.0) pathe: 2.0.3 - typescript: 5.9.2 + typescript: 5.9.3 ufo: 1.6.1 unplugin: 2.3.10 - unplugin-vue-router: 0.14.0(@vue/compiler-sfc@3.5.21)(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)) - unstorage: 1.17.1(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.7.0) - vue-i18n: 11.1.12(vue@3.5.21(typescript@5.9.2)) - vue-router: 4.5.1(vue@3.5.21(typescript@5.9.2)) + unplugin-vue-router: 0.14.0(@vue/compiler-sfc@3.5.22)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2) + vue-i18n: 11.1.12(vue@3.5.22(typescript@5.9.3)) + vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -6866,243 +6985,243 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@oxc-minify/binding-android-arm64@0.86.0': + '@oxc-minify/binding-android-arm64@0.94.0': optional: true - '@oxc-minify/binding-darwin-arm64@0.86.0': + '@oxc-minify/binding-darwin-arm64@0.94.0': optional: true - '@oxc-minify/binding-darwin-x64@0.86.0': + '@oxc-minify/binding-darwin-x64@0.94.0': optional: true - '@oxc-minify/binding-freebsd-x64@0.86.0': + '@oxc-minify/binding-freebsd-x64@0.94.0': optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.86.0': + '@oxc-minify/binding-linux-arm-gnueabihf@0.94.0': optional: true - '@oxc-minify/binding-linux-arm-musleabihf@0.86.0': + '@oxc-minify/binding-linux-arm-musleabihf@0.94.0': optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.86.0': + '@oxc-minify/binding-linux-arm64-gnu@0.94.0': optional: true - '@oxc-minify/binding-linux-arm64-musl@0.86.0': + '@oxc-minify/binding-linux-arm64-musl@0.94.0': optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.86.0': + '@oxc-minify/binding-linux-riscv64-gnu@0.94.0': optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.86.0': + '@oxc-minify/binding-linux-s390x-gnu@0.94.0': optional: true - '@oxc-minify/binding-linux-x64-gnu@0.86.0': + '@oxc-minify/binding-linux-x64-gnu@0.94.0': optional: true - '@oxc-minify/binding-linux-x64-musl@0.86.0': + '@oxc-minify/binding-linux-x64-musl@0.94.0': optional: true - '@oxc-minify/binding-wasm32-wasi@0.86.0': + '@oxc-minify/binding-wasm32-wasi@0.94.0': dependencies: - '@napi-rs/wasm-runtime': 1.0.3 + '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.86.0': + '@oxc-minify/binding-win32-arm64-msvc@0.94.0': optional: true - '@oxc-minify/binding-win32-x64-msvc@0.86.0': + '@oxc-minify/binding-win32-x64-msvc@0.94.0': optional: true '@oxc-parser/binding-android-arm64@0.81.0': optional: true - '@oxc-parser/binding-android-arm64@0.86.0': + '@oxc-parser/binding-android-arm64@0.94.0': optional: true '@oxc-parser/binding-darwin-arm64@0.81.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.86.0': + '@oxc-parser/binding-darwin-arm64@0.94.0': optional: true '@oxc-parser/binding-darwin-x64@0.81.0': optional: true - '@oxc-parser/binding-darwin-x64@0.86.0': + '@oxc-parser/binding-darwin-x64@0.94.0': optional: true '@oxc-parser/binding-freebsd-x64@0.81.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.86.0': + '@oxc-parser/binding-freebsd-x64@0.94.0': optional: true '@oxc-parser/binding-linux-arm-gnueabihf@0.81.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.86.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.94.0': optional: true '@oxc-parser/binding-linux-arm-musleabihf@0.81.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.86.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.94.0': optional: true '@oxc-parser/binding-linux-arm64-gnu@0.81.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.86.0': + '@oxc-parser/binding-linux-arm64-gnu@0.94.0': optional: true '@oxc-parser/binding-linux-arm64-musl@0.81.0': optional: true - '@oxc-parser/binding-linux-arm64-musl@0.86.0': + '@oxc-parser/binding-linux-arm64-musl@0.94.0': optional: true '@oxc-parser/binding-linux-riscv64-gnu@0.81.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.86.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.94.0': optional: true '@oxc-parser/binding-linux-s390x-gnu@0.81.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.86.0': + '@oxc-parser/binding-linux-s390x-gnu@0.94.0': optional: true '@oxc-parser/binding-linux-x64-gnu@0.81.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.86.0': + '@oxc-parser/binding-linux-x64-gnu@0.94.0': optional: true '@oxc-parser/binding-linux-x64-musl@0.81.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.86.0': + '@oxc-parser/binding-linux-x64-musl@0.94.0': optional: true '@oxc-parser/binding-wasm32-wasi@0.81.0': dependencies: - '@napi-rs/wasm-runtime': 1.0.3 + '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@oxc-parser/binding-wasm32-wasi@0.86.0': + '@oxc-parser/binding-wasm32-wasi@0.94.0': dependencies: - '@napi-rs/wasm-runtime': 1.0.3 + '@napi-rs/wasm-runtime': 1.0.7 optional: true '@oxc-parser/binding-win32-arm64-msvc@0.81.0': optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.86.0': + '@oxc-parser/binding-win32-arm64-msvc@0.94.0': optional: true '@oxc-parser/binding-win32-x64-msvc@0.81.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.86.0': + '@oxc-parser/binding-win32-x64-msvc@0.94.0': optional: true '@oxc-project/types@0.81.0': {} - '@oxc-project/types@0.86.0': {} + '@oxc-project/types@0.94.0': {} '@oxc-transform/binding-android-arm64@0.81.0': optional: true - '@oxc-transform/binding-android-arm64@0.86.0': + '@oxc-transform/binding-android-arm64@0.94.0': optional: true '@oxc-transform/binding-darwin-arm64@0.81.0': optional: true - '@oxc-transform/binding-darwin-arm64@0.86.0': + '@oxc-transform/binding-darwin-arm64@0.94.0': optional: true '@oxc-transform/binding-darwin-x64@0.81.0': optional: true - '@oxc-transform/binding-darwin-x64@0.86.0': + '@oxc-transform/binding-darwin-x64@0.94.0': optional: true '@oxc-transform/binding-freebsd-x64@0.81.0': optional: true - '@oxc-transform/binding-freebsd-x64@0.86.0': + '@oxc-transform/binding-freebsd-x64@0.94.0': optional: true '@oxc-transform/binding-linux-arm-gnueabihf@0.81.0': optional: true - '@oxc-transform/binding-linux-arm-gnueabihf@0.86.0': + '@oxc-transform/binding-linux-arm-gnueabihf@0.94.0': optional: true '@oxc-transform/binding-linux-arm-musleabihf@0.81.0': optional: true - '@oxc-transform/binding-linux-arm-musleabihf@0.86.0': + '@oxc-transform/binding-linux-arm-musleabihf@0.94.0': optional: true '@oxc-transform/binding-linux-arm64-gnu@0.81.0': optional: true - '@oxc-transform/binding-linux-arm64-gnu@0.86.0': + '@oxc-transform/binding-linux-arm64-gnu@0.94.0': optional: true '@oxc-transform/binding-linux-arm64-musl@0.81.0': optional: true - '@oxc-transform/binding-linux-arm64-musl@0.86.0': + '@oxc-transform/binding-linux-arm64-musl@0.94.0': optional: true '@oxc-transform/binding-linux-riscv64-gnu@0.81.0': optional: true - '@oxc-transform/binding-linux-riscv64-gnu@0.86.0': + '@oxc-transform/binding-linux-riscv64-gnu@0.94.0': optional: true '@oxc-transform/binding-linux-s390x-gnu@0.81.0': optional: true - '@oxc-transform/binding-linux-s390x-gnu@0.86.0': + '@oxc-transform/binding-linux-s390x-gnu@0.94.0': optional: true '@oxc-transform/binding-linux-x64-gnu@0.81.0': optional: true - '@oxc-transform/binding-linux-x64-gnu@0.86.0': + '@oxc-transform/binding-linux-x64-gnu@0.94.0': optional: true '@oxc-transform/binding-linux-x64-musl@0.81.0': optional: true - '@oxc-transform/binding-linux-x64-musl@0.86.0': + '@oxc-transform/binding-linux-x64-musl@0.94.0': optional: true '@oxc-transform/binding-wasm32-wasi@0.81.0': dependencies: - '@napi-rs/wasm-runtime': 1.0.3 + '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@oxc-transform/binding-wasm32-wasi@0.86.0': + '@oxc-transform/binding-wasm32-wasi@0.94.0': dependencies: - '@napi-rs/wasm-runtime': 1.0.3 + '@napi-rs/wasm-runtime': 1.0.7 optional: true '@oxc-transform/binding-win32-arm64-msvc@0.81.0': optional: true - '@oxc-transform/binding-win32-arm64-msvc@0.86.0': + '@oxc-transform/binding-win32-arm64-msvc@0.94.0': optional: true '@oxc-transform/binding-win32-x64-msvc@0.81.0': optional: true - '@oxc-transform/binding-win32-x64-msvc@0.86.0': + '@oxc-transform/binding-win32-x64-msvc@0.94.0': optional: true '@parcel/watcher-android-arm64@2.5.1': @@ -7170,10 +7289,10 @@ snapshots: '@parcel/watcher-win32-ia32': 2.5.1 '@parcel/watcher-win32-x64': 2.5.1 - '@pinia/nuxt@0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)))': + '@pinia/nuxt@0.11.2(magicast@0.3.5)(pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))': dependencies: - '@nuxt/kit': 3.19.1(magicast@0.3.5) - pinia: 3.0.3(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)) + '@nuxt/kit': 3.19.3(magicast@0.3.5) + pinia: 3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) transitivePeerDependencies: - magicast @@ -7189,22 +7308,22 @@ snapshots: '@poppinss/dumper@0.6.4': dependencies: '@poppinss/colors': 4.1.5 - '@sindresorhus/is': 7.0.2 + '@sindresorhus/is': 7.1.0 supports-color: 10.2.2 '@poppinss/exception@1.2.2': {} '@rolldown/pluginutils@1.0.0-beta.29': {} - '@rolldown/pluginutils@1.0.0-beta.36': {} + '@rolldown/pluginutils@1.0.0-beta.44': {} - '@rollup/plugin-alias@5.1.1(rollup@4.50.1)': + '@rollup/plugin-alias@5.1.1(rollup@4.52.5)': optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/plugin-commonjs@28.0.6(rollup@4.50.1)': + '@rollup/plugin-commonjs@28.0.8(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.5.0(picomatch@4.0.3) @@ -7212,139 +7331,144 @@ snapshots: magic-string: 0.30.19 picomatch: 4.0.3 optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/plugin-inject@5.0.5(rollup@4.50.1)': + '@rollup/plugin-inject@5.0.5(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) estree-walker: 2.0.2 magic-string: 0.30.19 optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/plugin-json@6.1.0(rollup@4.50.1)': + '@rollup/plugin-json@6.1.0(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.50.1)': + '@rollup/plugin-node-resolve@16.0.3(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.10 + resolve: 1.22.11 optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/plugin-replace@6.0.2(rollup@4.50.1)': + '@rollup/plugin-replace@6.0.2(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) magic-string: 0.30.19 optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/plugin-terser@0.4.4(rollup@4.50.1)': + '@rollup/plugin-terser@0.4.4(rollup@4.52.5)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.44.0 optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/plugin-yaml@4.1.2(rollup@4.50.1)': + '@rollup/plugin-yaml@4.1.2(rollup@4.52.5)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) js-yaml: 4.1.0 tosource: 2.0.0-alpha.3 optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/pluginutils@5.3.0(rollup@4.50.1)': + '@rollup/pluginutils@5.3.0(rollup@4.52.5)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - '@rollup/rollup-android-arm-eabi@4.50.1': + '@rollup/rollup-android-arm-eabi@4.52.5': optional: true - '@rollup/rollup-android-arm64@4.50.1': + '@rollup/rollup-android-arm64@4.52.5': optional: true - '@rollup/rollup-darwin-arm64@4.50.1': + '@rollup/rollup-darwin-arm64@4.52.5': optional: true - '@rollup/rollup-darwin-x64@4.50.1': + '@rollup/rollup-darwin-x64@4.52.5': optional: true - '@rollup/rollup-freebsd-arm64@4.50.1': + '@rollup/rollup-freebsd-arm64@4.52.5': optional: true - '@rollup/rollup-freebsd-x64@4.50.1': + '@rollup/rollup-freebsd-x64@4.52.5': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.50.1': + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.50.1': + '@rollup/rollup-linux-arm-musleabihf@4.52.5': optional: true - '@rollup/rollup-linux-arm64-gnu@4.50.1': + '@rollup/rollup-linux-arm64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-arm64-musl@4.50.1': + '@rollup/rollup-linux-arm64-musl@4.52.5': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.50.1': + '@rollup/rollup-linux-loong64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.50.1': + '@rollup/rollup-linux-ppc64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.50.1': + '@rollup/rollup-linux-riscv64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-riscv64-musl@4.50.1': + '@rollup/rollup-linux-riscv64-musl@4.52.5': optional: true - '@rollup/rollup-linux-s390x-gnu@4.50.1': + '@rollup/rollup-linux-s390x-gnu@4.52.5': optional: true - '@rollup/rollup-linux-x64-gnu@4.50.1': + '@rollup/rollup-linux-x64-gnu@4.52.5': optional: true - '@rollup/rollup-linux-x64-musl@4.50.1': + '@rollup/rollup-linux-x64-musl@4.52.5': optional: true - '@rollup/rollup-openharmony-arm64@4.50.1': + '@rollup/rollup-openharmony-arm64@4.52.5': optional: true - '@rollup/rollup-win32-arm64-msvc@4.50.1': + '@rollup/rollup-win32-arm64-msvc@4.52.5': optional: true - '@rollup/rollup-win32-ia32-msvc@4.50.1': + '@rollup/rollup-win32-ia32-msvc@4.52.5': optional: true - '@rollup/rollup-win32-x64-msvc@4.50.1': + '@rollup/rollup-win32-x64-gnu@4.52.5': optional: true - '@sindresorhus/is@7.0.2': {} + '@rollup/rollup-win32-x64-msvc@4.52.5': + optional: true - '@sindresorhus/merge-streams@2.3.0': {} + '@sec-ant/readable-stream@0.4.1': {} + + '@sindresorhus/is@7.1.0': {} + + '@sindresorhus/merge-streams@4.0.0': {} '@speed-highlight/core@1.2.7': {} '@standard-schema/spec@1.0.0': {} - '@stylistic/eslint-plugin@5.3.1(eslint@9.35.0(jiti@2.5.1))': + '@stylistic/eslint-plugin@5.5.0(eslint@9.38.0(jiti@2.6.1))': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1)) - '@typescript-eslint/types': 8.43.0 - eslint: 9.35.0(jiti@2.5.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) + '@typescript-eslint/types': 8.46.2 + eslint: 9.38.0(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -7354,181 +7478,178 @@ snapshots: dependencies: tslib: 2.8.1 - '@tailwindcss/node@4.1.13': + '@tailwindcss/node@4.1.15': dependencies: '@jridgewell/remapping': 2.3.5 enhanced-resolve: 5.18.3 - jiti: 2.5.1 - lightningcss: 1.30.1 + jiti: 2.6.1 + lightningcss: 1.30.2 magic-string: 0.30.19 source-map-js: 1.2.1 - tailwindcss: 4.1.13 + tailwindcss: 4.1.15 - '@tailwindcss/oxide-android-arm64@4.1.13': + '@tailwindcss/oxide-android-arm64@4.1.15': optional: true - '@tailwindcss/oxide-darwin-arm64@4.1.13': + '@tailwindcss/oxide-darwin-arm64@4.1.15': optional: true - '@tailwindcss/oxide-darwin-x64@4.1.13': + '@tailwindcss/oxide-darwin-x64@4.1.15': optional: true - '@tailwindcss/oxide-freebsd-x64@4.1.13': + '@tailwindcss/oxide-freebsd-x64@4.1.15': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.15': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.1.13': + '@tailwindcss/oxide-linux-arm64-gnu@4.1.15': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.1.13': + '@tailwindcss/oxide-linux-arm64-musl@4.1.15': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.1.13': + '@tailwindcss/oxide-linux-x64-gnu@4.1.15': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.1.13': + '@tailwindcss/oxide-linux-x64-musl@4.1.15': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.1.13': + '@tailwindcss/oxide-wasm32-wasi@4.1.15': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.1.13': + '@tailwindcss/oxide-win32-arm64-msvc@4.1.15': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.1.13': + '@tailwindcss/oxide-win32-x64-msvc@4.1.15': optional: true - '@tailwindcss/oxide@4.1.13': - dependencies: - detect-libc: 2.0.4 - tar: 7.4.3 + '@tailwindcss/oxide@4.1.15': optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.1.13 - '@tailwindcss/oxide-darwin-arm64': 4.1.13 - '@tailwindcss/oxide-darwin-x64': 4.1.13 - '@tailwindcss/oxide-freebsd-x64': 4.1.13 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.13 - '@tailwindcss/oxide-linux-arm64-gnu': 4.1.13 - '@tailwindcss/oxide-linux-arm64-musl': 4.1.13 - '@tailwindcss/oxide-linux-x64-gnu': 4.1.13 - '@tailwindcss/oxide-linux-x64-musl': 4.1.13 - '@tailwindcss/oxide-wasm32-wasi': 4.1.13 - '@tailwindcss/oxide-win32-arm64-msvc': 4.1.13 - '@tailwindcss/oxide-win32-x64-msvc': 4.1.13 + '@tailwindcss/oxide-android-arm64': 4.1.15 + '@tailwindcss/oxide-darwin-arm64': 4.1.15 + '@tailwindcss/oxide-darwin-x64': 4.1.15 + '@tailwindcss/oxide-freebsd-x64': 4.1.15 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.15 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.15 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.15 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.15 + '@tailwindcss/oxide-linux-x64-musl': 4.1.15 + '@tailwindcss/oxide-wasm32-wasi': 4.1.15 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.15 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.15 - '@tailwindcss/postcss@4.1.13': + '@tailwindcss/postcss@4.1.15': dependencies: '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.1.13 - '@tailwindcss/oxide': 4.1.13 + '@tailwindcss/node': 4.1.15 + '@tailwindcss/oxide': 4.1.15 postcss: 8.5.6 - tailwindcss: 4.1.13 + tailwindcss: 4.1.15 - '@tailwindcss/vite@4.1.13(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@tailwindcss/vite@4.1.15(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: - '@tailwindcss/node': 4.1.13 - '@tailwindcss/oxide': 4.1.13 - tailwindcss: 4.1.13 - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + '@tailwindcss/node': 4.1.15 + '@tailwindcss/oxide': 4.1.15 + tailwindcss: 4.1.15 + vite: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) '@tanstack/table-core@8.21.3': {} '@tanstack/virtual-core@3.13.12': {} - '@tanstack/vue-table@8.21.3(vue@3.5.21(typescript@5.9.2))': + '@tanstack/vue-table@8.21.3(vue@3.5.22(typescript@5.9.3))': dependencies: '@tanstack/table-core': 8.21.3 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) - '@tanstack/vue-virtual@3.13.12(vue@3.5.21(typescript@5.9.2))': + '@tanstack/vue-virtual@3.13.12(vue@3.5.22(typescript@5.9.3))': dependencies: '@tanstack/virtual-core': 3.13.12 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) - '@tauri-apps/api@2.8.0': {} + '@tauri-apps/api@2.9.0': {} - '@tauri-apps/cli-darwin-arm64@2.8.4': + '@tauri-apps/cli-darwin-arm64@2.9.0': optional: true - '@tauri-apps/cli-darwin-x64@2.8.4': + '@tauri-apps/cli-darwin-x64@2.9.0': optional: true - '@tauri-apps/cli-linux-arm-gnueabihf@2.8.4': + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.0': optional: true - '@tauri-apps/cli-linux-arm64-gnu@2.8.4': + '@tauri-apps/cli-linux-arm64-gnu@2.9.0': optional: true - '@tauri-apps/cli-linux-arm64-musl@2.8.4': + '@tauri-apps/cli-linux-arm64-musl@2.9.0': optional: true - '@tauri-apps/cli-linux-riscv64-gnu@2.8.4': + '@tauri-apps/cli-linux-riscv64-gnu@2.9.0': optional: true - '@tauri-apps/cli-linux-x64-gnu@2.8.4': + '@tauri-apps/cli-linux-x64-gnu@2.9.0': optional: true - '@tauri-apps/cli-linux-x64-musl@2.8.4': + '@tauri-apps/cli-linux-x64-musl@2.9.0': optional: true - '@tauri-apps/cli-win32-arm64-msvc@2.8.4': + '@tauri-apps/cli-win32-arm64-msvc@2.9.0': optional: true - '@tauri-apps/cli-win32-ia32-msvc@2.8.4': + '@tauri-apps/cli-win32-ia32-msvc@2.9.0': optional: true - '@tauri-apps/cli-win32-x64-msvc@2.8.4': + '@tauri-apps/cli-win32-x64-msvc@2.9.0': optional: true - '@tauri-apps/cli@2.8.4': + '@tauri-apps/cli@2.9.0': optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.8.4 - '@tauri-apps/cli-darwin-x64': 2.8.4 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.8.4 - '@tauri-apps/cli-linux-arm64-gnu': 2.8.4 - '@tauri-apps/cli-linux-arm64-musl': 2.8.4 - '@tauri-apps/cli-linux-riscv64-gnu': 2.8.4 - '@tauri-apps/cli-linux-x64-gnu': 2.8.4 - '@tauri-apps/cli-linux-x64-musl': 2.8.4 - '@tauri-apps/cli-win32-arm64-msvc': 2.8.4 - '@tauri-apps/cli-win32-ia32-msvc': 2.8.4 - '@tauri-apps/cli-win32-x64-msvc': 2.8.4 + '@tauri-apps/cli-darwin-arm64': 2.9.0 + '@tauri-apps/cli-darwin-x64': 2.9.0 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.9.0 + '@tauri-apps/cli-linux-arm64-gnu': 2.9.0 + '@tauri-apps/cli-linux-arm64-musl': 2.9.0 + '@tauri-apps/cli-linux-riscv64-gnu': 2.9.0 + '@tauri-apps/cli-linux-x64-gnu': 2.9.0 + '@tauri-apps/cli-linux-x64-musl': 2.9.0 + '@tauri-apps/cli-win32-arm64-msvc': 2.9.0 + '@tauri-apps/cli-win32-ia32-msvc': 2.9.0 + '@tauri-apps/cli-win32-x64-msvc': 2.9.0 '@tauri-apps/plugin-dialog@2.4.0': dependencies: - '@tauri-apps/api': 2.8.0 + '@tauri-apps/api': 2.9.0 '@tauri-apps/plugin-fs@2.4.2': dependencies: - '@tauri-apps/api': 2.8.0 + '@tauri-apps/api': 2.9.0 '@tauri-apps/plugin-http@2.5.2': dependencies: - '@tauri-apps/api': 2.8.0 + '@tauri-apps/api': 2.9.0 '@tauri-apps/plugin-notification@2.3.1': dependencies: - '@tauri-apps/api': 2.8.0 + '@tauri-apps/api': 2.9.0 '@tauri-apps/plugin-opener@2.5.0': dependencies: - '@tauri-apps/api': 2.8.0 + '@tauri-apps/api': 2.9.0 '@tauri-apps/plugin-os@2.3.1': dependencies: - '@tauri-apps/api': 2.8.0 + '@tauri-apps/api': 2.9.0 '@tauri-apps/plugin-sql@2.3.0': dependencies: - '@tauri-apps/api': 2.8.0 + '@tauri-apps/api': 2.9.0 '@tauri-apps/plugin-store@2.4.0': dependencies: - '@tauri-apps/api': 2.8.0 + '@tauri-apps/api': 2.9.0 - '@tybys/wasm-util@0.10.0': + '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true @@ -7537,9 +7658,9 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/node@24.6.2': + '@types/node@24.9.1': dependencies: - undici-types: 7.13.0 + undici-types: 7.16.0 '@types/parse-path@7.1.0': dependencies: @@ -7553,112 +7674,106 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 24.6.2 + '@types/node': 24.9.1 - '@typescript-eslint/eslint-plugin@8.43.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.43.0 - '@typescript-eslint/type-utils': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/utils': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.43.0 - eslint: 9.35.0(jiti@2.5.1) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/type-utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.2 + eslint: 9.38.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.43.0 - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.43.0 - debug: 4.4.1 - eslint: 9.35.0(jiti@2.5.1) - typescript: 5.9.2 + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.46.2 + debug: 4.4.3 + eslint: 9.38.0(jiti@2.6.1) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.43.0(typescript@5.9.2)': + '@typescript-eslint/project-service@8.46.2(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2) - '@typescript-eslint/types': 8.43.0 - debug: 4.4.1 - typescript: 5.9.2 + '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) + '@typescript-eslint/types': 8.46.2 + debug: 4.4.3 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.43.0': + '@typescript-eslint/scope-manager@8.46.2': dependencies: - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/visitor-keys': 8.43.0 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/visitor-keys': 8.46.2 - '@typescript-eslint/tsconfig-utils@8.43.0(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.46.2(typescript@5.9.3)': dependencies: - typescript: 5.9.2 + typescript: 5.9.3 - '@typescript-eslint/type-utils@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) - debug: 4.4.1 - eslint: 9.35.0(jiti@2.5.1) - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) + debug: 4.4.3 + eslint: 9.38.0(jiti@2.6.1) + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.43.0': {} + '@typescript-eslint/types@8.46.2': {} - '@typescript-eslint/typescript-estree@8.43.0(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.46.2(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.43.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.43.0(typescript@5.9.2) - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/visitor-keys': 8.43.0 - debug: 4.4.1 + '@typescript-eslint/project-service': 8.46.2(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3) + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/visitor-keys': 8.46.2 + debug: 4.4.3 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + semver: 7.7.3 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2)': + '@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1)) - '@typescript-eslint/scope-manager': 8.43.0 - '@typescript-eslint/types': 8.43.0 - '@typescript-eslint/typescript-estree': 8.43.0(typescript@5.9.2) - eslint: 9.35.0(jiti@2.5.1) - typescript: 5.9.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.46.2 + '@typescript-eslint/types': 8.46.2 + '@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) + eslint: 9.38.0(jiti@2.6.1) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.43.0': + '@typescript-eslint/visitor-keys@8.46.2': dependencies: - '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/types': 8.46.2 eslint-visitor-keys: 4.2.1 - '@unhead/vue@2.0.14(vue@3.5.21(typescript@5.9.2))': + '@unhead/vue@2.0.19(vue@3.5.22(typescript@5.9.3))': dependencies: hookable: 5.5.3 - unhead: 2.0.14 - vue: 3.5.21(typescript@5.9.2) - - '@unhead/vue@2.0.17(vue@3.5.21(typescript@5.9.2))': - dependencies: - hookable: 5.5.3 - unhead: 2.0.17 - vue: 3.5.21(typescript@5.9.2) + unhead: 2.0.19 + vue: 3.5.22(typescript@5.9.3) '@unrs/resolver-binding-android-arm-eabi@1.11.1': optional: true @@ -7719,10 +7834,10 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vercel/nft@0.30.1(rollup@4.50.1)': + '@vercel/nft@0.30.3(rollup@4.52.5)': dependencies: '@mapbox/node-pre-gyp': 2.0.0 - '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) acorn: 8.15.0 acorn-import-attributes: 1.9.5(acorn@8.15.0) async-sema: 3.1.1 @@ -7738,29 +7853,31 @@ snapshots: - rollup - supports-color - '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2))': + '@vercel/oidc@3.0.3': {} + + '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: '@babel/core': 7.28.4 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) - '@rolldown/pluginutils': 1.0.0-beta.36 + '@rolldown/pluginutils': 1.0.0-beta.44 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.4) - vite: 7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vue: 3.5.21(typescript@5.9.2) + vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.1(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2))': + '@vitejs/plugin-vue@6.0.1(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vue: 3.5.21(typescript@5.9.2) + vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vue: 3.5.22(typescript@5.9.3) - '@vitejs/plugin-vue@6.0.1(vite@7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2))': + '@vitejs/plugin-vue@6.0.1(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vue: 3.5.21(typescript@5.9.2) + vite: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vue: 3.5.22(typescript@5.9.3) '@volar/language-core@2.4.23': dependencies: @@ -7774,25 +7891,25 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vue-macros/common@3.0.0-beta.15(vue@3.5.21(typescript@5.9.2))': + '@vue-macros/common@3.0.0-beta.15(vue@3.5.22(typescript@5.9.3))': dependencies: - '@vue/compiler-sfc': 3.5.21 - ast-kit: 2.1.2 + '@vue/compiler-sfc': 3.5.22 + ast-kit: 2.1.3 local-pkg: 1.1.2 - magic-string-ast: 1.0.2 + magic-string-ast: 1.0.3 unplugin-utils: 0.2.5 optionalDependencies: - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) - '@vue-macros/common@3.0.0-beta.16(vue@3.5.21(typescript@5.9.2))': + '@vue-macros/common@3.0.0-beta.16(vue@3.5.22(typescript@5.9.3))': dependencies: - '@vue/compiler-sfc': 3.5.21 - ast-kit: 2.1.2 + '@vue/compiler-sfc': 3.5.22 + ast-kit: 2.1.3 local-pkg: 1.1.2 - magic-string-ast: 1.0.2 + magic-string-ast: 1.0.3 unplugin-utils: 0.2.5 optionalDependencies: - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) '@vue/babel-helper-vue-transform-on@1.5.0': {} @@ -7806,7 +7923,7 @@ snapshots: '@babel/types': 7.28.4 '@vue/babel-helper-vue-transform-on': 1.5.0 '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.4) - '@vue/shared': 3.5.21 + '@vue/shared': 3.5.22 optionalDependencies: '@babel/core': 7.28.4 transitivePeerDependencies: @@ -7819,39 +7936,39 @@ snapshots: '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 '@babel/parser': 7.28.4 - '@vue/compiler-sfc': 3.5.21 + '@vue/compiler-sfc': 3.5.22 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.21': + '@vue/compiler-core@3.5.22': dependencies: '@babel/parser': 7.28.4 - '@vue/shared': 3.5.21 + '@vue/shared': 3.5.22 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.21': + '@vue/compiler-dom@3.5.22': dependencies: - '@vue/compiler-core': 3.5.21 - '@vue/shared': 3.5.21 + '@vue/compiler-core': 3.5.22 + '@vue/shared': 3.5.22 - '@vue/compiler-sfc@3.5.21': + '@vue/compiler-sfc@3.5.22': dependencies: '@babel/parser': 7.28.4 - '@vue/compiler-core': 3.5.21 - '@vue/compiler-dom': 3.5.21 - '@vue/compiler-ssr': 3.5.21 - '@vue/shared': 3.5.21 + '@vue/compiler-core': 3.5.22 + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-ssr': 3.5.22 + '@vue/shared': 3.5.22 estree-walker: 2.0.2 magic-string: 0.30.19 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.21': + '@vue/compiler-ssr@3.5.22': dependencies: - '@vue/compiler-dom': 3.5.21 - '@vue/shared': 3.5.21 + '@vue/compiler-dom': 3.5.22 + '@vue/shared': 3.5.22 '@vue/compiler-vue2@2.7.16': dependencies: @@ -7864,114 +7981,126 @@ snapshots: dependencies: '@vue/devtools-kit': 7.7.7 - '@vue/devtools-core@7.7.7(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2))': + '@vue/devtools-core@7.7.7(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: '@vue/devtools-kit': 7.7.7 '@vue/devtools-shared': 7.7.7 mitt: 3.0.1 - nanoid: 5.1.5 + nanoid: 5.1.6 pathe: 2.0.3 - vite-hot-client: 2.1.0(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - vue: 3.5.21(typescript@5.9.2) + vite-hot-client: 2.1.0(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - vite '@vue/devtools-kit@7.7.7': dependencies: '@vue/devtools-shared': 7.7.7 - birpc: 2.5.0 + birpc: 2.6.1 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - superjson: 2.2.2 + superjson: 2.2.3 '@vue/devtools-shared@7.7.7': dependencies: rfdc: 1.4.1 - '@vue/language-core@3.0.6(typescript@5.9.2)': + '@vue/language-core@3.0.6(typescript@5.9.3)': dependencies: '@volar/language-core': 2.4.23 - '@vue/compiler-dom': 3.5.21 + '@vue/compiler-dom': 3.5.22 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.21 - alien-signals: 2.0.7 + '@vue/shared': 3.5.22 + alien-signals: 2.0.8 muggle-string: 0.4.1 path-browserify: 1.0.1 picomatch: 4.0.3 optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 - '@vue/reactivity@3.5.21': + '@vue/language-core@3.1.1(typescript@5.9.3)': dependencies: - '@vue/shared': 3.5.21 + '@volar/language-core': 2.4.23 + '@vue/compiler-dom': 3.5.22 + '@vue/shared': 3.5.22 + alien-signals: 3.0.3 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + picomatch: 4.0.3 + optionalDependencies: + typescript: 5.9.3 - '@vue/runtime-core@3.5.21': + '@vue/reactivity@3.5.22': dependencies: - '@vue/reactivity': 3.5.21 - '@vue/shared': 3.5.21 + '@vue/shared': 3.5.22 - '@vue/runtime-dom@3.5.21': + '@vue/runtime-core@3.5.22': dependencies: - '@vue/reactivity': 3.5.21 - '@vue/runtime-core': 3.5.21 - '@vue/shared': 3.5.21 + '@vue/reactivity': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/runtime-dom@3.5.22': + dependencies: + '@vue/reactivity': 3.5.22 + '@vue/runtime-core': 3.5.22 + '@vue/shared': 3.5.22 csstype: 3.1.3 - '@vue/server-renderer@3.5.21(vue@3.5.21(typescript@5.9.2))': + '@vue/server-renderer@3.5.22(vue@3.5.22(typescript@5.9.3))': dependencies: - '@vue/compiler-ssr': 3.5.21 - '@vue/shared': 3.5.21 - vue: 3.5.21(typescript@5.9.2) + '@vue/compiler-ssr': 3.5.22 + '@vue/shared': 3.5.22 + vue: 3.5.22(typescript@5.9.3) - '@vue/shared@3.5.21': {} + '@vue/shared@3.5.22': {} - '@vueuse/components@13.9.0(vue@3.5.21(typescript@5.9.2))': + '@vueuse/components@13.9.0(vue@3.5.22(typescript@5.9.3))': dependencies: - '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.9.2)) - '@vueuse/shared': 13.9.0(vue@3.5.21(typescript@5.9.2)) - vue: 3.5.21(typescript@5.9.2) + '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) + '@vueuse/shared': 13.9.0(vue@3.5.22(typescript@5.9.3)) + vue: 3.5.22(typescript@5.9.3) - '@vueuse/core@10.11.1(vue@3.5.21(typescript@5.9.2))': + '@vueuse/core@10.11.1(vue@3.5.22(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.21(typescript@5.9.2)) - vue-demi: 0.14.10(vue@3.5.21(typescript@5.9.2)) + '@vueuse/shared': 10.11.1(vue@3.5.22(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/core@12.8.2(typescript@5.9.2)': + '@vueuse/core@12.8.2(typescript@5.9.3)': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 12.8.2 - '@vueuse/shared': 12.8.2(typescript@5.9.2) - vue: 3.5.21(typescript@5.9.2) + '@vueuse/shared': 12.8.2(typescript@5.9.3) + vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - typescript - '@vueuse/core@13.9.0(vue@3.5.21(typescript@5.9.2))': + '@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 13.9.0 - '@vueuse/shared': 13.9.0(vue@3.5.21(typescript@5.9.2)) - vue: 3.5.21(typescript@5.9.2) + '@vueuse/shared': 13.9.0(vue@3.5.22(typescript@5.9.3)) + vue: 3.5.22(typescript@5.9.3) - '@vueuse/gesture@2.0.0(vue@3.5.21(typescript@5.9.2))': + '@vueuse/gesture@2.0.0(vue@3.5.22(typescript@5.9.3))': dependencies: chokidar: 3.6.0 consola: 3.4.2 upath: 2.0.1 - vue: 3.5.21(typescript@5.9.2) - vue-demi: 0.14.10(vue@3.5.21(typescript@5.9.2)) + vue: 3.5.22(typescript@5.9.3) + vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3)) - '@vueuse/integrations@13.9.0(change-case@5.4.4)(fuse.js@7.1.0)(vue@3.5.21(typescript@5.9.2))': + '@vueuse/integrations@13.9.0(change-case@5.4.4)(fuse.js@7.1.0)(vue@3.5.22(typescript@5.9.3))': dependencies: - '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.9.2)) - '@vueuse/shared': 13.9.0(vue@3.5.21(typescript@5.9.2)) - vue: 3.5.21(typescript@5.9.2) + '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) + '@vueuse/shared': 13.9.0(vue@3.5.22(typescript@5.9.3)) + vue: 3.5.22(typescript@5.9.3) optionalDependencies: change-case: 5.4.4 fuse.js: 7.1.0 @@ -7982,33 +8111,33 @@ snapshots: '@vueuse/metadata@13.9.0': {} - '@vueuse/nuxt@13.9.0(magicast@0.3.5)(nuxt@4.1.1(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.21)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.35.0(jiti@2.5.1))(ioredis@5.7.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.1)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.2))(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2))': + '@vueuse/nuxt@13.9.0(magicast@0.3.5)(nuxt@4.1.3(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.9.1)(@vue/compiler-sfc@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.38.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.3))(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3))': dependencies: - '@nuxt/kit': 3.19.1(magicast@0.3.5) - '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.9.2)) + '@nuxt/kit': 3.19.3(magicast@0.3.5) + '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) '@vueuse/metadata': 13.9.0 local-pkg: 1.1.2 - nuxt: 4.1.1(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.21)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.35.0(jiti@2.5.1))(ioredis@5.7.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.1)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.2))(yaml@2.8.1) - vue: 3.5.21(typescript@5.9.2) + nuxt: 4.1.3(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.9.1)(@vue/compiler-sfc@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.38.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.3))(yaml@2.8.1) + vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - magicast - '@vueuse/shared@10.11.1(vue@3.5.21(typescript@5.9.2))': + '@vueuse/shared@10.11.1(vue@3.5.22(typescript@5.9.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.21(typescript@5.9.2)) + vue-demi: 0.14.10(vue@3.5.22(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/shared@12.8.2(typescript@5.9.2)': + '@vueuse/shared@12.8.2(typescript@5.9.3)': dependencies: - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - typescript - '@vueuse/shared@13.9.0(vue@3.5.21(typescript@5.9.2))': + '@vueuse/shared@13.9.0(vue@3.5.22(typescript@5.9.3))': dependencies: - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) abbrev@3.0.1: {} @@ -8028,11 +8157,11 @@ snapshots: agent-base@7.1.4: {} - ai@5.0.51(zod@3.25.76): + ai@5.0.76(zod@3.25.76): dependencies: - '@ai-sdk/gateway': 1.0.28(zod@3.25.76) + '@ai-sdk/gateway': 2.0.0(zod@3.25.76) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.9(zod@3.25.76) + '@ai-sdk/provider-utils': 3.0.12(zod@3.25.76) '@opentelemetry/api': 1.9.0 zod: 3.25.76 @@ -8043,7 +8172,9 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - alien-signals@2.0.7: {} + alien-signals@2.0.8: {} + + alien-signals@3.0.3: {} ansi-regex@5.0.1: {} @@ -8055,7 +8186,7 @@ snapshots: ansi-styles@6.2.3: {} - ansis@4.1.0: {} + ansis@4.2.0: {} anymatch@3.1.3: dependencies: @@ -8081,6 +8212,9 @@ snapshots: readdir-glob: 1.1.3 tar-stream: 3.1.7 zip-stream: 6.0.1 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a are-docs-informative@0.0.2: {} @@ -8090,15 +8224,15 @@ snapshots: dependencies: tslib: 2.8.1 - ast-kit@2.1.2: + ast-kit@2.1.3: dependencies: '@babel/parser': 7.28.4 pathe: 2.0.3 - ast-walker-scope@0.8.2: + ast-walker-scope@0.8.3: dependencies: '@babel/parser': 7.28.4 - ast-kit: 2.1.2 + ast-kit: 2.1.3 async-sema@3.1.1: {} @@ -8106,30 +8240,31 @@ snapshots: autoprefixer@10.4.21(postcss@8.5.6): dependencies: - browserslist: 4.25.4 - caniuse-lite: 1.0.30001741 + browserslist: 4.26.3 + caniuse-lite: 1.0.30001751 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 postcss: 8.5.6 postcss-value-parser: 4.2.0 - b4a@1.6.7: {} + b4a@1.7.3: {} balanced-match@1.0.2: {} - bare-events@2.6.1: - optional: true + bare-events@2.8.0: {} base64-js@1.5.1: {} + baseline-browser-mapping@2.8.19: {} + binary-extensions@2.3.0: {} bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 - birpc@2.5.0: {} + birpc@2.6.1: {} blob-to-buffer@1.2.9: {} @@ -8152,12 +8287,13 @@ snapshots: dependencies: base64-js: 1.5.1 - browserslist@4.25.4: + browserslist@4.26.3: dependencies: - caniuse-lite: 1.0.30001741 - electron-to-chromium: 1.5.215 - node-releases: 2.0.20 - update-browserslist-db: 1.1.3(browserslist@4.25.4) + baseline-browser-mapping: 2.8.19 + caniuse-lite: 1.0.30001751 + electron-to-chromium: 1.5.238 + node-releases: 2.0.26 + update-browserslist-db: 1.1.3(browserslist@4.26.3) buffer-crc32@1.0.0: {} @@ -8174,23 +8310,23 @@ snapshots: dependencies: run-applescript: 7.1.0 - bundle-require@5.1.0(esbuild@0.25.9): + bundle-require@5.1.0(esbuild@0.25.11): dependencies: - esbuild: 0.25.9 + esbuild: 0.25.11 load-tsconfig: 0.2.5 - c12@3.2.0(magicast@0.3.5): + c12@3.3.1(magicast@0.3.5): dependencies: chokidar: 4.0.3 confbox: 0.2.2 defu: 6.1.4 - dotenv: 17.2.2 + dotenv: 17.2.3 exsolve: 1.0.7 giget: 2.0.0 - jiti: 2.5.1 + jiti: 2.6.1 ohash: 2.0.11 pathe: 2.0.3 - perfect-debounce: 1.0.0 + perfect-debounce: 2.0.0 pkg-types: 2.3.0 rc9: 2.1.2 optionalDependencies: @@ -8202,12 +8338,12 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.25.4 - caniuse-lite: 1.0.30001741 + browserslist: 4.26.3 + caniuse-lite: 1.0.30001751 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001741: {} + caniuse-lite@1.0.30001751: {} chalk@4.1.2: dependencies: @@ -8234,7 +8370,7 @@ snapshots: chownr@3.0.0: {} - ci-info@4.3.0: {} + ci-info@4.3.1: {} citty@0.1.6: dependencies: @@ -8250,6 +8386,13 @@ snapshots: is-wsl: 3.1.0 is64bit: 2.0.0 + clipboardy@5.0.0: + dependencies: + execa: 9.6.0 + is-wayland: 0.1.0 + is-wsl: 3.1.0 + is64bit: 2.0.0 + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -8304,13 +8447,13 @@ snapshots: cookie@1.0.2: {} - copy-anything@3.0.5: + copy-anything@4.0.5: dependencies: - is-what: 4.1.16 + is-what: 5.5.0 - core-js-compat@3.45.1: + core-js-compat@3.46.0: dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 core-util-is@1.0.3: {} @@ -8339,7 +8482,7 @@ snapshots: dependencies: uncrypto: 0.1.3 - css-declaration-sorter@7.2.0(postcss@8.5.6): + css-declaration-sorter@7.3.0(postcss@8.5.6): dependencies: postcss: 8.5.6 @@ -8367,8 +8510,8 @@ snapshots: cssnano-preset-default@7.0.9(postcss@8.5.6): dependencies: - browserslist: 4.25.4 - css-declaration-sorter: 7.2.0(postcss@8.5.6) + browserslist: 4.26.3 + css-declaration-sorter: 7.3.0(postcss@8.5.6) cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 postcss-calc: 10.1.1(postcss@8.5.6) @@ -8417,17 +8560,13 @@ snapshots: data-uri-to-buffer@4.0.1: {} - db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)): + db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)): optionalDependencies: '@libsql/client': 0.15.15 - drizzle-orm: 0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0) + drizzle-orm: 0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0) de-indent@1.0.2: {} - debug@4.4.1: - dependencies: - ms: 2.1.3 - debug@4.4.3: dependencies: ms: 2.1.3 @@ -8459,9 +8598,9 @@ snapshots: detect-libc@2.0.2: {} - detect-libc@2.0.4: {} + detect-libc@2.1.2: {} - devalue@5.3.2: {} + devalue@5.4.2: {} dfa@1.2.0: {} @@ -8485,24 +8624,24 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - dot-prop@9.0.0: + dot-prop@10.1.0: dependencies: - type-fest: 4.41.0 + type-fest: 5.1.0 dotenv@16.6.1: {} - dotenv@17.2.2: {} + dotenv@17.2.3: {} - drizzle-kit@0.31.4: + drizzle-kit@0.31.5: dependencies: '@drizzle-team/brocli': 0.10.2 '@esbuild-kit/esm-loader': 2.6.5 - esbuild: 0.25.9 - esbuild-register: 3.6.0(esbuild@0.25.9) + esbuild: 0.25.11 + esbuild-register: 3.6.0(esbuild@0.25.11) transitivePeerDependencies: - supports-color - drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0): + drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0): optionalDependencies: '@libsql/client': 0.15.15 '@opentelemetry/api': 1.9.0 @@ -8513,7 +8652,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.215: {} + electron-to-chromium@1.5.238: {} embla-carousel-auto-height@8.6.0(embla-carousel@8.6.0): dependencies: @@ -8539,11 +8678,11 @@ snapshots: dependencies: embla-carousel: 8.6.0 - embla-carousel-vue@8.6.0(vue@3.5.21(typescript@5.9.2)): + embla-carousel-vue@8.6.0(vue@3.5.22(typescript@5.9.3)): dependencies: embla-carousel: 8.6.0 embla-carousel-reactive-utils: 8.6.0(embla-carousel@8.6.0) - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) embla-carousel-wheel-gestures@8.1.0(embla-carousel@8.6.0): dependencies: @@ -8561,7 +8700,7 @@ snapshots: enhanced-resolve@5.18.3: dependencies: graceful-fs: 4.2.11 - tapable: 2.2.3 + tapable: 2.3.0 entities@4.5.0: {} @@ -8571,10 +8710,10 @@ snapshots: es-module-lexer@1.7.0: {} - esbuild-register@3.6.0(esbuild@0.25.9): + esbuild-register@3.6.0(esbuild@0.25.11): dependencies: - debug: 4.4.1 - esbuild: 0.25.9 + debug: 4.4.3 + esbuild: 0.25.11 transitivePeerDependencies: - supports-color @@ -8603,34 +8742,34 @@ snapshots: '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - esbuild@0.25.9: + esbuild@0.25.11: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.9 - '@esbuild/android-arm': 0.25.9 - '@esbuild/android-arm64': 0.25.9 - '@esbuild/android-x64': 0.25.9 - '@esbuild/darwin-arm64': 0.25.9 - '@esbuild/darwin-x64': 0.25.9 - '@esbuild/freebsd-arm64': 0.25.9 - '@esbuild/freebsd-x64': 0.25.9 - '@esbuild/linux-arm': 0.25.9 - '@esbuild/linux-arm64': 0.25.9 - '@esbuild/linux-ia32': 0.25.9 - '@esbuild/linux-loong64': 0.25.9 - '@esbuild/linux-mips64el': 0.25.9 - '@esbuild/linux-ppc64': 0.25.9 - '@esbuild/linux-riscv64': 0.25.9 - '@esbuild/linux-s390x': 0.25.9 - '@esbuild/linux-x64': 0.25.9 - '@esbuild/netbsd-arm64': 0.25.9 - '@esbuild/netbsd-x64': 0.25.9 - '@esbuild/openbsd-arm64': 0.25.9 - '@esbuild/openbsd-x64': 0.25.9 - '@esbuild/openharmony-arm64': 0.25.9 - '@esbuild/sunos-x64': 0.25.9 - '@esbuild/win32-arm64': 0.25.9 - '@esbuild/win32-ia32': 0.25.9 - '@esbuild/win32-x64': 0.25.9 + '@esbuild/aix-ppc64': 0.25.11 + '@esbuild/android-arm': 0.25.11 + '@esbuild/android-arm64': 0.25.11 + '@esbuild/android-x64': 0.25.11 + '@esbuild/darwin-arm64': 0.25.11 + '@esbuild/darwin-x64': 0.25.11 + '@esbuild/freebsd-arm64': 0.25.11 + '@esbuild/freebsd-x64': 0.25.11 + '@esbuild/linux-arm': 0.25.11 + '@esbuild/linux-arm64': 0.25.11 + '@esbuild/linux-ia32': 0.25.11 + '@esbuild/linux-loong64': 0.25.11 + '@esbuild/linux-mips64el': 0.25.11 + '@esbuild/linux-ppc64': 0.25.11 + '@esbuild/linux-riscv64': 0.25.11 + '@esbuild/linux-s390x': 0.25.11 + '@esbuild/linux-x64': 0.25.11 + '@esbuild/netbsd-arm64': 0.25.11 + '@esbuild/netbsd-x64': 0.25.11 + '@esbuild/openbsd-arm64': 0.25.11 + '@esbuild/openbsd-x64': 0.25.11 + '@esbuild/openharmony-arm64': 0.25.11 + '@esbuild/sunos-x64': 0.25.11 + '@esbuild/win32-arm64': 0.25.11 + '@esbuild/win32-ia32': 0.25.11 + '@esbuild/win32-x64': 0.25.11 escalade@3.2.0: {} @@ -8650,126 +8789,127 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-flat-gitignore@2.1.0(eslint@9.35.0(jiti@2.5.1)): + eslint-config-flat-gitignore@2.1.0(eslint@9.38.0(jiti@2.6.1)): dependencies: - '@eslint/compat': 1.3.2(eslint@9.35.0(jiti@2.5.1)) - eslint: 9.35.0(jiti@2.5.1) + '@eslint/compat': 1.4.0(eslint@9.38.0(jiti@2.6.1)) + eslint: 9.38.0(jiti@2.6.1) - eslint-flat-config-utils@2.1.1: + eslint-flat-config-utils@2.1.4: dependencies: pathe: 2.0.3 eslint-import-context@0.1.9(unrs-resolver@1.11.1): dependencies: - get-tsconfig: 4.10.1 + get-tsconfig: 4.13.0 stable-hash-x: 0.2.0 optionalDependencies: unrs-resolver: 1.11.1 - eslint-merge-processors@2.0.0(eslint@9.35.0(jiti@2.5.1)): + eslint-merge-processors@2.0.0(eslint@9.38.0(jiti@2.6.1)): dependencies: - eslint: 9.35.0(jiti@2.5.1) + eslint: 9.38.0(jiti@2.6.1) - eslint-plugin-import-lite@0.3.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2): + eslint-plugin-import-lite@0.3.0(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1)) - '@typescript-eslint/types': 8.43.0 - eslint: 9.35.0(jiti@2.5.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) + '@typescript-eslint/types': 8.46.2 + eslint: 9.38.0(jiti@2.6.1) optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1)): dependencies: - '@typescript-eslint/types': 8.43.0 + '@typescript-eslint/types': 8.46.2 comment-parser: 1.4.1 - debug: 4.4.1 - eslint: 9.35.0(jiti@2.5.1) + debug: 4.4.3 + eslint: 9.38.0(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 minimatch: 10.0.3 - semver: 7.7.2 + semver: 7.7.3 stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + '@typescript-eslint/utils': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - supports-color - eslint-plugin-jsdoc@54.7.0(eslint@9.35.0(jiti@2.5.1)): + eslint-plugin-jsdoc@54.7.0(eslint@9.38.0(jiti@2.6.1)): dependencies: '@es-joy/jsdoccomment': 0.56.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.4.1 + debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint: 9.35.0(jiti@2.5.1) + eslint: 9.38.0(jiti@2.6.1) espree: 10.4.0 esquery: 1.6.0 parse-imports-exports: 0.2.4 - semver: 7.7.2 + semver: 7.7.3 spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-regexp@2.10.0(eslint@9.35.0(jiti@2.5.1)): + eslint-plugin-regexp@2.10.0(eslint@9.38.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1)) - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 comment-parser: 1.4.1 - eslint: 9.35.0(jiti@2.5.1) + eslint: 9.38.0(jiti@2.6.1) jsdoc-type-pratt-parser: 4.8.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-unicorn@60.0.0(eslint@9.35.0(jiti@2.5.1)): + eslint-plugin-unicorn@60.0.0(eslint@9.38.0(jiti@2.6.1)): dependencies: '@babel/helper-validator-identifier': 7.27.1 - '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) '@eslint/plugin-kit': 0.3.5 change-case: 5.4.4 - ci-info: 4.3.0 + ci-info: 4.3.1 clean-regexp: 1.0.0 - core-js-compat: 3.45.1 - eslint: 9.35.0(jiti@2.5.1) + core-js-compat: 3.46.0 + eslint: 9.38.0(jiti@2.6.1) esquery: 1.6.0 find-up-simple: 1.0.1 - globals: 16.3.0 + globals: 16.4.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 jsesc: 3.1.0 pluralize: 8.0.0 regexp-tree: 0.1.27 regjsparser: 0.12.0 - semver: 7.7.2 - strip-indent: 4.0.0 + semver: 7.7.3 + strip-indent: 4.1.1 - eslint-plugin-vue@10.4.0(@typescript-eslint/parser@8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.35.0(jiti@2.5.1))(vue-eslint-parser@10.2.0(eslint@9.35.0(jiti@2.5.1))): + eslint-plugin-vue@10.5.1(@stylistic/eslint-plugin@5.5.0(eslint@9.38.0(jiti@2.6.1)))(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.38.0(jiti@2.6.1))): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1)) - eslint: 9.35.0(jiti@2.5.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) + eslint: 9.38.0(jiti@2.6.1) natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 - semver: 7.7.2 - vue-eslint-parser: 10.2.0(eslint@9.35.0(jiti@2.5.1)) + semver: 7.7.3 + vue-eslint-parser: 10.2.0(eslint@9.38.0(jiti@2.6.1)) xml-name-validator: 4.0.0 optionalDependencies: - '@typescript-eslint/parser': 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.9.2) + '@stylistic/eslint-plugin': 5.5.0(eslint@9.38.0(jiti@2.6.1)) + '@typescript-eslint/parser': 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) - eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.21)(eslint@9.35.0(jiti@2.5.1)): + eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.22)(eslint@9.38.0(jiti@2.6.1)): dependencies: - '@vue/compiler-sfc': 3.5.21 - eslint: 9.35.0(jiti@2.5.1) + '@vue/compiler-sfc': 3.5.22 + eslint: 9.38.0(jiti@2.6.1) eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-typegen@2.3.0(eslint@9.35.0(jiti@2.5.1)): + eslint-typegen@2.3.0(eslint@9.38.0(jiti@2.6.1)): dependencies: - eslint: 9.35.0(jiti@2.5.1) + eslint: 9.38.0(jiti@2.6.1) json-schema-to-typescript-lite: 15.0.0 ohash: 2.0.11 @@ -8777,25 +8917,24 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.35.0(jiti@2.5.1): + eslint@9.38.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.35.0(jiti@2.5.1)) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.21.0 - '@eslint/config-helpers': 0.3.1 - '@eslint/core': 0.15.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.38.0(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.1 + '@eslint/core': 0.16.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.35.0 - '@eslint/plugin-kit': 0.3.5 + '@eslint/js': 9.38.0 + '@eslint/plugin-kit': 0.4.0 '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1 + debug: 4.4.3 escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -8815,7 +8954,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.5.1 + jiti: 2.6.1 transitivePeerDependencies: - supports-color @@ -8855,6 +8994,12 @@ snapshots: event-target-shim@5.0.1: {} + events-universal@1.0.1: + dependencies: + bare-events: 2.8.0 + transitivePeerDependencies: + - bare-abort-controller + events@3.3.0: {} eventsource-parser@3.0.6: {} @@ -8871,6 +9016,21 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + execa@9.6.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.2 + exsolve@1.0.7: {} fast-deep-equal@3.1.3: {} @@ -8889,7 +9049,7 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-npm-meta@0.4.6: {} + fast-npm-meta@0.4.7: {} fastq@1.19.1: dependencies: @@ -8904,6 +9064,10 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -8993,7 +9157,12 @@ snapshots: get-stream@8.0.1: {} - get-tsconfig@4.10.1: + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + + get-tsconfig@4.13.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -9003,7 +9172,7 @@ snapshots: consola: 3.4.2 defu: 6.1.4 node-fetch-native: 1.6.7 - nypm: 0.6.1 + nypm: 0.6.2 pathe: 2.0.3 git-up@8.1.1: @@ -9040,11 +9209,11 @@ snapshots: globals@15.15.0: {} - globals@16.3.0: {} + globals@16.4.0: {} - globby@14.1.0: + globby@15.0.0: dependencies: - '@sindresorhus/merge-streams': 2.3.0 + '@sindresorhus/merge-streams': 4.0.0 fast-glob: 3.3.3 ignore: 7.0.5 path-type: 6.0.0 @@ -9096,7 +9265,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -9104,13 +9273,15 @@ snapshots: human-signals@5.0.0: {} + human-signals@8.0.1: {} + ieee754@1.2.1: {} ignore@5.3.2: {} ignore@7.0.5: {} - image-meta@0.2.1: {} + image-meta@0.2.2: {} import-fresh@3.3.1: dependencies: @@ -9133,11 +9304,11 @@ snapshots: ini@4.1.1: {} - ioredis@5.7.0: + ioredis@5.8.2: dependencies: - '@ioredis/commands': 1.3.1 + '@ioredis/commands': 1.4.0 cluster-key-slot: 1.1.2 - debug: 4.4.1 + debug: 4.4.3 denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -9188,6 +9359,8 @@ snapshots: is-path-inside@4.0.0: {} + is-plain-obj@4.1.0: {} + is-reference@1.2.1: dependencies: '@types/estree': 1.0.8 @@ -9200,7 +9373,13 @@ snapshots: is-stream@3.0.0: {} - is-what@4.1.16: {} + is-stream@4.0.1: {} + + is-unicode-supported@2.1.0: {} + + is-wayland@0.1.0: {} + + is-what@5.5.0: {} is-wsl@2.2.0: dependencies: @@ -9226,7 +9405,7 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@2.5.1: {} + jiti@2.6.1: {} js-base64@3.7.8: {} @@ -9250,7 +9429,7 @@ snapshots: json-schema-to-typescript-lite@15.0.0: dependencies: - '@apidevtools/json-schema-ref-parser': 14.2.0(@types/json-schema@7.0.15) + '@apidevtools/json-schema-ref-parser': 14.2.1(@types/json-schema@7.0.15) '@types/json-schema': 7.0.15 json-schema-traverse@0.4.1: {} @@ -9261,12 +9440,12 @@ snapshots: json5@2.2.3: {} - jsonc-eslint-parser@2.4.0: + jsonc-eslint-parser@2.4.1: dependencies: acorn: 8.15.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.7.2 + semver: 7.7.3 keyv@4.5.4: dependencies: @@ -9311,50 +9490,54 @@ snapshots: '@libsql/linux-x64-musl': 0.5.22 '@libsql/win32-x64-msvc': 0.5.22 - lightningcss-darwin-arm64@1.30.1: + lightningcss-android-arm64@1.30.2: optional: true - lightningcss-darwin-x64@1.30.1: + lightningcss-darwin-arm64@1.30.2: optional: true - lightningcss-freebsd-x64@1.30.1: + lightningcss-darwin-x64@1.30.2: optional: true - lightningcss-linux-arm-gnueabihf@1.30.1: + lightningcss-freebsd-x64@1.30.2: optional: true - lightningcss-linux-arm64-gnu@1.30.1: + lightningcss-linux-arm-gnueabihf@1.30.2: optional: true - lightningcss-linux-arm64-musl@1.30.1: + lightningcss-linux-arm64-gnu@1.30.2: optional: true - lightningcss-linux-x64-gnu@1.30.1: + lightningcss-linux-arm64-musl@1.30.2: optional: true - lightningcss-linux-x64-musl@1.30.1: + lightningcss-linux-x64-gnu@1.30.2: optional: true - lightningcss-win32-arm64-msvc@1.30.1: + lightningcss-linux-x64-musl@1.30.2: optional: true - lightningcss-win32-x64-msvc@1.30.1: + lightningcss-win32-arm64-msvc@1.30.2: optional: true - lightningcss@1.30.1: + lightningcss-win32-x64-msvc@1.30.2: + optional: true + + lightningcss@1.30.2: dependencies: - detect-libc: 2.0.4 + detect-libc: 2.1.2 optionalDependencies: - lightningcss-darwin-arm64: 1.30.1 - lightningcss-darwin-x64: 1.30.1 - lightningcss-freebsd-x64: 1.30.1 - lightningcss-linux-arm-gnueabihf: 1.30.1 - lightningcss-linux-arm64-gnu: 1.30.1 - lightningcss-linux-arm64-musl: 1.30.1 - lightningcss-linux-x64-gnu: 1.30.1 - lightningcss-linux-x64-musl: 1.30.1 - lightningcss-win32-arm64-msvc: 1.30.1 - lightningcss-win32-x64-msvc: 1.30.1 + lightningcss-android-arm64: 1.30.2 + lightningcss-darwin-arm64: 1.30.2 + lightningcss-darwin-x64: 1.30.2 + lightningcss-freebsd-x64: 1.30.2 + lightningcss-linux-arm-gnueabihf: 1.30.2 + lightningcss-linux-arm64-gnu: 1.30.2 + lightningcss-linux-arm64-musl: 1.30.2 + lightningcss-linux-x64-gnu: 1.30.2 + lightningcss-linux-x64-musl: 1.30.2 + lightningcss-win32-arm64-msvc: 1.30.2 + lightningcss-win32-x64-msvc: 1.30.2 lilconfig@3.1.3: {} @@ -9370,11 +9553,11 @@ snapshots: get-port-please: 3.2.0 h3: 1.15.4 http-shutdown: 1.2.2 - jiti: 2.5.1 + jiti: 2.6.1 mlly: 1.8.0 node-forge: 1.3.1 pathe: 1.1.2 - std-env: 3.9.0 + std-env: 3.10.0 ufo: 1.6.1 untun: 0.1.3 uqr: 0.1.2 @@ -9423,7 +9606,7 @@ snapshots: ufo: 1.6.1 unplugin: 2.3.10 - magic-string-ast@1.0.2: + magic-string-ast@1.0.3: dependencies: magic-string: 0.30.19 @@ -9458,12 +9641,10 @@ snapshots: mime@3.0.0: {} - mime@4.0.7: {} + mime@4.1.0: {} mimic-fn@4.0.0: {} - min-indent@1.0.1: {} - minimatch@10.0.3: dependencies: '@isaacs/brace-expansion': 5.0.0 @@ -9482,14 +9663,12 @@ snapshots: minipass@7.1.2: {} - minizlib@3.0.2: + minizlib@3.1.0: dependencies: minipass: 7.1.2 mitt@3.0.1: {} - mkdirp@3.0.1: {} - mlly@1.8.0: dependencies: acorn: 8.15.0 @@ -9505,13 +9684,13 @@ snapshots: motion-utils@12.23.6: {} - motion-v@1.7.1(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)): + motion-v@1.7.3(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): dependencies: - '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.9.2)) + '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) framer-motion: 12.23.12 hey-listen: 1.0.8 motion-dom: 12.23.12 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - '@emotion/is-prop-valid' - react @@ -9525,27 +9704,27 @@ snapshots: nanoid@3.3.11: {} - nanoid@5.1.5: {} + nanoid@5.1.6: {} nanotar@0.2.0: {} - napi-postinstall@0.3.3: {} + napi-postinstall@0.3.4: {} natural-compare@1.4.0: {} - nitropack@2.12.5(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)): + nitropack@2.12.7(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)): dependencies: '@cloudflare/kv-asset-handler': 0.4.0 - '@rollup/plugin-alias': 5.1.1(rollup@4.50.1) - '@rollup/plugin-commonjs': 28.0.6(rollup@4.50.1) - '@rollup/plugin-inject': 5.0.5(rollup@4.50.1) - '@rollup/plugin-json': 6.1.0(rollup@4.50.1) - '@rollup/plugin-node-resolve': 16.0.1(rollup@4.50.1) - '@rollup/plugin-replace': 6.0.2(rollup@4.50.1) - '@rollup/plugin-terser': 0.4.4(rollup@4.50.1) - '@vercel/nft': 0.30.1(rollup@4.50.1) + '@rollup/plugin-alias': 5.1.1(rollup@4.52.5) + '@rollup/plugin-commonjs': 28.0.8(rollup@4.52.5) + '@rollup/plugin-inject': 5.0.5(rollup@4.52.5) + '@rollup/plugin-json': 6.1.0(rollup@4.52.5) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.52.5) + '@rollup/plugin-replace': 6.0.2(rollup@4.52.5) + '@rollup/plugin-terser': 0.4.4(rollup@4.52.5) + '@vercel/nft': 0.30.3(rollup@4.52.5) archiver: 7.0.1 - c12: 3.2.0(magicast@0.3.5) + c12: 3.3.1(magicast@0.3.5) chokidar: 4.0.3 citty: 0.1.6 compatx: 0.2.0 @@ -9554,27 +9733,27 @@ snapshots: cookie-es: 2.0.0 croner: 9.1.0 crossws: 0.3.5 - db0: 0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) + db0: 0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) defu: 6.1.4 destr: 2.0.5 - dot-prop: 9.0.0 - esbuild: 0.25.9 + dot-prop: 10.1.0 + esbuild: 0.25.11 escape-string-regexp: 5.0.0 etag: 1.8.1 exsolve: 1.0.7 - globby: 14.1.0 + globby: 15.0.0 gzip-size: 7.0.0 h3: 1.15.4 hookable: 5.5.3 httpxy: 0.1.7 - ioredis: 5.7.0 - jiti: 2.5.1 + ioredis: 5.8.2 + jiti: 2.6.1 klona: 2.0.6 knitwork: 1.2.0 listhen: 1.9.0 magic-string: 0.30.19 magicast: 0.3.5 - mime: 4.0.7 + mime: 4.1.0 mlly: 1.8.0 node-fetch-native: 1.6.7 node-mock-http: 1.0.3 @@ -9583,27 +9762,27 @@ snapshots: pathe: 2.0.3 perfect-debounce: 2.0.0 pkg-types: 2.3.0 - pretty-bytes: 7.0.1 + pretty-bytes: 7.1.0 radix3: 1.1.2 - rollup: 4.50.1 - rollup-plugin-visualizer: 6.0.3(rollup@4.50.1) + rollup: 4.52.5 + rollup-plugin-visualizer: 6.0.5(rollup@4.52.5) scule: 1.3.0 - semver: 7.7.2 + semver: 7.7.3 serve-placeholder: 2.0.2 serve-static: 2.2.0 source-map: 0.7.6 - std-env: 3.9.0 + std-env: 3.10.0 ufo: 1.6.1 ultrahtml: 1.6.0 uncrypto: 0.1.3 unctx: 2.4.1 - unenv: 2.0.0-rc.20 - unimport: 5.2.0 - unplugin-utils: 0.3.0 - unstorage: 1.17.1(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.7.0) + unenv: 2.0.0-rc.21 + unimport: 5.5.0 + unplugin-utils: 0.3.1 + unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2) untyped: 2.0.0 unwasm: 0.3.11 - youch: 4.1.0-beta.8 + youch: 4.1.0-beta.11 youch-core: 0.3.3 transitivePeerDependencies: - '@azure/app-configuration' @@ -9623,11 +9802,13 @@ snapshots: - '@vercel/functions' - '@vercel/kv' - aws4fetch + - bare-abort-controller - better-sqlite3 - drizzle-orm - encoding - idb-keyval - mysql2 + - react-native-b4a - rolldown - sqlite3 - supports-color @@ -9655,7 +9836,7 @@ snapshots: node-mock-http@1.0.3: {} - node-releases@2.0.20: {} + node-releases@2.0.26: {} nopt@8.1.0: dependencies: @@ -9682,33 +9863,33 @@ snapshots: nuxt-zod-i18n@1.12.1(magicast@0.3.5): dependencies: - '@nuxt/kit': 3.19.1(magicast@0.3.5) + '@nuxt/kit': 3.19.3(magicast@0.3.5) defu: 6.1.4 zod: 3.25.76 transitivePeerDependencies: - magicast - nuxt@4.1.1(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.6.2)(@vue/compiler-sfc@3.5.21)(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.35.0(jiti@2.5.1))(ioredis@5.7.0)(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.1)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.2)(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.2))(yaml@2.8.1): + nuxt@4.1.3(@libsql/client@0.15.15)(@parcel/watcher@2.5.1)(@types/node@24.9.1)(@vue/compiler-sfc@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0))(eslint@9.38.0(jiti@2.6.1))(ioredis@5.8.2)(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.3))(yaml@2.8.1): dependencies: - '@nuxt/cli': 3.28.0(magicast@0.3.5) + '@nuxt/cli': 3.29.3(magicast@0.3.5) '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 2.6.3(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)) - '@nuxt/kit': 4.1.1(magicast@0.3.5) - '@nuxt/schema': 4.1.1 + '@nuxt/devtools': 2.6.5(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)) + '@nuxt/kit': 4.1.3(magicast@0.3.5) + '@nuxt/schema': 4.1.3 '@nuxt/telemetry': 2.6.6(magicast@0.3.5) - '@nuxt/vite-builder': 4.1.1(@types/node@24.6.2)(eslint@9.35.0(jiti@2.5.1))(lightningcss@1.30.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.50.1)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.2)(vue-tsc@3.0.6(typescript@5.9.2))(vue@3.5.21(typescript@5.9.2))(yaml@2.8.1) - '@unhead/vue': 2.0.14(vue@3.5.21(typescript@5.9.2)) - '@vue/shared': 3.5.21 - c12: 3.2.0(magicast@0.3.5) + '@nuxt/vite-builder': 4.1.3(@types/node@24.9.1)(eslint@9.38.0(jiti@2.6.1))(lightningcss@1.30.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.52.5)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(vue-tsc@3.0.6(typescript@5.9.3))(vue@3.5.22(typescript@5.9.3))(yaml@2.8.1) + '@unhead/vue': 2.0.19(vue@3.5.22(typescript@5.9.3)) + '@vue/shared': 3.5.22 + c12: 3.3.1(magicast@0.3.5) chokidar: 4.0.3 compatx: 0.2.0 consola: 3.4.2 cookie-es: 2.0.0 defu: 6.1.4 destr: 2.0.5 - devalue: 5.3.2 + devalue: 5.4.2 errx: 0.1.0 - esbuild: 0.25.9 + esbuild: 0.25.11 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 exsolve: 1.0.7 @@ -9716,46 +9897,46 @@ snapshots: hookable: 5.5.3 ignore: 7.0.5 impound: 1.0.0 - jiti: 2.5.1 + jiti: 2.6.1 klona: 2.0.6 knitwork: 1.2.0 magic-string: 0.30.19 mlly: 1.8.0 mocked-exports: 0.1.1 nanotar: 0.2.0 - nitropack: 2.12.5(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) - nypm: 0.6.1 + nitropack: 2.12.7(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) + nypm: 0.6.2 ofetch: 1.4.1 ohash: 2.0.11 - on-change: 5.0.1 - oxc-minify: 0.86.0 - oxc-parser: 0.86.0 - oxc-transform: 0.86.0 - oxc-walker: 0.4.0(oxc-parser@0.86.0) + on-change: 6.0.0 + oxc-minify: 0.94.0 + oxc-parser: 0.94.0 + oxc-transform: 0.94.0 + oxc-walker: 0.5.2(oxc-parser@0.94.0) pathe: 2.0.3 perfect-debounce: 2.0.0 pkg-types: 2.3.0 radix3: 1.1.2 scule: 1.3.0 - semver: 7.7.2 - std-env: 3.9.0 - tinyglobby: 0.2.14 + semver: 7.7.3 + std-env: 3.10.0 + tinyglobby: 0.2.15 ufo: 1.6.1 ultrahtml: 1.6.0 uncrypto: 0.1.3 unctx: 2.4.1 - unimport: 5.2.0 + unimport: 5.5.0 unplugin: 2.3.10 - unplugin-vue-router: 0.15.0(@vue/compiler-sfc@3.5.21)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)) - unstorage: 1.17.1(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.7.0) + unplugin-vue-router: 0.15.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.3)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)) + unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2) untyped: 2.0.0 - vue: 3.5.21(typescript@5.9.2) - vue-bundle-renderer: 2.1.2 + vue: 3.5.22(typescript@5.9.3) + vue-bundle-renderer: 2.2.0 vue-devtools-stub: 0.1.0 - vue-router: 4.5.1(vue@3.5.21(typescript@5.9.2)) + vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) optionalDependencies: '@parcel/watcher': 2.5.1 - '@types/node': 24.6.2 + '@types/node': 24.9.1 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -9776,6 +9957,7 @@ snapshots: - '@vercel/kv' - '@vue/compiler-sfc' - aws4fetch + - bare-abort-controller - better-sqlite3 - bufferutil - db0 @@ -9790,6 +9972,8 @@ snapshots: - meow - mysql2 - optionator + - oxlint + - react-native-b4a - rolldown - rollup - sass @@ -9811,7 +9995,7 @@ snapshots: - xml2js - yaml - nypm@0.6.1: + nypm@0.6.2: dependencies: citty: 0.1.6 consola: 3.4.2 @@ -9827,7 +10011,7 @@ snapshots: ohash@2.0.11: {} - on-change@5.0.1: {} + on-change@6.0.0: {} on-finished@2.4.1: dependencies: @@ -9859,23 +10043,23 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxc-minify@0.86.0: + oxc-minify@0.94.0: optionalDependencies: - '@oxc-minify/binding-android-arm64': 0.86.0 - '@oxc-minify/binding-darwin-arm64': 0.86.0 - '@oxc-minify/binding-darwin-x64': 0.86.0 - '@oxc-minify/binding-freebsd-x64': 0.86.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.86.0 - '@oxc-minify/binding-linux-arm-musleabihf': 0.86.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.86.0 - '@oxc-minify/binding-linux-arm64-musl': 0.86.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.86.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.86.0 - '@oxc-minify/binding-linux-x64-gnu': 0.86.0 - '@oxc-minify/binding-linux-x64-musl': 0.86.0 - '@oxc-minify/binding-wasm32-wasi': 0.86.0 - '@oxc-minify/binding-win32-arm64-msvc': 0.86.0 - '@oxc-minify/binding-win32-x64-msvc': 0.86.0 + '@oxc-minify/binding-android-arm64': 0.94.0 + '@oxc-minify/binding-darwin-arm64': 0.94.0 + '@oxc-minify/binding-darwin-x64': 0.94.0 + '@oxc-minify/binding-freebsd-x64': 0.94.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.94.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.94.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.94.0 + '@oxc-minify/binding-linux-arm64-musl': 0.94.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.94.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.94.0 + '@oxc-minify/binding-linux-x64-gnu': 0.94.0 + '@oxc-minify/binding-linux-x64-musl': 0.94.0 + '@oxc-minify/binding-wasm32-wasi': 0.94.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.94.0 + '@oxc-minify/binding-win32-x64-msvc': 0.94.0 oxc-parser@0.81.0: dependencies: @@ -9897,25 +10081,25 @@ snapshots: '@oxc-parser/binding-win32-arm64-msvc': 0.81.0 '@oxc-parser/binding-win32-x64-msvc': 0.81.0 - oxc-parser@0.86.0: + oxc-parser@0.94.0: dependencies: - '@oxc-project/types': 0.86.0 + '@oxc-project/types': 0.94.0 optionalDependencies: - '@oxc-parser/binding-android-arm64': 0.86.0 - '@oxc-parser/binding-darwin-arm64': 0.86.0 - '@oxc-parser/binding-darwin-x64': 0.86.0 - '@oxc-parser/binding-freebsd-x64': 0.86.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.86.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.86.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.86.0 - '@oxc-parser/binding-linux-arm64-musl': 0.86.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.86.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.86.0 - '@oxc-parser/binding-linux-x64-gnu': 0.86.0 - '@oxc-parser/binding-linux-x64-musl': 0.86.0 - '@oxc-parser/binding-wasm32-wasi': 0.86.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.86.0 - '@oxc-parser/binding-win32-x64-msvc': 0.86.0 + '@oxc-parser/binding-android-arm64': 0.94.0 + '@oxc-parser/binding-darwin-arm64': 0.94.0 + '@oxc-parser/binding-darwin-x64': 0.94.0 + '@oxc-parser/binding-freebsd-x64': 0.94.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.94.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.94.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.94.0 + '@oxc-parser/binding-linux-arm64-musl': 0.94.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.94.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.94.0 + '@oxc-parser/binding-linux-x64-gnu': 0.94.0 + '@oxc-parser/binding-linux-x64-musl': 0.94.0 + '@oxc-parser/binding-wasm32-wasi': 0.94.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.94.0 + '@oxc-parser/binding-win32-x64-msvc': 0.94.0 oxc-transform@0.81.0: optionalDependencies: @@ -9935,23 +10119,23 @@ snapshots: '@oxc-transform/binding-win32-arm64-msvc': 0.81.0 '@oxc-transform/binding-win32-x64-msvc': 0.81.0 - oxc-transform@0.86.0: + oxc-transform@0.94.0: optionalDependencies: - '@oxc-transform/binding-android-arm64': 0.86.0 - '@oxc-transform/binding-darwin-arm64': 0.86.0 - '@oxc-transform/binding-darwin-x64': 0.86.0 - '@oxc-transform/binding-freebsd-x64': 0.86.0 - '@oxc-transform/binding-linux-arm-gnueabihf': 0.86.0 - '@oxc-transform/binding-linux-arm-musleabihf': 0.86.0 - '@oxc-transform/binding-linux-arm64-gnu': 0.86.0 - '@oxc-transform/binding-linux-arm64-musl': 0.86.0 - '@oxc-transform/binding-linux-riscv64-gnu': 0.86.0 - '@oxc-transform/binding-linux-s390x-gnu': 0.86.0 - '@oxc-transform/binding-linux-x64-gnu': 0.86.0 - '@oxc-transform/binding-linux-x64-musl': 0.86.0 - '@oxc-transform/binding-wasm32-wasi': 0.86.0 - '@oxc-transform/binding-win32-arm64-msvc': 0.86.0 - '@oxc-transform/binding-win32-x64-msvc': 0.86.0 + '@oxc-transform/binding-android-arm64': 0.94.0 + '@oxc-transform/binding-darwin-arm64': 0.94.0 + '@oxc-transform/binding-darwin-x64': 0.94.0 + '@oxc-transform/binding-freebsd-x64': 0.94.0 + '@oxc-transform/binding-linux-arm-gnueabihf': 0.94.0 + '@oxc-transform/binding-linux-arm-musleabihf': 0.94.0 + '@oxc-transform/binding-linux-arm64-gnu': 0.94.0 + '@oxc-transform/binding-linux-arm64-musl': 0.94.0 + '@oxc-transform/binding-linux-riscv64-gnu': 0.94.0 + '@oxc-transform/binding-linux-s390x-gnu': 0.94.0 + '@oxc-transform/binding-linux-x64-gnu': 0.94.0 + '@oxc-transform/binding-linux-x64-musl': 0.94.0 + '@oxc-transform/binding-wasm32-wasi': 0.94.0 + '@oxc-transform/binding-win32-arm64-msvc': 0.94.0 + '@oxc-transform/binding-win32-x64-msvc': 0.94.0 oxc-walker@0.4.0(oxc-parser@0.81.0): dependencies: @@ -9959,11 +10143,10 @@ snapshots: magic-regexp: 0.10.0 oxc-parser: 0.81.0 - oxc-walker@0.4.0(oxc-parser@0.86.0): + oxc-walker@0.5.2(oxc-parser@0.94.0): dependencies: - estree-walker: 3.0.3 magic-regexp: 0.10.0 - oxc-parser: 0.86.0 + oxc-parser: 0.94.0 p-limit@3.1.0: dependencies: @@ -9983,7 +10166,7 @@ snapshots: package-json-from-dist@1.0.1: {} - package-manager-detector@1.3.0: {} + package-manager-detector@1.5.0: {} pako@0.2.9: {} @@ -9995,6 +10178,8 @@ snapshots: dependencies: parse-statements: 1.0.11 + parse-ms@4.0.0: {} + parse-path@7.1.0: dependencies: protocols: 2.0.2 @@ -10041,12 +10226,12 @@ snapshots: picomatch@4.0.3: {} - pinia@3.0.3(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)): + pinia@3.0.3(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)): dependencies: '@vue/devtools-api': 7.7.7 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 pkg-types@1.3.1: dependencies: @@ -10070,7 +10255,7 @@ snapshots: postcss-colormin@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.5.6 @@ -10078,7 +10263,7 @@ snapshots: postcss-convert-values@7.0.7(postcss@8.5.6): dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -10107,7 +10292,7 @@ snapshots: postcss-merge-rules@7.0.6(postcss@8.5.6): dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 caniuse-api: 3.0.0 cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 @@ -10127,7 +10312,7 @@ snapshots: postcss-minify-params@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -10169,7 +10354,7 @@ snapshots: postcss-normalize-unicode@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -10191,7 +10376,7 @@ snapshots: postcss-reduce-initial@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 caniuse-api: 3.0.0 postcss: 8.5.6 @@ -10233,7 +10418,11 @@ snapshots: prettier@3.6.2: {} - pretty-bytes@7.0.1: {} + pretty-bytes@7.1.0: {} + + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 process-nextick-args@2.0.1: {} @@ -10303,11 +10492,11 @@ snapshots: refa@0.12.1: dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 regexp-ast-analysis@0.7.1: dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 refa: 0.12.1 regexp-tree@0.1.27: {} @@ -10316,19 +10505,19 @@ snapshots: dependencies: jsesc: 3.0.2 - reka-ui@2.5.0(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)): + reka-ui@2.5.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)): dependencies: '@floating-ui/dom': 1.7.4 - '@floating-ui/vue': 1.1.9(vue@3.5.21(typescript@5.9.2)) - '@internationalized/date': 3.9.0 + '@floating-ui/vue': 1.1.9(vue@3.5.22(typescript@5.9.3)) + '@internationalized/date': 3.10.0 '@internationalized/number': 3.6.5 - '@tanstack/vue-virtual': 3.13.12(vue@3.5.21(typescript@5.9.2)) - '@vueuse/core': 12.8.2(typescript@5.9.2) - '@vueuse/shared': 12.8.2(typescript@5.9.2) + '@tanstack/vue-virtual': 3.13.12(vue@3.5.22(typescript@5.9.3)) + '@vueuse/core': 12.8.2(typescript@5.9.3) + '@vueuse/shared': 12.8.2(typescript@5.9.3) aria-hidden: 1.2.6 defu: 6.1.4 ohash: 2.0.11 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - '@vue/composition-api' - typescript @@ -10341,7 +10530,7 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve@1.22.10: + resolve@1.22.11: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 @@ -10353,40 +10542,41 @@ snapshots: rfdc@1.4.1: {} - rollup-plugin-visualizer@6.0.3(rollup@4.50.1): + rollup-plugin-visualizer@6.0.5(rollup@4.52.5): dependencies: open: 8.4.2 picomatch: 4.0.3 source-map: 0.7.6 yargs: 17.7.2 optionalDependencies: - rollup: 4.50.1 + rollup: 4.52.5 - rollup@4.50.1: + rollup@4.52.5: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.50.1 - '@rollup/rollup-android-arm64': 4.50.1 - '@rollup/rollup-darwin-arm64': 4.50.1 - '@rollup/rollup-darwin-x64': 4.50.1 - '@rollup/rollup-freebsd-arm64': 4.50.1 - '@rollup/rollup-freebsd-x64': 4.50.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.50.1 - '@rollup/rollup-linux-arm-musleabihf': 4.50.1 - '@rollup/rollup-linux-arm64-gnu': 4.50.1 - '@rollup/rollup-linux-arm64-musl': 4.50.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.50.1 - '@rollup/rollup-linux-ppc64-gnu': 4.50.1 - '@rollup/rollup-linux-riscv64-gnu': 4.50.1 - '@rollup/rollup-linux-riscv64-musl': 4.50.1 - '@rollup/rollup-linux-s390x-gnu': 4.50.1 - '@rollup/rollup-linux-x64-gnu': 4.50.1 - '@rollup/rollup-linux-x64-musl': 4.50.1 - '@rollup/rollup-openharmony-arm64': 4.50.1 - '@rollup/rollup-win32-arm64-msvc': 4.50.1 - '@rollup/rollup-win32-ia32-msvc': 4.50.1 - '@rollup/rollup-win32-x64-msvc': 4.50.1 + '@rollup/rollup-android-arm-eabi': 4.52.5 + '@rollup/rollup-android-arm64': 4.52.5 + '@rollup/rollup-darwin-arm64': 4.52.5 + '@rollup/rollup-darwin-x64': 4.52.5 + '@rollup/rollup-freebsd-arm64': 4.52.5 + '@rollup/rollup-freebsd-x64': 4.52.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.52.5 + '@rollup/rollup-linux-arm-musleabihf': 4.52.5 + '@rollup/rollup-linux-arm64-gnu': 4.52.5 + '@rollup/rollup-linux-arm64-musl': 4.52.5 + '@rollup/rollup-linux-loong64-gnu': 4.52.5 + '@rollup/rollup-linux-ppc64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-musl': 4.52.5 + '@rollup/rollup-linux-s390x-gnu': 4.52.5 + '@rollup/rollup-linux-x64-gnu': 4.52.5 + '@rollup/rollup-linux-x64-musl': 4.52.5 + '@rollup/rollup-openharmony-arm64': 4.52.5 + '@rollup/rollup-win32-arm64-msvc': 4.52.5 + '@rollup/rollup-win32-ia32-msvc': 4.52.5 + '@rollup/rollup-win32-x64-gnu': 4.52.5 + '@rollup/rollup-win32-x64-msvc': 4.52.5 fsevents: 2.3.3 run-applescript@7.1.0: {} @@ -10403,7 +10593,7 @@ snapshots: scslre@0.3.0: dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -10411,11 +10601,11 @@ snapshots: semver@6.3.1: {} - semver@7.7.2: {} + semver@7.7.3: {} send@1.2.0: dependencies: - debug: 4.4.1 + debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -10462,7 +10652,7 @@ snapshots: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 - debug: 4.4.1 + debug: 4.4.3 transitivePeerDependencies: - supports-color @@ -10500,6 +10690,8 @@ snapshots: speakingurl@14.0.1: {} + srvx@0.8.16: {} + stable-hash-x@0.2.0: {} standard-as-callback@2.1.0: {} @@ -10508,14 +10700,16 @@ snapshots: statuses@2.0.2: {} - std-env@3.9.0: {} + std-env@3.10.0: {} - streamx@2.22.1: + streamx@2.23.0: dependencies: + events-universal: 1.0.1 fast-fifo: 1.3.2 text-decoder: 1.2.3 - optionalDependencies: - bare-events: 2.6.1 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a string-width@4.2.3: dependencies: @@ -10547,13 +10741,13 @@ snapshots: strip-final-newline@3.0.0: {} - strip-indent@4.0.0: - dependencies: - min-indent: 1.0.1 + strip-final-newline@4.0.0: {} + + strip-indent@4.1.1: {} strip-json-comments@3.1.1: {} - strip-literal@3.0.0: + strip-literal@3.1.0: dependencies: js-tokens: 9.0.1 @@ -10561,13 +10755,13 @@ snapshots: stylehacks@7.0.6(postcss@8.5.6): dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 postcss: 8.5.6 postcss-selector-parser: 7.1.0 - superjson@2.2.2: + superjson@2.2.3: dependencies: - copy-anything: 3.0.5 + copy-anything: 4.0.5 supports-color@10.2.2: {} @@ -10587,39 +10781,43 @@ snapshots: picocolors: 1.1.1 sax: 1.4.1 - swiper@12.0.2: {} + swiper@12.0.3: {} - swrv@1.1.0(vue@3.5.21(typescript@5.9.2)): + swrv@1.1.0(vue@3.5.22(typescript@5.9.3)): dependencies: - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) system-architecture@0.1.0: {} + tagged-tag@1.0.0: {} + tailwind-merge@3.3.1: {} - tailwind-variants@3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.13): + tailwind-variants@3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.15): dependencies: - tailwindcss: 4.1.13 + tailwindcss: 4.1.15 optionalDependencies: tailwind-merge: 3.3.1 - tailwindcss@4.1.13: {} + tailwindcss@4.1.15: {} - tapable@2.2.3: {} + tapable@2.3.0: {} tar-stream@3.1.7: dependencies: - b4a: 1.6.7 + b4a: 1.7.3 fast-fifo: 1.3.2 - streamx: 2.22.1 + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a - tar@7.4.3: + tar@7.5.1: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 minipass: 7.1.2 - minizlib: 3.0.2 - mkdirp: 3.0.1 + minizlib: 3.1.0 yallist: 5.0.0 terser@5.44.0: @@ -10631,7 +10829,9 @@ snapshots: text-decoder@1.2.3: dependencies: - b4a: 1.6.7 + b4a: 1.7.3 + transitivePeerDependencies: + - react-native-b4a tiny-inflate@1.0.3: {} @@ -10639,11 +10839,6 @@ snapshots: tinyexec@1.0.1: {} - tinyglobby@0.2.14: - dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -10661,30 +10856,32 @@ snapshots: tr46@0.0.3: {} - ts-api-utils@2.1.0(typescript@5.9.2): + ts-api-utils@2.1.0(typescript@5.9.3): dependencies: - typescript: 5.9.2 + typescript: 5.9.3 tslib@2.8.1: {} tsx@4.20.6: dependencies: - esbuild: 0.25.9 - get-tsconfig: 4.10.1 + esbuild: 0.25.11 + get-tsconfig: 4.13.0 optionalDependencies: fsevents: 2.3.3 - tw-animate-css@1.3.8: {} + tw-animate-css@1.4.0: {} type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-fest@4.41.0: {} + type-fest@5.1.0: + dependencies: + tagged-tag: 1.0.0 type-level-regexp@0.1.17: {} - typescript@5.9.2: {} + typescript@5.9.3: {} ufo@1.6.1: {} @@ -10699,15 +10896,9 @@ snapshots: magic-string: 0.30.19 unplugin: 2.3.10 - undici-types@7.13.0: {} + undici-types@7.16.0: {} - unenv@2.0.0-rc.20: - dependencies: - defu: 6.1.4 - exsolve: 1.0.7 - ohash: 2.0.11 - pathe: 2.0.3 - ufo: 1.6.1 + undici@7.16.0: {} unenv@2.0.0-rc.21: dependencies: @@ -10717,11 +10908,7 @@ snapshots: pathe: 2.0.3 ufo: 1.6.1 - unhead@2.0.14: - dependencies: - hookable: 5.5.3 - - unhead@2.0.17: + unhead@2.0.19: dependencies: hookable: 5.5.3 @@ -10744,7 +10931,7 @@ snapshots: css-tree: 3.1.0 ohash: 2.0.11 - unimport@5.2.0: + unimport@5.5.0: dependencies: acorn: 8.15.0 escape-string-regexp: 5.0.0 @@ -10756,51 +10943,34 @@ snapshots: picomatch: 4.0.3 pkg-types: 2.3.0 scule: 1.3.0 - strip-literal: 3.0.0 + strip-literal: 3.1.0 tinyglobby: 0.2.15 unplugin: 2.3.10 - unplugin-utils: 0.2.5 + unplugin-utils: 0.3.1 - unimport@5.4.0: - dependencies: - acorn: 8.15.0 - escape-string-regexp: 5.0.0 - estree-walker: 3.0.3 - local-pkg: 1.1.2 - magic-string: 0.30.19 - mlly: 1.8.0 - pathe: 2.0.3 - picomatch: 4.0.3 - pkg-types: 2.3.0 - scule: 1.3.0 - strip-literal: 3.0.0 - tinyglobby: 0.2.15 - unplugin: 2.3.10 - unplugin-utils: 0.3.0 - - unplugin-auto-import@20.2.0(@nuxt/kit@4.1.1(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.21(typescript@5.9.2))): + unplugin-auto-import@20.2.0(@nuxt/kit@4.1.3(magicast@0.3.5))(@vueuse/core@13.9.0(vue@3.5.22(typescript@5.9.3))): dependencies: local-pkg: 1.1.2 magic-string: 0.30.19 picomatch: 4.0.3 - unimport: 5.4.0 + unimport: 5.5.0 unplugin: 2.3.10 - unplugin-utils: 0.3.0 + unplugin-utils: 0.3.1 optionalDependencies: - '@nuxt/kit': 4.1.1(magicast@0.3.5) - '@vueuse/core': 13.9.0(vue@3.5.21(typescript@5.9.2)) + '@nuxt/kit': 4.1.3(magicast@0.3.5) + '@vueuse/core': 13.9.0(vue@3.5.22(typescript@5.9.3)) unplugin-utils@0.2.5: dependencies: pathe: 2.0.3 picomatch: 4.0.3 - unplugin-utils@0.3.0: + unplugin-utils@0.3.1: dependencies: pathe: 2.0.3 picomatch: 4.0.3 - unplugin-vue-components@29.1.0(@babel/parser@7.28.4)(@nuxt/kit@4.1.1(magicast@0.3.5))(vue@3.5.21(typescript@5.9.2)): + unplugin-vue-components@29.2.0(@babel/parser@7.28.4)(@nuxt/kit@4.1.3(magicast@0.3.5))(vue@3.5.22(typescript@5.9.3)): dependencies: chokidar: 3.6.0 debug: 4.4.3 @@ -10809,19 +10979,19 @@ snapshots: mlly: 1.8.0 tinyglobby: 0.2.15 unplugin: 2.3.10 - unplugin-utils: 0.3.0 - vue: 3.5.21(typescript@5.9.2) + unplugin-utils: 0.3.1 + vue: 3.5.22(typescript@5.9.3) optionalDependencies: '@babel/parser': 7.28.4 - '@nuxt/kit': 4.1.1(magicast@0.3.5) + '@nuxt/kit': 4.1.3(magicast@0.3.5) transitivePeerDependencies: - supports-color - unplugin-vue-router@0.14.0(@vue/compiler-sfc@3.5.21)(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)): + unplugin-vue-router@0.14.0(@vue/compiler-sfc@3.5.22)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): dependencies: - '@vue-macros/common': 3.0.0-beta.15(vue@3.5.21(typescript@5.9.2)) - '@vue/compiler-sfc': 3.5.21 - ast-walker-scope: 0.8.2 + '@vue-macros/common': 3.0.0-beta.15(vue@3.5.22(typescript@5.9.3)) + '@vue/compiler-sfc': 3.5.22 + ast-walker-scope: 0.8.3 chokidar: 4.0.3 fast-glob: 3.3.3 json5: 2.2.3 @@ -10835,16 +11005,16 @@ snapshots: unplugin-utils: 0.2.5 yaml: 2.8.1 optionalDependencies: - vue-router: 4.5.1(vue@3.5.21(typescript@5.9.2)) + vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) transitivePeerDependencies: - vue - unplugin-vue-router@0.15.0(@vue/compiler-sfc@3.5.21)(typescript@5.9.2)(vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)): + unplugin-vue-router@0.15.0(@vue/compiler-sfc@3.5.22)(typescript@5.9.3)(vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): dependencies: - '@vue-macros/common': 3.0.0-beta.16(vue@3.5.21(typescript@5.9.2)) - '@vue/compiler-sfc': 3.5.21 - '@vue/language-core': 3.0.6(typescript@5.9.2) - ast-walker-scope: 0.8.2 + '@vue-macros/common': 3.0.0-beta.16(vue@3.5.22(typescript@5.9.3)) + '@vue/compiler-sfc': 3.5.22 + '@vue/language-core': 3.1.1(typescript@5.9.3) + ast-walker-scope: 0.8.3 chokidar: 4.0.3 json5: 2.2.3 local-pkg: 1.1.2 @@ -10854,12 +11024,12 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.3 scule: 1.3.0 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 unplugin: 2.3.10 unplugin-utils: 0.2.5 yaml: 2.8.1 optionalDependencies: - vue-router: 4.5.1(vue@3.5.21(typescript@5.9.2)) + vue-router: 4.6.3(vue@3.5.22(typescript@5.9.3)) transitivePeerDependencies: - typescript - vue @@ -10878,7 +11048,7 @@ snapshots: unrs-resolver@1.11.1: dependencies: - napi-postinstall: 0.3.3 + napi-postinstall: 0.3.4 optionalDependencies: '@unrs/resolver-binding-android-arm-eabi': 1.11.1 '@unrs/resolver-binding-android-arm64': 1.11.1 @@ -10900,7 +11070,7 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - unstorage@1.17.1(db0@0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.7.0): + unstorage@1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2): dependencies: anymatch: 3.1.3 chokidar: 4.0.3 @@ -10911,8 +11081,8 @@ snapshots: ofetch: 1.4.1 ufo: 1.6.1 optionalDependencies: - db0: 0.3.2(@libsql/client@0.15.15)(drizzle-orm@0.44.5(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) - ioredis: 5.7.0 + db0: 0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) + ioredis: 5.8.2 untun@0.1.3: dependencies: @@ -10924,7 +11094,7 @@ snapshots: dependencies: citty: 0.1.6 defu: 6.1.4 - jiti: 2.5.1 + jiti: 2.6.1 knitwork: 1.2.0 scule: 1.3.0 @@ -10939,9 +11109,9 @@ snapshots: upath@2.0.1: {} - update-browserslist-db@1.1.3(browserslist@4.25.4): + update-browserslist-db@1.1.3(browserslist@4.26.3): dependencies: - browserslist: 4.25.4 + browserslist: 4.26.3 escalade: 3.2.0 picocolors: 1.1.1 @@ -10953,31 +11123,31 @@ snapshots: util-deprecate@1.0.2: {} - vaul-vue@0.4.1(reka-ui@2.5.0(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)))(vue@3.5.21(typescript@5.9.2)): + vaul-vue@0.4.1(reka-ui@2.5.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3)): dependencies: - '@vueuse/core': 10.11.1(vue@3.5.21(typescript@5.9.2)) - reka-ui: 2.5.0(typescript@5.9.2)(vue@3.5.21(typescript@5.9.2)) - vue: 3.5.21(typescript@5.9.2) + '@vueuse/core': 10.11.1(vue@3.5.22(typescript@5.9.3)) + reka-ui: 2.5.0(typescript@5.9.3)(vue@3.5.22(typescript@5.9.3)) + vue: 3.5.22(typescript@5.9.3) transitivePeerDependencies: - '@vue/composition-api' - vite-dev-rpc@1.1.0(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-dev-rpc@1.1.0(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: - birpc: 2.5.0 - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-hot-client: 2.1.0(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + birpc: 2.6.1 + vite: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite-hot-client: 2.1.0(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - vite-hot-client@2.1.0(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-hot-client@2.1.0(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-node@3.2.4(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vite-node@3.2.4(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: cac: 6.7.14 - debug: 4.4.1 + debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -10992,138 +11162,137 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.10.3(eslint@9.35.0(jiti@2.5.1))(optionator@0.9.4)(typescript@5.9.2)(vite@7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.2)): + vite-plugin-checker@0.11.0(eslint@9.38.0(jiti@2.6.1))(optionator@0.9.4)(typescript@5.9.3)(vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue-tsc@3.0.6(typescript@5.9.3)): dependencies: '@babel/code-frame': 7.27.1 chokidar: 4.0.3 npm-run-path: 6.0.0 picocolors: 1.1.1 picomatch: 4.0.3 - strip-ansi: 7.1.2 tiny-invariant: 1.3.3 - tinyglobby: 0.2.14 - vite: 7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + tinyglobby: 0.2.15 + vite: 7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vscode-uri: 3.1.0 optionalDependencies: - eslint: 9.35.0(jiti@2.5.1) + eslint: 9.38.0(jiti@2.6.1) optionator: 0.9.4 - typescript: 5.9.2 - vue-tsc: 3.0.6(typescript@5.9.2) + typescript: 5.9.3 + vue-tsc: 3.0.6(typescript@5.9.3) - vite-plugin-inspect@11.3.3(@nuxt/kit@3.19.1(magicast@0.3.5))(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-plugin-inspect@11.3.3(@nuxt/kit@3.19.3(magicast@0.3.5))(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: - ansis: 4.1.0 - debug: 4.4.1 + ansis: 4.2.0 + debug: 4.4.3 error-stack-parser-es: 1.0.5 ohash: 2.0.11 open: 10.2.0 perfect-debounce: 2.0.0 sirv: 3.0.2 - unplugin-utils: 0.3.0 - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-dev-rpc: 1.1.0(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + unplugin-utils: 0.3.1 + vite: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite-dev-rpc: 1.1.0(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) optionalDependencies: - '@nuxt/kit': 3.19.1(magicast@0.3.5) + '@nuxt/kit': 3.19.3(magicast@0.3.5) transitivePeerDependencies: - supports-color - vite-plugin-vue-tracer@1.0.0(vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.21(typescript@5.9.2)): + vite-plugin-vue-tracer@1.0.1(vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.5.22(typescript@5.9.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.7 magic-string: 0.30.19 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vue: 3.5.21(typescript@5.9.2) + vite: 7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vue: 3.5.22(typescript@5.9.3) - vite@7.1.3(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vite@7.1.11(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: - esbuild: 0.25.9 + esbuild: 0.25.11 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.50.1 + rollup: 4.52.5 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.6.2 + '@types/node': 24.9.1 fsevents: 2.3.3 - jiti: 2.5.1 - lightningcss: 1.30.1 + jiti: 2.6.1 + lightningcss: 1.30.2 terser: 5.44.0 tsx: 4.20.6 yaml: 2.8.1 - vite@7.1.5(@types/node@24.6.2)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vite@7.1.3(@types/node@24.9.1)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: - esbuild: 0.25.9 + esbuild: 0.25.11 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.50.1 + rollup: 4.52.5 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.6.2 + '@types/node': 24.9.1 fsevents: 2.3.3 - jiti: 2.5.1 - lightningcss: 1.30.1 + jiti: 2.6.1 + lightningcss: 1.30.2 terser: 5.44.0 tsx: 4.20.6 yaml: 2.8.1 vscode-uri@3.1.0: {} - vue-bundle-renderer@2.1.2: + vue-bundle-renderer@2.2.0: dependencies: ufo: 1.6.1 - vue-component-type-helpers@3.0.8: {} + vue-component-type-helpers@3.1.1: {} - vue-demi@0.14.10(vue@3.5.21(typescript@5.9.2)): + vue-demi@0.14.10(vue@3.5.22(typescript@5.9.3)): dependencies: - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) vue-devtools-stub@0.1.0: {} - vue-eslint-parser@10.2.0(eslint@9.35.0(jiti@2.5.1)): + vue-eslint-parser@10.2.0(eslint@9.38.0(jiti@2.6.1)): dependencies: - debug: 4.4.1 - eslint: 9.35.0(jiti@2.5.1) + debug: 4.4.3 + eslint: 9.38.0(jiti@2.6.1) eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 esquery: 1.6.0 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color - vue-i18n@11.1.12(vue@3.5.21(typescript@5.9.2)): + vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)): dependencies: '@intlify/core-base': 11.1.12 '@intlify/shared': 11.1.12 '@vue/devtools-api': 6.6.4 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) - vue-router@4.5.1(vue@3.5.21(typescript@5.9.2)): + vue-router@4.6.3(vue@3.5.22(typescript@5.9.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.21(typescript@5.9.2) + vue: 3.5.22(typescript@5.9.3) - vue-tsc@3.0.6(typescript@5.9.2): + vue-tsc@3.0.6(typescript@5.9.3): dependencies: '@volar/typescript': 2.4.23 - '@vue/language-core': 3.0.6(typescript@5.9.2) - typescript: 5.9.2 + '@vue/language-core': 3.0.6(typescript@5.9.3) + typescript: 5.9.3 - vue@3.5.21(typescript@5.9.2): + vue@3.5.22(typescript@5.9.3): dependencies: - '@vue/compiler-dom': 3.5.21 - '@vue/compiler-sfc': 3.5.21 - '@vue/runtime-dom': 3.5.21 - '@vue/server-renderer': 3.5.21(vue@3.5.21(typescript@5.9.2)) - '@vue/shared': 3.5.21 + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-sfc': 3.5.22 + '@vue/runtime-dom': 3.5.22 + '@vue/server-renderer': 3.5.22(vue@3.5.22(typescript@5.9.3)) + '@vue/shared': 3.5.22 optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 web-streams-polyfill@3.3.3: {} @@ -11197,6 +11366,8 @@ snapshots: yocto-queue@1.2.1: {} + yoctocolors@2.1.2: {} + youch-core@0.3.3: dependencies: '@poppinss/exception': 1.2.2 @@ -11210,14 +11381,6 @@ snapshots: cookie: 1.0.2 youch-core: 0.3.3 - youch@4.1.0-beta.8: - dependencies: - '@poppinss/colors': 4.1.5 - '@poppinss/dumper': 0.6.4 - '@speed-highlight/core': 1.2.7 - cookie: 1.0.2 - youch-core: 0.3.3 - zip-stream@6.0.1: dependencies: archiver-utils: 5.0.2 diff --git a/src-tauri/database/migrations/0006_gigantic_bloodaxe.sql b/src-tauri/database/migrations/0006_gigantic_bloodaxe.sql new file mode 100644 index 0000000..f67e510 --- /dev/null +++ b/src-tauri/database/migrations/0006_gigantic_bloodaxe.sql @@ -0,0 +1,3 @@ +DROP INDEX `haex_workspaces_name_unique`;--> statement-breakpoint +CREATE UNIQUE INDEX `haex_workspaces_position_unique` ON `haex_workspaces` (`position`);--> statement-breakpoint +CREATE UNIQUE INDEX `haex_settings_key_type_value_unique` ON `haex_settings` (`key`,`type`,`value`); \ No newline at end of file diff --git a/src-tauri/database/migrations/meta/0006_snapshot.json b/src-tauri/database/migrations/meta/0006_snapshot.json new file mode 100644 index 0000000..2b05873 --- /dev/null +++ b/src-tauri/database/migrations/meta/0006_snapshot.json @@ -0,0 +1,1083 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "8f9e0d08-ab08-4c9a-ba1e-5ce82daaa96f", + "prevId": "2b56dede-c6e9-4efd-9759-88403505b13f", + "tables": { + "haex_crdt_configs": { + "name": "haex_crdt_configs", + "columns": { + "key": { + "name": "key", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_crdt_logs": { + "name": "haex_crdt_logs", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "haex_timestamp": { + "name": "haex_timestamp", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "table_name": { + "name": "table_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "row_pks": { + "name": "row_pks", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "op_type": { + "name": "op_type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "column_name": { + "name": "column_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "new_value": { + "name": "new_value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "old_value": { + "name": "old_value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "idx_haex_timestamp": { + "name": "idx_haex_timestamp", + "columns": [ + "haex_timestamp" + ], + "isUnique": false + }, + "idx_table_row": { + "name": "idx_table_row", + "columns": [ + "table_name", + "row_pks" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_crdt_snapshots": { + "name": "haex_crdt_snapshots", + "columns": { + "snapshot_id": { + "name": "snapshot_id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created": { + "name": "created", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "epoch_hlc": { + "name": "epoch_hlc", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "location_url": { + "name": "location_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "file_size_bytes": { + "name": "file_size_bytes", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_desktop_items": { + "name": "haex_desktop_items", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "item_type": { + "name": "item_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "reference_id": { + "name": "reference_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "position_x": { + "name": "position_x", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "position_y": { + "name": "position_y", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_timestamp": { + "name": "haex_timestamp", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "haex_desktop_items_workspace_id_haex_workspaces_id_fk": { + "name": "haex_desktop_items_workspace_id_haex_workspaces_id_fk", + "tableFrom": "haex_desktop_items", + "tableTo": "haex_workspaces", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_extension_permissions": { + "name": "haex_extension_permissions", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "extension_id": { + "name": "extension_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "resource_type": { + "name": "resource_type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "action": { + "name": "action", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "target": { + "name": "target", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "constraints": { + "name": "constraints", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'denied'" + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(CURRENT_TIMESTAMP)" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_timestamp": { + "name": "haex_timestamp", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "haex_extension_permissions_extension_id_resource_type_action_target_unique": { + "name": "haex_extension_permissions_extension_id_resource_type_action_target_unique", + "columns": [ + "extension_id", + "resource_type", + "action", + "target" + ], + "isUnique": true + } + }, + "foreignKeys": { + "haex_extension_permissions_extension_id_haex_extensions_id_fk": { + "name": "haex_extension_permissions_extension_id_haex_extensions_id_fk", + "tableFrom": "haex_extension_permissions", + "tableTo": "haex_extensions", + "columnsFrom": [ + "extension_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_extensions": { + "name": "haex_extensions", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "public_key": { + "name": "public_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "version": { + "name": "version", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "author": { + "name": "author", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "entry": { + "name": "entry", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'index.html'" + }, + "homepage": { + "name": "homepage", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "enabled": { + "name": "enabled", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": true + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "signature": { + "name": "signature", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_timestamp": { + "name": "haex_timestamp", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "haex_extensions_public_key_name_unique": { + "name": "haex_extensions_public_key_name_unique", + "columns": [ + "public_key", + "name" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_notifications": { + "name": "haex_notifications", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "alt": { + "name": "alt", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "date": { + "name": "date", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "read": { + "name": "read", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "text": { + "name": "text", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_timestamp": { + "name": "haex_timestamp", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_settings": { + "name": "haex_settings", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_timestamp": { + "name": "haex_timestamp", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "haex_settings_key_type_value_unique": { + "name": "haex_settings_key_type_value_unique", + "columns": [ + "key", + "type", + "value" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_workspaces": { + "name": "haex_workspaces", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "position": { + "name": "position", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_timestamp": { + "name": "haex_timestamp", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "haex_workspaces_position_unique": { + "name": "haex_workspaces_position_unique", + "columns": [ + "position" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_passwords_group_items": { + "name": "haex_passwords_group_items", + "columns": { + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "item_id": { + "name": "item_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "haex_passwords_group_items_group_id_haex_passwords_groups_id_fk": { + "name": "haex_passwords_group_items_group_id_haex_passwords_groups_id_fk", + "tableFrom": "haex_passwords_group_items", + "tableTo": "haex_passwords_groups", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "haex_passwords_group_items_item_id_haex_passwords_item_details_id_fk": { + "name": "haex_passwords_group_items_item_id_haex_passwords_item_details_id_fk", + "tableFrom": "haex_passwords_group_items", + "tableTo": "haex_passwords_item_details", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "haex_passwords_group_items_item_id_group_id_pk": { + "columns": [ + "item_id", + "group_id" + ], + "name": "haex_passwords_group_items_item_id_group_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_passwords_groups": { + "name": "haex_passwords_groups", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color": { + "name": "color", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "parent_id": { + "name": "parent_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(CURRENT_TIMESTAMP)" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "haex_passwords_groups_parent_id_haex_passwords_groups_id_fk": { + "name": "haex_passwords_groups_parent_id_haex_passwords_groups_id_fk", + "tableFrom": "haex_passwords_groups", + "tableTo": "haex_passwords_groups", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_passwords_item_details": { + "name": "haex_passwords_item_details", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "note": { + "name": "note", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "tags": { + "name": "tags", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(CURRENT_TIMESTAMP)" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_passwords_item_history": { + "name": "haex_passwords_item_history", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "item_id": { + "name": "item_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "changed_property": { + "name": "changed_property", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "old_value": { + "name": "old_value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "new_value": { + "name": "new_value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(CURRENT_TIMESTAMP)" + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "haex_passwords_item_history_item_id_haex_passwords_item_details_id_fk": { + "name": "haex_passwords_item_history_item_id_haex_passwords_item_details_id_fk", + "tableFrom": "haex_passwords_item_history", + "tableTo": "haex_passwords_item_details", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "haex_passwords_item_key_values": { + "name": "haex_passwords_item_key_values", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "item_id": { + "name": "item_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "haex_tombstone": { + "name": "haex_tombstone", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "haex_passwords_item_key_values_item_id_haex_passwords_item_details_id_fk": { + "name": "haex_passwords_item_key_values_item_id_haex_passwords_item_details_id_fk", + "tableFrom": "haex_passwords_item_key_values", + "tableTo": "haex_passwords_item_details", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + } + }, + "views": {}, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} \ No newline at end of file diff --git a/src-tauri/database/migrations/meta/_journal.json b/src-tauri/database/migrations/meta/_journal.json index 6d9fd9b..8d545ae 100644 --- a/src-tauri/database/migrations/meta/_journal.json +++ b/src-tauri/database/migrations/meta/_journal.json @@ -43,6 +43,13 @@ "when": 1760964548034, "tag": "0005_tidy_yellowjacket", "breakpoints": true + }, + { + "idx": 6, + "version": "6", + "when": 1761137108127, + "tag": "0006_gigantic_bloodaxe", + "breakpoints": true } ] } \ No newline at end of file diff --git a/src-tauri/database/schemas/haex.ts b/src-tauri/database/schemas/haex.ts index 6831bef..11084bb 100644 --- a/src-tauri/database/schemas/haex.ts +++ b/src-tauri/database/schemas/haex.ts @@ -21,18 +21,22 @@ export const withCrdtColumns = < haexTimestamp: text(columnNames.haexTimestamp), }) -export const haexSettings = sqliteTable(tableNames.haex.settings.name, { - id: text() - .primaryKey() - .$defaultFn(() => crypto.randomUUID()), - key: text(), - type: text(), - value: text(), - haexTombstone: integer(tableNames.haex.settings.columns.haexTombstone, { - mode: 'boolean', - }), - haexTimestamp: text(tableNames.haex.settings.columns.haexTimestamp), -}) +export const haexSettings = sqliteTable( + tableNames.haex.settings.name, + { + id: text() + .primaryKey() + .$defaultFn(() => crypto.randomUUID()), + key: text(), + type: text(), + value: text(), + haexTombstone: integer(tableNames.haex.settings.columns.haexTombstone, { + mode: 'boolean', + }), + haexTimestamp: text(tableNames.haex.settings.columns.haexTimestamp), + }, + (table) => [unique().on(table.key, table.type, table.value)], +) export type InsertHaexSettings = typeof haexSettings.$inferInsert export type SelectHaexSettings = typeof haexSettings.$inferSelect @@ -153,7 +157,7 @@ export const haexWorkspaces = sqliteTable( }, tableNames.haex.workspaces.columns, ), - (table) => [unique().on(table.name)], + (table) => [unique().on(table.position)], ) export type InsertHaexWorkspaces = typeof haexWorkspaces.$inferInsert export type SelectHaexWorkspaces = typeof haexWorkspaces.$inferSelect diff --git a/src-tauri/database/vault.db b/src-tauri/database/vault.db index a3d1568ad6651b3a857763b7695e1190c9aff230..0662f492c830c7bfd5eb1606515370ca4ead68ed 100644 GIT binary patch delta 443 zcmZoTz}fJCbAq%W2Ll6xIuOHv%tReyMvjdMOZbJ@d7m=yZ{|V`H<#)I?KrQ;QTs(;%J`DXg4Fo3#GKO9 z_|m-0!qQZ*l`tjh)Avkbl=6gevFk`s@b^36%H}j|QOY)uJtLHP?tf(Nz zx7kSU5~Bbc|6>OJKm6bMKk>iif5HEFv!KCw{^rN}+aK#QDkd-rPG_CKsKVOBz`)Nx zaiP`rj0uce85uLC%S~d8m@Lc5!_~;9$}aA#&Df|tyqZtC>8lNfCvtcQ~r n6~L_RoRb-&xtQ1Zs!tc3%qTng46DTSU2Tko+j-|Pem)2Q7xOvz diff --git a/src-tauri/gen/android/app/src/main/assets/database/vault.db b/src-tauri/gen/android/app/src/main/assets/database/vault.db index a7e0a059fafe10050c62e6197569d0ac6cf6e1c4..a3d1568ad6651b3a857763b7695e1190c9aff230 100644 GIT binary patch delta 355 zcmZozz}awsbAq%WI|BoQ8W6*P36%H}j|QOY)uJtLHP?tSBJI z=j+YJ%FxKmYGRU{XknC`mS$j{Y?)+fnrvd6W|EqcW@KcNl4@yWXlasWo|a@`l4z1_ zYHFTlmYkfNlxk|3Vq|EMWSU}Z$T*8})zm|q>*ZP*1=#o>Gw}c6|IYu3|1JLu{>PgI z4bJnkvM@6+vNgZZ-~K|MQ6_;=a60P*MrAgpCI$w6{)r2%wr5OW+{(z9FR+c4l5mYDGq3YDIi`eo=ODL1J=haeQ84ZfbmKUS?rwDw>pQb36BB#;, col_name: &'static str) -> usize { + match columns.iter().position(|c| c.value == col_name) { + Some(index) => index, // Gefunden! Gib Index zurück. + None => { + // Nicht gefunden! Hinzufügen. + columns.push(Ident::new(col_name)); + columns.len() - 1 // Der Index des gerade hinzugefügten Elements + } + } + } + + /// Wenn der Index == der Länge ist, wird der Wert stattdessen gepusht. + fn set_or_push_value(row: &mut Vec, index: usize, value: Expr) { + if index < row.len() { + // Spalte war vorhanden, Wert (wahrscheinlich `?` oder NULL) ersetzen + row[index] = value; + } else { + // Spalte war nicht vorhanden, Wert hinzufügen + row.push(value); + } + } + + fn set_or_push_projection(projection: &mut Vec, index: usize, value: Expr) { + let item = SelectItem::UnnamedExpr(value); + if index < projection.len() { + projection[index] = item; + } else { + projection.push(item); + } + } + /// Transformiert INSERT-Statements (fügt HLC-Timestamp hinzu und behandelt Tombstone-Konflikte) /// Fügt automatisch RETURNING für Primary Keys hinzu, damit der Executor die tatsächlichen PKs kennt pub fn transform_insert( @@ -32,11 +63,11 @@ impl InsertTransformer { primary_keys: &[String], foreign_keys: &[String], ) -> Result<(), DatabaseError> { - // Add both haex_timestamp and haex_tombstone columns - insert_stmt - .columns - .push(Ident::new(self.hlc_timestamp_column)); - insert_stmt.columns.push(Ident::new(self.tombstone_column)); + // Add both haex_timestamp and haex_tombstone columns if not exists + let hlc_col_index = + Self::find_or_add_column(&mut insert_stmt.columns, self.hlc_timestamp_column); + let tombstone_col_index = + Self::find_or_add_column(&mut insert_stmt.columns, self.tombstone_column); // Füge RETURNING für alle Primary Keys hinzu (falls noch nicht vorhanden) // Dies erlaubt uns, die tatsächlichen PK-Werte nach ON CONFLICT zu kennen @@ -57,7 +88,7 @@ impl InsertTransformer { // Erstelle UPDATE-Assignments für alle Spalten außer CRDT-Spalten, Primary Keys und Foreign Keys let mut assignments = Vec::new(); - for column in insert_stmt.columns.iter() { + for column in insert_stmt.columns.clone().iter() { let col_name = &column.value; // Überspringe CRDT-Spalten @@ -87,17 +118,17 @@ impl InsertTransformer { // Füge HLC-Timestamp Update hinzu (mit dem übergebenen timestamp) assignments.push(Assignment { - target: AssignmentTarget::ColumnName(sqlparser::ast::ObjectName(vec![ObjectNamePart::Identifier( - Ident::new(self.hlc_timestamp_column), - )])), + target: AssignmentTarget::ColumnName(sqlparser::ast::ObjectName(vec![ + ObjectNamePart::Identifier(Ident::new(self.hlc_timestamp_column)), + ])), value: Expr::Value(Value::SingleQuotedString(timestamp.to_string()).into()), }); // Setze Tombstone auf 0 (reaktiviere den Eintrag) assignments.push(Assignment { - target: AssignmentTarget::ColumnName(sqlparser::ast::ObjectName(vec![ObjectNamePart::Identifier( - Ident::new(self.tombstone_column), - )])), + target: AssignmentTarget::ColumnName(sqlparser::ast::ObjectName(vec![ + ObjectNamePart::Identifier(Ident::new(self.tombstone_column)), + ])), value: Expr::Value(Value::Number("0".to_string(), false).into()), }); @@ -122,23 +153,26 @@ impl InsertTransformer { Some(query) => match &mut *query.body { SetExpr::Values(values) => { for row in &mut values.rows { - // Add haex_timestamp value - row.push(Expr::Value( - Value::SingleQuotedString(timestamp.to_string()).into(), - )); - // Add haex_tombstone value (0 = not deleted) - row.push(Expr::Value(Value::Number("0".to_string(), false).into())); + let hlc_value = + Expr::Value(Value::SingleQuotedString(timestamp.to_string()).into()); + let tombstone_value = + Expr::Value(Value::Number("0".to_string(), false).into()); + + Self::set_or_push_value(row, hlc_col_index, hlc_value); + Self::set_or_push_value(row, tombstone_col_index, tombstone_value); } } SetExpr::Select(select) => { - let hlc_expr = + let hlc_value = Expr::Value(Value::SingleQuotedString(timestamp.to_string()).into()); - select.projection.push(SelectItem::UnnamedExpr(hlc_expr)); - // Add haex_tombstone value (0 = not deleted) - let tombstone_expr = Expr::Value(Value::Number("0".to_string(), false).into()); - select - .projection - .push(SelectItem::UnnamedExpr(tombstone_expr)); + let tombstone_value = Expr::Value(Value::Number("0".to_string(), false).into()); + + Self::set_or_push_projection(&mut select.projection, hlc_col_index, hlc_value); + Self::set_or_push_projection( + &mut select.projection, + tombstone_col_index, + tombstone_value, + ); } _ => { return Err(DatabaseError::UnsupportedStatement { diff --git a/src-tauri/src/crdt/mod.rs b/src-tauri/src/crdt/mod.rs index 8e6c39c..179790b 100644 --- a/src-tauri/src/crdt/mod.rs +++ b/src-tauri/src/crdt/mod.rs @@ -1,5 +1,5 @@ pub mod hlc; pub mod insert_transformer; -pub mod query_transformer; +//pub mod query_transformer; pub mod transformer; pub mod trigger; diff --git a/src-tauri/src/crdt/query_transformer.rs b/src-tauri/src/crdt/query_transformer.rs deleted file mode 100644 index 0575316..0000000 --- a/src-tauri/src/crdt/query_transformer.rs +++ /dev/null @@ -1,515 +0,0 @@ -// src-tauri/src/crdt/query_transformer.rs -// SELECT-spezifische CRDT-Transformationen (Tombstone-Filterung) - -use crate::crdt::trigger::{TOMBSTONE_COLUMN}; -use crate::database::error::DatabaseError; -use sqlparser::ast::{ - BinaryOperator, Expr, Ident, ObjectName, SelectItem, SetExpr, TableFactor, Value, -}; -use std::collections::HashSet; - -/// Helper-Struct für SELECT-Transformationen -pub struct QueryTransformer { - tombstone_column: &'static str, -} - -impl QueryTransformer { - pub fn new() -> Self { - Self { - tombstone_column: TOMBSTONE_COLUMN, - } - } - - /// Transformiert Query-Statements (fügt Tombstone-Filter hinzu) - pub fn transform_query_recursive( - &self, - query: &mut sqlparser::ast::Query, - excluded_tables: &std::collections::HashSet<&str>, - ) -> Result<(), DatabaseError> { - self.add_tombstone_filters_recursive(&mut query.body, excluded_tables) - } - - /// Rekursive Behandlung aller SetExpr-Typen mit vollständiger Subquery-Unterstützung - fn add_tombstone_filters_recursive( - &self, - set_expr: &mut SetExpr, - excluded_tables: &std::collections::HashSet<&str>, - ) -> Result<(), DatabaseError> { - match set_expr { - SetExpr::Select(select) => { - self.add_tombstone_filters_to_select(select, excluded_tables)?; - - // Transformiere auch Subqueries in Projektionen - for projection in &mut select.projection { - match projection { - SelectItem::UnnamedExpr(expr) | SelectItem::ExprWithAlias { expr, .. } => { - self.transform_expression_subqueries(expr, excluded_tables)?; - } - _ => {} // Wildcard projections ignorieren - } - } - - // Transformiere Subqueries in WHERE - if let Some(where_clause) = &mut select.selection { - self.transform_expression_subqueries(where_clause, excluded_tables)?; - } - - // Transformiere Subqueries in GROUP BY - match &mut select.group_by { - sqlparser::ast::GroupByExpr::All(_) => { - // GROUP BY ALL - keine Expressions zu transformieren - } - sqlparser::ast::GroupByExpr::Expressions(exprs, _) => { - for group_expr in exprs { - self.transform_expression_subqueries(group_expr, excluded_tables)?; - } - } - } - - // Transformiere Subqueries in HAVING - if let Some(having) = &mut select.having { - self.transform_expression_subqueries(having, excluded_tables)?; - } - } - SetExpr::SetOperation { left, right, .. } => { - self.add_tombstone_filters_recursive(left, excluded_tables)?; - self.add_tombstone_filters_recursive(right, excluded_tables)?; - } - SetExpr::Query(query) => { - self.add_tombstone_filters_recursive(&mut query.body, excluded_tables)?; - } - SetExpr::Values(values) => { - // Transformiere auch Subqueries in Values-Listen - for row in &mut values.rows { - for expr in row { - self.transform_expression_subqueries(expr, excluded_tables)?; - } - } - } - _ => {} // Andere Fälle - } - Ok(()) - } - - /// Transformiert Subqueries innerhalb von Expressions - fn transform_expression_subqueries( - &self, - expr: &mut Expr, - excluded_tables: &std::collections::HashSet<&str>, - ) -> Result<(), DatabaseError> { - match expr { - // Einfache Subqueries - Expr::Subquery(query) => { - self.add_tombstone_filters_recursive(&mut query.body, excluded_tables)?; - } - // EXISTS Subqueries - Expr::Exists { subquery, .. } => { - self.add_tombstone_filters_recursive(&mut subquery.body, excluded_tables)?; - } - // IN Subqueries - Expr::InSubquery { - expr: left_expr, - subquery, - .. - } => { - self.transform_expression_subqueries(left_expr, excluded_tables)?; - self.add_tombstone_filters_recursive(&mut subquery.body, excluded_tables)?; - } - // ANY/ALL Subqueries - Expr::AnyOp { left, right, .. } | Expr::AllOp { left, right, .. } => { - self.transform_expression_subqueries(left, excluded_tables)?; - self.transform_expression_subqueries(right, excluded_tables)?; - } - // Binäre Operationen - Expr::BinaryOp { left, right, .. } => { - self.transform_expression_subqueries(left, excluded_tables)?; - self.transform_expression_subqueries(right, excluded_tables)?; - } - // Unäre Operationen - Expr::UnaryOp { - expr: inner_expr, .. - } => { - self.transform_expression_subqueries(inner_expr, excluded_tables)?; - } - // Verschachtelte Ausdrücke - Expr::Nested(nested) => { - self.transform_expression_subqueries(nested, excluded_tables)?; - } - // CASE-Ausdrücke - Expr::Case { - operand, - conditions, - else_result, - .. - } => { - if let Some(op) = operand { - self.transform_expression_subqueries(op, excluded_tables)?; - } - for case_when in conditions { - self.transform_expression_subqueries(&mut case_when.condition, excluded_tables)?; - self.transform_expression_subqueries(&mut case_when.result, excluded_tables)?; - } - if let Some(else_res) = else_result { - self.transform_expression_subqueries(else_res, excluded_tables)?; - } - } - // Funktionsaufrufe - Expr::Function(func) => match &mut func.args { - sqlparser::ast::FunctionArguments::List(sqlparser::ast::FunctionArgumentList { - args, - .. - }) => { - for arg in args { - if let sqlparser::ast::FunctionArg::Unnamed( - sqlparser::ast::FunctionArgExpr::Expr(expr), - ) = arg - { - self.transform_expression_subqueries(expr, excluded_tables)?; - } - } - } - _ => {} - }, - // BETWEEN - Expr::Between { - expr: main_expr, - low, - high, - .. - } => { - self.transform_expression_subqueries(main_expr, excluded_tables)?; - self.transform_expression_subqueries(low, excluded_tables)?; - self.transform_expression_subqueries(high, excluded_tables)?; - } - // IN Liste - Expr::InList { - expr: main_expr, - list, - .. - } => { - self.transform_expression_subqueries(main_expr, excluded_tables)?; - for list_expr in list { - self.transform_expression_subqueries(list_expr, excluded_tables)?; - } - } - // IS NULL/IS NOT NULL - Expr::IsNull(inner) | Expr::IsNotNull(inner) => { - self.transform_expression_subqueries(inner, excluded_tables)?; - } - // Andere Expression-Typen benötigen keine Transformation - _ => {} - } - Ok(()) - } - - /// Erstellt einen Tombstone-Filter für eine Tabelle - pub fn create_tombstone_filter(&self, table_alias: Option<&str>) -> Expr { - let column_expr = match table_alias { - Some(alias) => { - Expr::CompoundIdentifier(vec![Ident::new(alias), Ident::new(self.tombstone_column)]) - } - None => { - Expr::Identifier(Ident::new(self.tombstone_column)) - } - }; - - Expr::BinaryOp { - left: Box::new(column_expr), - op: BinaryOperator::NotEq, - right: Box::new(Expr::Value(Value::Number("1".to_string(), false).into())), - } - } - - /// Normalisiert Tabellennamen (entfernt Anführungszeichen) - pub fn normalize_table_name(&self, name: &ObjectName) -> String { - let name_str = name.to_string().to_lowercase(); - name_str.trim_matches('`').trim_matches('"').to_string() - } - - /// Fügt Tombstone-Filter zu SELECT-Statements hinzu - pub fn add_tombstone_filters_to_select( - &self, - select: &mut sqlparser::ast::Select, - excluded_tables: &HashSet<&str>, - ) -> Result<(), DatabaseError> { - // Sammle alle CRDT-Tabellen mit ihren Aliasen - let mut crdt_tables = Vec::new(); - for twj in &select.from { - if let TableFactor::Table { name, alias, .. } = &twj.relation { - let table_name_str = self.normalize_table_name(name); - if !excluded_tables.contains(table_name_str.as_str()) { - let table_alias = alias.as_ref().map(|a| a.name.value.as_str()); - crdt_tables.push((name.clone(), table_alias)); - } - } - } - - if crdt_tables.is_empty() { - return Ok(()); - } - - // Prüfe, welche Tombstone-Spalten bereits in der WHERE-Klausel referenziert werden - let explicitly_filtered_tables = if let Some(where_clause) = &select.selection { - self.find_explicitly_filtered_tombstone_tables(where_clause, &crdt_tables) - } else { - HashSet::new() - }; - - // Erstelle Filter nur für Tabellen, die noch nicht explizit gefiltert werden - let mut tombstone_filters = Vec::new(); - for (table_name, table_alias) in crdt_tables { - let table_name_string = table_name.to_string(); - let table_key = table_alias.unwrap_or(&table_name_string); - if !explicitly_filtered_tables.contains(table_key) { - tombstone_filters.push(self.create_tombstone_filter(table_alias)); - } - } - - // Füge die automatischen Filter hinzu - if !tombstone_filters.is_empty() { - let combined_filter = tombstone_filters - .into_iter() - .reduce(|acc, expr| Expr::BinaryOp { - left: Box::new(acc), - op: BinaryOperator::And, - right: Box::new(expr), - }) - .unwrap(); - - match &mut select.selection { - Some(existing) => { - *existing = Expr::BinaryOp { - left: Box::new(existing.clone()), - op: BinaryOperator::And, - right: Box::new(combined_filter), - }; - } - None => { - select.selection = Some(combined_filter); - } - } - } - - Ok(()) - } - - /// Findet alle Tabellen, die bereits explizit Tombstone-Filter in der WHERE-Klausel haben - fn find_explicitly_filtered_tombstone_tables( - &self, - where_expr: &Expr, - crdt_tables: &[(ObjectName, Option<&str>)], - ) -> HashSet { - let mut filtered_tables = HashSet::new(); - self.scan_expression_for_tombstone_references( - where_expr, - crdt_tables, - &mut filtered_tables, - ); - filtered_tables - } - - /// Rekursiv durchsucht einen Expression-Baum nach Tombstone-Spalten-Referenzen - fn scan_expression_for_tombstone_references( - &self, - expr: &Expr, - crdt_tables: &[(ObjectName, Option<&str>)], - filtered_tables: &mut HashSet, - ) { - match expr { - Expr::Identifier(ident) => { - if ident.value == self.tombstone_column && crdt_tables.len() == 1 { - let table_name_str = crdt_tables[0].0.to_string(); - let table_key = crdt_tables[0].1.unwrap_or(&table_name_str); - filtered_tables.insert(table_key.to_string()); - } - } - Expr::CompoundIdentifier(idents) => { - if idents.len() == 2 && idents[1].value == self.tombstone_column { - let table_ref = &idents[0].value; - for (table_name, alias) in crdt_tables { - let table_name_str = table_name.to_string(); - if table_ref == &table_name_str || alias.map_or(false, |a| a == table_ref) { - filtered_tables.insert(table_ref.clone()); - break; - } - } - } - } - Expr::BinaryOp { left, right, .. } => { - self.scan_expression_for_tombstone_references(left, crdt_tables, filtered_tables); - self.scan_expression_for_tombstone_references(right, crdt_tables, filtered_tables); - } - Expr::UnaryOp { expr, .. } => { - self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); - } - Expr::Nested(nested) => { - self.scan_expression_for_tombstone_references(nested, crdt_tables, filtered_tables); - } - Expr::InList { expr, .. } => { - self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); - } - Expr::Between { expr, .. } => { - self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); - } - Expr::IsNull(expr) | Expr::IsNotNull(expr) => { - self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); - } - Expr::Function(func) => { - if let sqlparser::ast::FunctionArguments::List( - sqlparser::ast::FunctionArgumentList { args, .. }, - ) = &func.args - { - for arg in args { - if let sqlparser::ast::FunctionArg::Unnamed( - sqlparser::ast::FunctionArgExpr::Expr(expr), - ) = arg - { - self.scan_expression_for_tombstone_references( - expr, - crdt_tables, - filtered_tables, - ); - } - } - } - } - Expr::Case { - operand, - conditions, - else_result, - .. - } => { - if let Some(op) = operand { - self.scan_expression_for_tombstone_references(op, crdt_tables, filtered_tables); - } - for case_when in conditions { - self.scan_expression_for_tombstone_references( - &case_when.condition, - crdt_tables, - filtered_tables, - ); - self.scan_expression_for_tombstone_references( - &case_when.result, - crdt_tables, - filtered_tables, - ); - } - if let Some(else_res) = else_result { - self.scan_expression_for_tombstone_references( - else_res, - crdt_tables, - filtered_tables, - ); - } - } - Expr::Subquery(query) => { - self.analyze_query_for_tombstone_references(query, crdt_tables, filtered_tables) - .ok(); - } - Expr::Exists { subquery, .. } => { - self.analyze_query_for_tombstone_references(subquery, crdt_tables, filtered_tables) - .ok(); - } - Expr::InSubquery { expr, subquery, .. } => { - self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); - self.analyze_query_for_tombstone_references(subquery, crdt_tables, filtered_tables) - .ok(); - } - Expr::AnyOp { left, right, .. } | Expr::AllOp { left, right, .. } => { - self.scan_expression_for_tombstone_references(left, crdt_tables, filtered_tables); - self.scan_expression_for_tombstone_references(right, crdt_tables, filtered_tables); - } - _ => {} - } - } - - fn analyze_query_for_tombstone_references( - &self, - query: &sqlparser::ast::Query, - crdt_tables: &[(ObjectName, Option<&str>)], - filtered_tables: &mut HashSet, - ) -> Result<(), DatabaseError> { - self.analyze_set_expr_for_tombstone_references(&query.body, crdt_tables, filtered_tables) - } - - fn analyze_set_expr_for_tombstone_references( - &self, - set_expr: &SetExpr, - crdt_tables: &[(ObjectName, Option<&str>)], - filtered_tables: &mut HashSet, - ) -> Result<(), DatabaseError> { - match set_expr { - SetExpr::Select(select) => { - if let Some(where_clause) = &select.selection { - self.scan_expression_for_tombstone_references( - where_clause, - crdt_tables, - filtered_tables, - ); - } - - for projection in &select.projection { - match projection { - SelectItem::UnnamedExpr(expr) | SelectItem::ExprWithAlias { expr, .. } => { - self.scan_expression_for_tombstone_references( - expr, - crdt_tables, - filtered_tables, - ); - } - _ => {} - } - } - - match &select.group_by { - sqlparser::ast::GroupByExpr::All(_) => {} - sqlparser::ast::GroupByExpr::Expressions(exprs, _) => { - for group_expr in exprs { - self.scan_expression_for_tombstone_references( - group_expr, - crdt_tables, - filtered_tables, - ); - } - } - } - - if let Some(having) = &select.having { - self.scan_expression_for_tombstone_references( - having, - crdt_tables, - filtered_tables, - ); - } - } - SetExpr::SetOperation { left, right, .. } => { - self.analyze_set_expr_for_tombstone_references(left, crdt_tables, filtered_tables)?; - self.analyze_set_expr_for_tombstone_references( - right, - crdt_tables, - filtered_tables, - )?; - } - SetExpr::Query(query) => { - self.analyze_set_expr_for_tombstone_references( - &query.body, - crdt_tables, - filtered_tables, - )?; - } - SetExpr::Values(values) => { - for row in &values.rows { - for expr in row { - self.scan_expression_for_tombstone_references( - expr, - crdt_tables, - filtered_tables, - ); - } - } - } - _ => {} - } - Ok(()) - } -} diff --git a/src-tauri/src/crdt/transformer.rs b/src-tauri/src/crdt/transformer.rs index d5955d9..df7c36b 100644 --- a/src-tauri/src/crdt/transformer.rs +++ b/src-tauri/src/crdt/transformer.rs @@ -1,12 +1,12 @@ +// src-tauri/src/crdt/transformer.rs + use crate::crdt::insert_transformer::InsertTransformer; -use crate::crdt::query_transformer::QueryTransformer; use crate::crdt::trigger::{HLC_TIMESTAMP_COLUMN, TOMBSTONE_COLUMN}; use crate::database::error::DatabaseError; use crate::table_names::{TABLE_CRDT_CONFIGS, TABLE_CRDT_LOGS}; use sqlparser::ast::{ - Assignment, AssignmentTarget, BinaryOperator, ColumnDef, DataType, Expr, Ident, - ObjectName, ObjectNamePart, Statement, TableFactor, TableObject, - Value, + Assignment, AssignmentTarget, BinaryOperator, ColumnDef, DataType, Expr, Ident, ObjectName, + ObjectNamePart, SelectItem, SetExpr, Statement, TableFactor, TableObject, Value, }; use std::borrow::Cow; use std::collections::HashSet; @@ -38,11 +38,7 @@ impl CrdtColumns { } }; - Expr::BinaryOp { - left: Box::new(column_expr), - op: BinaryOperator::NotEq, - right: Box::new(Expr::Value(Value::Number("1".to_string(), false).into())), - } + Expr::IsNotTrue(Box::new(column_expr)) } /// Erstellt eine Tombstone-Zuweisung für UPDATE/DELETE @@ -113,11 +109,15 @@ impl CrdtTransformer { Cow::Owned(name_str.trim_matches('`').trim_matches('"').to_string()) } + // ================================================================= + // ÖFFENTLICHE API-METHODEN + // ================================================================= + pub fn transform_select_statement(&self, stmt: &mut Statement) -> Result<(), DatabaseError> { match stmt { Statement::Query(query) => { - let query_transformer = QueryTransformer::new(); - query_transformer.transform_query_recursive(query, &self.excluded_tables) + // Ruft jetzt die private Methode in diesem Struct auf + self.transform_select_query_recursive(&mut query.body, &self.excluded_tables) } // Fange alle anderen Fälle ab und gib einen Fehler zurück _ => Err(DatabaseError::UnsupportedStatement { @@ -165,15 +165,21 @@ impl CrdtTransformer { .map(|c| c.name.clone()) .collect(); - let foreign_keys = crate::crdt::trigger::get_foreign_key_columns(tx, &table_name_str) - .map_err(|e| DatabaseError::ExecutionError { - sql: format!("PRAGMA foreign_key_list('{}')", table_name_str), - reason: e.to_string(), - table: Some(table_name_str.to_string()), - })?; + let foreign_keys = + crate::crdt::trigger::get_foreign_key_columns(tx, &table_name_str) + .map_err(|e| DatabaseError::ExecutionError { + sql: format!("PRAGMA foreign_key_list('{}')", table_name_str), + reason: e.to_string(), + table: Some(table_name_str.to_string()), + })?; let insert_transformer = InsertTransformer::new(); - insert_transformer.transform_insert(insert_stmt, hlc_timestamp, &primary_keys, &foreign_keys)?; + insert_transformer.transform_insert( + insert_stmt, + hlc_timestamp, + &primary_keys, + &foreign_keys, + )?; } } Ok(None) @@ -195,7 +201,10 @@ impl CrdtTransformer { eprintln!("DEBUG DELETE (with_table_info): table='{}', is_crdt_sync={}, normalized='{}'", table_name, is_crdt, table_name_str); if is_crdt { - eprintln!("DEBUG: Transforming DELETE to UPDATE for table '{}'", table_name_str); + eprintln!( + "DEBUG: Transforming DELETE to UPDATE for table '{}'", + table_name_str + ); self.transform_delete_to_update(stmt, hlc_timestamp)?; } Ok(None) @@ -242,7 +251,12 @@ impl CrdtTransformer { if self.is_crdt_sync_table(name) { // Ohne Connection: leere PK- und FK-Listen (alle Spalten werden upgedatet) let insert_transformer = InsertTransformer::new(); - insert_transformer.transform_insert(insert_stmt, hlc_timestamp, &[], &[])?; + insert_transformer.transform_insert( + insert_stmt, + hlc_timestamp, + &[], + &[], + )?; } } Ok(None) @@ -281,6 +295,9 @@ impl CrdtTransformer { } } + // ================================================================= + // PRIVATE HELFER (DELETE/UPDATE) + // ================================================================= /// Transformiert DELETE zu UPDATE (soft delete) fn transform_delete_to_update( @@ -341,4 +358,475 @@ impl CrdtTransformer { None } } + + // ================================================================= + // PRIVATE HELFER (SELECT-TRANSFORMATION) + // (Diese Methoden kommen aus dem alten `query_transformer.rs`) + // ================================================================= + + /// Rekursive Behandlung aller SetExpr-Typen mit vollständiger Subquery-Unterstützung + fn transform_select_query_recursive( + &self, + set_expr: &mut SetExpr, + excluded_tables: &std::collections::HashSet<&str>, + ) -> Result<(), DatabaseError> { + match set_expr { + SetExpr::Select(select) => { + self.add_tombstone_filters_to_select(select, excluded_tables)?; + + // Transformiere auch Subqueries in Projektionen + for projection in &mut select.projection { + match projection { + SelectItem::UnnamedExpr(expr) | SelectItem::ExprWithAlias { expr, .. } => { + self.transform_expression_subqueries(expr, excluded_tables)?; + } + _ => {} // Wildcard projections ignorieren + } + } + + // Transformiere Subqueries in WHERE + if let Some(where_clause) = &mut select.selection { + self.transform_expression_subqueries(where_clause, excluded_tables)?; + } + + // Transformiere Subqueries in GROUP BY + match &mut select.group_by { + sqlparser::ast::GroupByExpr::All(_) => { + // GROUP BY ALL - keine Expressions zu transformieren + } + sqlparser::ast::GroupByExpr::Expressions(exprs, _) => { + for group_expr in exprs { + self.transform_expression_subqueries(group_expr, excluded_tables)?; + } + } + } + + // Transformiere Subqueries in HAVING + if let Some(having) = &mut select.having { + self.transform_expression_subqueries(having, excluded_tables)?; + } + } + SetExpr::SetOperation { left, right, .. } => { + self.transform_select_query_recursive(left, excluded_tables)?; + self.transform_select_query_recursive(right, excluded_tables)?; + } + SetExpr::Query(query) => { + self.transform_select_query_recursive(&mut query.body, excluded_tables)?; + } + SetExpr::Values(values) => { + // Transformiere auch Subqueries in Values-Listen + for row in &mut values.rows { + for expr in row { + self.transform_expression_subqueries(expr, excluded_tables)?; + } + } + } + _ => {} // Andere Fälle + } + Ok(()) + } + + /// Transformiert Subqueries innerhalb von Expressions + fn transform_expression_subqueries( + &self, + expr: &mut Expr, + excluded_tables: &std::collections::HashSet<&str>, + ) -> Result<(), DatabaseError> { + match expr { + // Einfache Subqueries + Expr::Subquery(query) => { + self.transform_select_query_recursive(&mut query.body, excluded_tables)?; + } + // EXISTS Subqueries + Expr::Exists { subquery, .. } => { + self.transform_select_query_recursive(&mut subquery.body, excluded_tables)?; + } + // IN Subqueries + Expr::InSubquery { + expr: left_expr, + subquery, + .. + } => { + self.transform_expression_subqueries(left_expr, excluded_tables)?; + self.transform_select_query_recursive(&mut subquery.body, excluded_tables)?; + } + // ANY/ALL Subqueries + Expr::AnyOp { left, right, .. } | Expr::AllOp { left, right, .. } => { + self.transform_expression_subqueries(left, excluded_tables)?; + self.transform_expression_subqueries(right, excluded_tables)?; + } + // Binäre Operationen + Expr::BinaryOp { left, right, .. } => { + self.transform_expression_subqueries(left, excluded_tables)?; + self.transform_expression_subqueries(right, excluded_tables)?; + } + // Unäre Operationen + Expr::UnaryOp { + expr: inner_expr, .. + } => { + self.transform_expression_subqueries(inner_expr, excluded_tables)?; + } + // Verschachtelte Ausdrücke + Expr::Nested(nested) => { + self.transform_expression_subqueries(nested, excluded_tables)?; + } + // CASE-Ausdrücke + Expr::Case { + operand, + conditions, + else_result, + .. + } => { + if let Some(op) = operand { + self.transform_expression_subqueries(op, excluded_tables)?; + } + for case_when in conditions { + self.transform_expression_subqueries( + &mut case_when.condition, + excluded_tables, + )?; + self.transform_expression_subqueries(&mut case_when.result, excluded_tables)?; + } + if let Some(else_res) = else_result { + self.transform_expression_subqueries(else_res, excluded_tables)?; + } + } + // Funktionsaufrufe + Expr::Function(func) => match &mut func.args { + sqlparser::ast::FunctionArguments::List(sqlparser::ast::FunctionArgumentList { + args, + .. + }) => { + for arg in args { + if let sqlparser::ast::FunctionArg::Unnamed( + sqlparser::ast::FunctionArgExpr::Expr(expr), + ) = arg + { + self.transform_expression_subqueries(expr, excluded_tables)?; + } + } + } + _ => {} + }, + // BETWEEN + Expr::Between { + expr: main_expr, + low, + high, + .. + } => { + self.transform_expression_subqueries(main_expr, excluded_tables)?; + self.transform_expression_subqueries(low, excluded_tables)?; + self.transform_expression_subqueries(high, excluded_tables)?; + } + // IN Liste + Expr::InList { + expr: main_expr, + list, + .. + } => { + self.transform_expression_subqueries(main_expr, excluded_tables)?; + for list_expr in list { + self.transform_expression_subqueries(list_expr, excluded_tables)?; + } + } + // IS NULL/IS NOT NULL + Expr::IsNull(inner) | Expr::IsNotNull(inner) => { + self.transform_expression_subqueries(inner, excluded_tables)?; + } + // Andere Expression-Typen benötigen keine Transformation + _ => {} + } + Ok(()) + } + + /// Fügt Tombstone-Filter zu SELECT-Statements hinzu + fn add_tombstone_filters_to_select( + &self, + select: &mut sqlparser::ast::Select, + excluded_tables: &HashSet<&str>, + ) -> Result<(), DatabaseError> { + // Sammle alle CRDT-Tabellen mit ihren Aliasen + let mut crdt_tables = Vec::new(); + for twj in &select.from { + if let TableFactor::Table { name, alias, .. } = &twj.relation { + // Nutzt die zentrale Logik von CrdtTransformer + if self.is_crdt_sync_table(name) { + let table_alias = alias.as_ref().map(|a| a.name.value.as_str()); + crdt_tables.push((name.clone(), table_alias)); + } + } + } + + if crdt_tables.is_empty() { + return Ok(()); + } + + // Prüfe, welche Tombstone-Spalten bereits in der WHERE-Klausel referenziert werden + let explicitly_filtered_tables = if let Some(where_clause) = &select.selection { + self.find_explicitly_filtered_tombstone_tables(where_clause, &crdt_tables) + } else { + HashSet::new() + }; + + // Erstelle Filter nur für Tabellen, die noch nicht explizit gefiltert werden + let mut tombstone_filters = Vec::new(); + for (table_name, table_alias) in crdt_tables { + let table_name_string = table_name.to_string(); + let table_key = table_alias.unwrap_or(&table_name_string); + if !explicitly_filtered_tables.contains(table_key) { + // Nutzt die zentrale Logik von CrdtColumns + tombstone_filters.push(self.columns.create_tombstone_filter(table_alias)); + } + } + + // Füge die automatischen Filter hinzu + if !tombstone_filters.is_empty() { + let combined_filter = tombstone_filters + .into_iter() + .reduce(|acc, expr| Expr::BinaryOp { + left: Box::new(acc), + op: BinaryOperator::And, + right: Box::new(expr), + }) + .unwrap(); + + match &mut select.selection { + Some(existing) => { + *existing = Expr::BinaryOp { + left: Box::new(existing.clone()), + op: BinaryOperator::And, + right: Box::new(combined_filter), + }; + } + None => { + select.selection = Some(combined_filter); + } + } + } + + Ok(()) + } + + /// Findet alle Tabellen, die bereits explizit Tombstone-Filter in der WHERE-Klausel haben + fn find_explicitly_filtered_tombstone_tables( + &self, + where_expr: &Expr, + crdt_tables: &[(ObjectName, Option<&str>)], + ) -> HashSet { + let mut filtered_tables = HashSet::new(); + self.scan_expression_for_tombstone_references( + where_expr, + crdt_tables, + &mut filtered_tables, + ); + filtered_tables + } + + /// Rekursiv durchsucht einen Expression-Baum nach Tombstone-Spalten-Referenzen + fn scan_expression_for_tombstone_references( + &self, + expr: &Expr, + crdt_tables: &[(ObjectName, Option<&str>)], + filtered_tables: &mut HashSet, + ) { + match expr { + Expr::Identifier(ident) => { + // Nutzt die zentrale Konfiguration von CrdtColumns + if ident.value == self.columns.tombstone && crdt_tables.len() == 1 { + let table_name_str = crdt_tables[0].0.to_string(); + let table_key = crdt_tables[0].1.unwrap_or(&table_name_str); + filtered_tables.insert(table_key.to_string()); + } + } + Expr::CompoundIdentifier(idents) => { + // Nutzt die zentrale Konfiguration von CrdtColumns + if idents.len() == 2 && idents[1].value == self.columns.tombstone { + let table_ref = &idents[0].value; + for (table_name, alias) in crdt_tables { + let table_name_str = table_name.to_string(); + if table_ref == &table_name_str || alias.map_or(false, |a| a == table_ref) { + filtered_tables.insert(table_ref.clone()); + break; + } + } + } + } + Expr::BinaryOp { left, right, .. } => { + self.scan_expression_for_tombstone_references(left, crdt_tables, filtered_tables); + self.scan_expression_for_tombstone_references(right, crdt_tables, filtered_tables); + } + Expr::UnaryOp { expr, .. } => { + self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); + } + Expr::Nested(nested) => { + self.scan_expression_for_tombstone_references(nested, crdt_tables, filtered_tables); + } + Expr::InList { expr, .. } => { + self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); + } + Expr::Between { expr, .. } => { + self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); + } + Expr::IsNull(expr) | Expr::IsNotNull(expr) => { + self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); + } + Expr::Function(func) => { + if let sqlparser::ast::FunctionArguments::List( + sqlparser::ast::FunctionArgumentList { args, .. }, + ) = &func.args + { + for arg in args { + if let sqlparser::ast::FunctionArg::Unnamed( + sqlparser::ast::FunctionArgExpr::Expr(expr), + ) = arg + { + self.scan_expression_for_tombstone_references( + expr, + crdt_tables, + filtered_tables, + ); + } + } + } + } + Expr::Case { + operand, + conditions, + else_result, + .. + } => { + if let Some(op) = operand { + self.scan_expression_for_tombstone_references(op, crdt_tables, filtered_tables); + } + for case_when in conditions { + self.scan_expression_for_tombstone_references( + &case_when.condition, + crdt_tables, + filtered_tables, + ); + self.scan_expression_for_tombstone_references( + &case_when.result, + crdt_tables, + filtered_tables, + ); + } + if let Some(else_res) = else_result { + self.scan_expression_for_tombstone_references( + else_res, + crdt_tables, + filtered_tables, + ); + } + } + Expr::Subquery(query) => { + self.analyze_query_for_tombstone_references(query, crdt_tables, filtered_tables) + .ok(); + } + Expr::Exists { subquery, .. } => { + self.analyze_query_for_tombstone_references(subquery, crdt_tables, filtered_tables) + .ok(); + } + Expr::InSubquery { expr, subquery, .. } => { + self.scan_expression_for_tombstone_references(expr, crdt_tables, filtered_tables); + self.analyze_query_for_tombstone_references(subquery, crdt_tables, filtered_tables) + .ok(); + } + Expr::AnyOp { left, right, .. } | Expr::AllOp { left, right, .. } => { + self.scan_expression_for_tombstone_references(left, crdt_tables, filtered_tables); + self.scan_expression_for_tombstone_references(right, crdt_tables, filtered_tables); + } + _ => {} + } + } + + fn analyze_query_for_tombstone_references( + &self, + query: &sqlparser::ast::Query, + crdt_tables: &[(ObjectName, Option<&str>)], + filtered_tables: &mut HashSet, + ) -> Result<(), DatabaseError> { + self.analyze_set_expr_for_tombstone_references(&query.body, crdt_tables, filtered_tables) + } + + fn analyze_set_expr_for_tombstone_references( + &self, + set_expr: &SetExpr, + crdt_tables: &[(ObjectName, Option<&str>)], + filtered_tables: &mut HashSet, + ) -> Result<(), DatabaseError> { + match set_expr { + SetExpr::Select(select) => { + if let Some(where_clause) = &select.selection { + self.scan_expression_for_tombstone_references( + where_clause, + crdt_tables, + filtered_tables, + ); + } + + for projection in &select.projection { + match projection { + SelectItem::UnnamedExpr(expr) | SelectItem::ExprWithAlias { expr, .. } => { + self.scan_expression_for_tombstone_references( + expr, + crdt_tables, + filtered_tables, + ); + } + _ => {} + } + } + + match &select.group_by { + sqlparser::ast::GroupByExpr::All(_) => {} + sqlparser::ast::GroupByExpr::Expressions(exprs, _) => { + for group_expr in exprs { + self.scan_expression_for_tombstone_references( + group_expr, + crdt_tables, + filtered_tables, + ); + } + } + } + + if let Some(having) = &select.having { + self.scan_expression_for_tombstone_references( + having, + crdt_tables, + filtered_tables, + ); + } + } + SetExpr::SetOperation { left, right, .. } => { + self.analyze_set_expr_for_tombstone_references(left, crdt_tables, filtered_tables)?; + self.analyze_set_expr_for_tombstone_references( + right, + crdt_tables, + filtered_tables, + )?; + } + SetExpr::Query(query) => { + self.analyze_set_expr_for_tombstone_references( + &query.body, + crdt_tables, + filtered_tables, + )?; + } + SetExpr::Values(values) => { + for row in &values.rows { + for expr in row { + self.scan_expression_for_tombstone_references( + expr, + crdt_tables, + filtered_tables, + ); + } + } + } + _ => {} + } + Ok(()) + } } diff --git a/src-tauri/src/database/core.rs b/src-tauri/src/database/core.rs index 6f13e1d..0078c5b 100644 --- a/src-tauri/src/database/core.rs +++ b/src-tauri/src/database/core.rs @@ -15,7 +15,6 @@ use sqlparser::dialect::SQLiteDialect; use sqlparser::parser::Parser; /// Öffnet und initialisiert eine Datenbank mit Verschlüsselung -/// pub fn open_and_init_db(path: &str, key: &str, create: bool) -> Result { let flags = if create { OpenFlags::SQLITE_OPEN_READ_WRITE | OpenFlags::SQLITE_OPEN_CREATE @@ -159,47 +158,23 @@ pub fn execute( let params_sql: Vec<&dyn ToSql> = params_converted.iter().map(|v| v as &dyn ToSql).collect(); with_connection(connection, |conn| { - // Check if the SQL contains RETURNING clause - let has_returning = sql.to_uppercase().contains("RETURNING"); - - if has_returning { - // Use prepare + query for RETURNING statements - let mut stmt = conn - .prepare(&sql) - .map_err(|e| DatabaseError::PrepareError { - reason: e.to_string(), - })?; - + if sql.to_uppercase().contains("RETURNING") { + let mut stmt = conn.prepare(&sql)?; let num_columns = stmt.column_count(); - let mut rows = stmt - .query(¶ms_sql[..]) - .map_err(|e| DatabaseError::QueryError { - reason: e.to_string(), - })?; - + let mut rows = stmt.query(¶ms_sql[..])?; let mut result_vec: Vec> = Vec::new(); - while let Some(row) = rows.next().map_err(|e| DatabaseError::RowProcessingError { - reason: format!("Row iteration error: {}", e), - })? { + while let Some(row) = rows.next()? { let mut row_values: Vec = Vec::with_capacity(num_columns); - for i in 0..num_columns { - let value_ref = - row.get_ref(i) - .map_err(|e| DatabaseError::RowProcessingError { - reason: format!("Failed to get column {}: {}", i, e), - })?; - + let value_ref = row.get_ref(i)?; let json_val = convert_value_ref_to_json(value_ref)?; row_values.push(json_val); } result_vec.push(row_values); } - Ok(result_vec) } else { - // For non-RETURNING statements, just execute and return empty array conn.execute(&sql, ¶ms_sql[..]).map_err(|e| { let table_name = extract_primary_table_name_from_sql(&sql).unwrap_or(None); DatabaseError::ExecutionError { @@ -208,7 +183,6 @@ pub fn execute( table: table_name, } })?; - Ok(vec![]) } }) @@ -238,40 +212,20 @@ pub fn select( let params_sql: Vec<&dyn ToSql> = params_converted.iter().map(|v| v as &dyn ToSql).collect(); with_connection(connection, |conn| { - let mut stmt = conn - .prepare(&sql) - .map_err(|e| DatabaseError::PrepareError { - reason: e.to_string(), - })?; - + let mut stmt = conn.prepare(&sql)?; let num_columns = stmt.column_count(); - - let mut rows = stmt - .query(¶ms_sql[..]) - .map_err(|e| DatabaseError::QueryError { - reason: e.to_string(), - })?; - + let mut rows = stmt.query(¶ms_sql[..])?; let mut result_vec: Vec> = Vec::new(); - while let Some(row) = rows.next().map_err(|e| DatabaseError::RowProcessingError { - reason: format!("Row iteration error: {}", e), - })? { + while let Some(row) = rows.next()? { let mut row_values: Vec = Vec::with_capacity(num_columns); - for i in 0..num_columns { - let value_ref = row - .get_ref(i) - .map_err(|e| DatabaseError::RowProcessingError { - reason: format!("Failed to get column {}: {}", i, e), - })?; - + let value_ref = row.get_ref(i)?; let json_val = convert_value_ref_to_json(value_ref)?; row_values.push(json_val); } result_vec.push(row_values); } - Ok(result_vec) }) } diff --git a/src-tauri/src/database/mod.rs b/src-tauri/src/database/mod.rs index bb10942..df09980 100644 --- a/src-tauri/src/database/mod.rs +++ b/src-tauri/src/database/mod.rs @@ -204,15 +204,17 @@ pub fn list_vaults(app_handle: AppHandle) -> Result, DatabaseErro /// Checks if a vault with the given name exists #[tauri::command] -pub fn vault_exists(app_handle: AppHandle, db_name: String) -> Result { - let vault_path = get_vault_path(&app_handle, &db_name)?; +pub fn vault_exists(app_handle: AppHandle, vault_name: String) -> Result { + let vault_path = get_vault_path(&app_handle, &vault_name)?; Ok(Path::new(&vault_path).exists()) } /// Deletes a vault database file #[tauri::command] -pub fn delete_vault(app_handle: AppHandle, db_name: String) -> Result { - let vault_path = get_vault_path(&app_handle, &db_name)?; +pub fn delete_vault(app_handle: AppHandle, vault_name: String) -> Result { + let vault_path = get_vault_path(&app_handle, &vault_name)?; + let vault_shm_path = format!("{}-shm", vault_path); + let vault_wal_path = format!("{}-wal", vault_path); if !Path::new(&vault_path).exists() { return Err(DatabaseError::IoError { @@ -221,12 +223,26 @@ pub fn delete_vault(app_handle: AppHandle, db_name: String) -> Result, Vec>) = + SqlExecutor::query_internal_typed_with_context( + &tx, + &hlc_service, + &insert_ext_sql, + rusqlite::params![ + extension_id, + extracted.manifest.name, + extracted.manifest.version, + extracted.manifest.author, + extracted.manifest.entry, + extracted.manifest.icon, + extracted.manifest.public_key, + extracted.manifest.signature, + extracted.manifest.homepage, + extracted.manifest.description, + true, // enabled + ], + &mut pk_context, + )?; // Nutze die tatsächliche ID aus der Datenbank (wichtig bei ON CONFLICT) // Die haex_extensions Tabelle hat einen single-column PK namens "id" let actual_extension_id = returning_results - .first() - .and_then(|row| row.first()) - .and_then(|val| val.as_str()) - .map(|s| s.to_string()) - .unwrap_or_else(|| extension_id.clone()); + .first() // Holt die erste Zeile (das innere Vec, z.B. Some(&["uuid-string"])) + .and_then(|row_array| row_array.first()) // Holt das erste Element daraus (z.B. Some(&JsonValue::String("uuid-string"))) + .and_then(|val| val.as_str()) // Konvertiert zu &str (z.B. Some("uuid-string")) + .map(|s| s.to_string()) // Konvertiert zu String + .unwrap_or_else(|| extension_id.clone()); // Fallback eprintln!( "DEBUG: Extension UUID - Generated: {}, Actual from DB: {}", diff --git a/src-tauri/src/extension/database/executor.rs b/src-tauri/src/extension/database/executor.rs index 3e4be69..223b449 100644 --- a/src-tauri/src/extension/database/executor.rs +++ b/src-tauri/src/extension/database/executor.rs @@ -5,10 +5,9 @@ use crate::crdt::transformer::CrdtTransformer; use crate::crdt::trigger; use crate::database::core::{convert_value_ref_to_json, parse_sql_statements, ValueConverter}; use crate::database::error::DatabaseError; -use crate::database::DbConnection; use rusqlite::Connection; use rusqlite::{params_from_iter, types::Value as SqliteValue, ToSql, Transaction}; -use serde_json::Value as JsonValue; +use serde_json::{Map, Value as JsonValue}; use sqlparser::ast::{Insert, Statement, TableObject}; use std::collections::{HashMap, HashSet}; @@ -142,7 +141,7 @@ impl SqlExecutor { } let sql_str = statement.to_string(); - eprintln!("DEBUG: Transformed SQL: {}", sql_str); + eprintln!("DEBUG: Transformed SQL (execute path): {}", sql_str); // Spezielle Behandlung für INSERT Statements (mit FK-Remapping, OHNE RETURNING) if let Statement::Insert(ref insert_stmt) = statement { @@ -162,7 +161,6 @@ impl SqlExecutor { // Remap FK-Werte in params (falls Mappings existieren) remap_fk_params(insert_stmt, &mut param_vec, &fk_info, pk_context)?; - // Führe INSERT mit execute() aus let param_refs: Vec<&dyn ToSql> = param_vec.iter().map(|v| v as &dyn ToSql).collect(); @@ -174,19 +172,15 @@ impl SqlExecutor { reason: format!("Prepare failed: {}", e), })?; - let _ = stmt + let mut rows = stmt .query(params_from_iter(param_refs.iter())) .map_err(|e| DatabaseError::ExecutionError { sql: sql_str.clone(), table: Some(table_name_str.clone()), - reason: format!("Query execution failed: {}", e), + reason: format!("INSERT query execution failed: {}", e), })?; - /* tx.execute(&sql_str, params_from_iter(param_refs.iter())) - .map_err(|e| DatabaseError::ExecutionError { - sql: sql_str.clone(), - table: Some(table_name_str.clone()), - reason: e.to_string(), - })?; */ + + let _ = rows.next()?; } } else { // Nicht-INSERT Statements normal ausführen @@ -194,7 +188,7 @@ impl SqlExecutor { .map_err(|e| DatabaseError::ExecutionError { sql: sql_str.clone(), table: None, - reason: e.to_string(), + reason: format!("Execute failed: {}", e), })?; } @@ -300,9 +294,16 @@ impl SqlExecutor { reason: e.to_string(), })?; - let num_columns = stmt.column_count(); + let column_names: Vec = stmt + .column_names() + .into_iter() + .map(|s| s.to_string()) + .collect(); + let num_columns = column_names.len(); + let param_refs: Vec<&dyn ToSql> = param_vec.iter().map(|v| v as &dyn ToSql).collect(); + let mut rows = stmt .query(params_from_iter(param_refs.iter())) .map_err(|e| DatabaseError::ExecutionError { @@ -329,6 +330,7 @@ impl SqlExecutor { // Extrahiere ALLE Spalten für RETURNING-Ergebnis let mut row_values: Vec = Vec::with_capacity(num_columns); + for i in 0..num_columns { let value_ref = row.get_ref(i) @@ -353,6 +355,7 @@ impl SqlExecutor { })?; let num_columns = stmt.column_count(); + let mut rows = stmt.query(params).map_err(|e| DatabaseError::QueryError { reason: e.to_string(), })?; @@ -463,11 +466,14 @@ impl SqlExecutor { transformer.transform_select_statement(&mut stmt_to_execute)?; let transformed_sql = stmt_to_execute.to_string(); + eprintln!("DEBUG: Transformed SELECT: {}", transformed_sql); + let mut prepared_stmt = conn.prepare(&transformed_sql)?; + let num_columns = prepared_stmt.column_count(); let mut rows = prepared_stmt - .query(params_from_iter(sql_params.iter())) + .query(params_from_iter(&sql_params[..])) .map_err(|e| DatabaseError::QueryError { reason: e.to_string(), })?; @@ -719,13 +725,14 @@ fn extract_pk_values_from_row( ) -> Result { let mut pk_values = PkValues::new(); - for (idx, pk_col) in pk_columns.iter().enumerate() { - // RETURNING gibt PKs in der Reihenfolge zurück, wie sie im RETURNING Clause stehen - let value: String = row.get(idx).map_err(|e| DatabaseError::ExecutionError { - sql: "RETURNING clause".to_string(), - reason: format!("Failed to extract PK column '{}': {}", pk_col, e), - table: None, - })?; + for pk_col in pk_columns.iter() { + let value: String = + row.get(pk_col.as_str()) + .map_err(|e| DatabaseError::ExecutionError { + sql: "RETURNING clause".to_string(), + reason: format!("Failed to extract PK column '{}': {}", pk_col, e), + table: None, + })?; pk_values.insert(pk_col.clone(), value); } diff --git a/src-tauri/src/extension/database/mod.rs b/src-tauri/src/extension/database/mod.rs index 71b2ef8..95e2cdd 100644 --- a/src-tauri/src/extension/database/mod.rs +++ b/src-tauri/src/extension/database/mod.rs @@ -317,15 +317,6 @@ fn count_sql_placeholders(sql: &str) -> usize { sql.matches('?').count() } -/// Kürzt SQL für Fehlermeldungen -/* fn truncate_sql(sql: &str, max_length: usize) -> String { - if sql.len() <= max_length { - sql.to_string() - } else { - format!("{}...", &sql[..max_length]) - } -} */ - #[cfg(test)] mod tests { use super::*; diff --git a/src/assets/css/main.css b/src/assets/css/main.css index 2c7fa63..0078340 100644 --- a/src/assets/css/main.css +++ b/src/assets/css/main.css @@ -15,11 +15,6 @@ } } -:root { - --ui-header-height: 74px; -} - -.swiper-slide { - isolation: isolate; /* Für jeden Slide */ - contain: layout style; /* Enthält den Context, ohne Performance-Hit */ +@theme { + --spacing-header: 3.5rem; /* 72px - oder dein Wunschwert */ } diff --git a/src/components/haex/desktop/index.vue b/src/components/haex/desktop/index.vue index 8188548..8c23308 100644 --- a/src/components/haex/desktop/index.vue +++ b/src/components/haex/desktop/index.vue @@ -248,6 +248,7 @@