diff --git a/package.json b/package.json index 9f2f0ce..a533988 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@nuxt/ui": "4.0.0", "@nuxtjs/i18n": "10.0.6", "@pinia/nuxt": "^0.11.2", - "@tailwindcss/vite": "^4.1.15", + "@tailwindcss/vite": "^4.1.16", "@tauri-apps/api": "^2.9.0", "@tauri-apps/plugin-dialog": "^2.4.0", "@tauri-apps/plugin-fs": "^2.4.2", @@ -38,23 +38,24 @@ "@vueuse/core": "^13.9.0", "@vueuse/gesture": "^2.0.0", "@vueuse/nuxt": "^13.9.0", - "drizzle-orm": "^0.44.6", + "drizzle-orm": "^0.44.7", "eslint": "^9.38.0", "fuse.js": "^7.1.0", "nuxt": "^4.1.3", "nuxt-zod-i18n": "^1.12.1", "swiper": "^12.0.3", - "tailwindcss": "^4.1.15", + "tailwindcss": "^4.1.16", "vue": "^3.5.22", "vue-router": "^4.6.3", "zod": "^3.25.76" }, "devDependencies": { "@iconify-json/hugeicons": "^1.2.17", - "@iconify/json": "^2.2.398", + "@iconify-json/lucide": "^1.2.70", + "@iconify/json": "^2.2.399", "@iconify/tailwind4": "^1.0.6", "@libsql/client": "^0.15.15", - "@tauri-apps/cli": "^2.9.0", + "@tauri-apps/cli": "^2.9.1", "@types/node": "^24.9.1", "@vitejs/plugin-vue": "6.0.1", "@vue/compiler-sfc": "^3.5.22", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b3c5542..bd3d8ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,22 +16,22 @@ importers: 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.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)) + version: 0.11.4(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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.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.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) + version: 4.0.0(@babel/parser@7.28.5)(change-case@5.4.4)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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.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)) + version: 10.0.6(@vue/compiler-dom@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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.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.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)) + specifier: ^4.1.16 + version: 4.1.16(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.9.0 version: 2.9.0 @@ -70,10 +70,10 @@ importers: version: 2.0.0(vue@3.5.22(typescript@5.9.3)) '@vueuse/nuxt': 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)) + 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.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.7(@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.6 - version: 0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0) + specifier: ^0.44.7 + version: 0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0) eslint: specifier: ^9.38.0 version: 9.38.0(jiti@2.6.1) @@ -82,7 +82,7 @@ importers: version: 7.1.0 nuxt: 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) + 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.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.7(@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.1 version: 1.12.1(magicast@0.3.5) @@ -90,8 +90,8 @@ importers: specifier: ^12.0.3 version: 12.0.3 tailwindcss: - specifier: ^4.1.15 - version: 4.1.15 + specifier: ^4.1.16 + version: 4.1.16 vue: specifier: ^3.5.22 version: 3.5.22(typescript@5.9.3) @@ -99,24 +99,27 @@ importers: specifier: ^4.6.3 version: 4.6.3(vue@3.5.22(typescript@5.9.3)) zod: - specifier: ^3.25.76 + specifier: ^3.22.4 version: 3.25.76 devDependencies: '@iconify-json/hugeicons': specifier: ^1.2.17 version: 1.2.17 + '@iconify-json/lucide': + specifier: ^1.2.70 + version: 1.2.70 '@iconify/json': - specifier: ^2.2.398 - version: 2.2.398 + specifier: ^2.2.399 + version: 2.2.399 '@iconify/tailwind4': specifier: ^1.0.6 - version: 1.0.6(tailwindcss@4.1.15) + version: 1.0.6(tailwindcss@4.1.16) '@libsql/client': specifier: ^0.15.15 version: 0.15.15 '@tauri-apps/cli': - specifier: ^2.9.0 - version: 2.9.0 + specifier: ^2.9.1 + version: 2.9.1 '@types/node': specifier: ^24.9.1 version: 24.9.1 @@ -153,8 +156,8 @@ importers: packages: - '@ai-sdk/gateway@2.0.0': - resolution: {integrity: sha512-Gj0PuawK7NkZuyYgO/h5kDK/l6hFOjhLdTq3/Lli1FTl47iGmwhH1IZQpAL3Z09BeFYWakcwUmn02ovIm2wy9g==} + '@ai-sdk/gateway@2.0.1': + resolution: {integrity: sha512-vPVIbnP35ZnayS937XLo85vynR85fpBQWHCdUweq7apzqFOTU2YkUd4V3msebEHbQ2Zro60ZShDDy9SMiyWTqA==} engines: {node: '>=18'} peerDependencies: zod: ^3.22.4 @@ -169,8 +172,8 @@ packages: resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} engines: {node: '>=18'} - '@ai-sdk/vue@2.0.76': - resolution: {integrity: sha512-y9aNvzqWqi6P1v/GjrGtcWMA8HiO1Sp5S2Sp5teXyrsucssYqP35dGZMJfvh7+cDuW3BNHTEFPGkxIsbxOTAkQ==} + '@ai-sdk/vue@2.0.78': + resolution: {integrity: sha512-lxPOPs9T5DBRlOWKD24zbTJOR1C7YXnB52SUyRWOXy4RJbV+iC0mUVsyNgY56RCGkQyw4onVxEVIXhNanPm/Zw==} engines: {node: '>=18'} peerDependencies: vue: ^3.3.4 @@ -204,16 +207,16 @@ packages: resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.28.4': - resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.4': - resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} engines: {node: '>=6.9.0'} - '@babel/generator@7.28.3': - resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.27.3': @@ -224,8 +227,8 @@ packages: resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.28.3': - resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==} + '@babel/helper-create-class-features-plugin@7.28.5': + resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -234,8 +237,8 @@ packages: resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.27.1': - resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} + '@babel/helper-member-expression-to-functions@7.28.5': + resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.27.1': @@ -270,8 +273,8 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} '@babel/helper-validator-option@7.27.1': @@ -282,8 +285,8 @@ packages: resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.4': - resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -299,8 +302,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.28.0': - resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + '@babel/plugin-transform-typescript@7.28.5': + resolution: {integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -309,12 +312,12 @@ packages: resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.4': - resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.4': - resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} '@capsizecss/metrics@3.5.0': @@ -737,11 +740,14 @@ packages: '@iconify-json/hugeicons@1.2.17': resolution: {integrity: sha512-Yp+XzYfWoSuE4HTSrVGbIobNooYfIOQAczgzpLcJGGhkkGed8pVtR8K0UZEg2ZEdrtObatcCcTVrnuOwlnJqMA==} - '@iconify/collections@1.0.608': - resolution: {integrity: sha512-uMbaErE6TzDb04peWVFYjc9cweBD+j1nFBHi5EEcA1u1mXJAyePF01VzH6dimurrhivvU+nRmuYfiC8GPDyG6g==} + '@iconify-json/lucide@1.2.70': + resolution: {integrity: sha512-56s9NdBKgshywVY1e4gOcxzAbU1J649e/jLHBJU1tyNqRs7mFLVEGwj2mmzHJ5YAZB5Tsngi4f/ocTBPlG06ZA==} - '@iconify/json@2.2.398': - resolution: {integrity: sha512-SEUDjkyAenAKMd5hDfzNzeObZw+KgQdIHaOuWA4yv89qSf2s0dJ7L1iXhRjtEZxFnuXQ2D67uFiHmE+90jvDGQ==} + '@iconify/collections@1.0.609': + resolution: {integrity: sha512-MNt9nuRvZu9595cZKB4Mp9STyRU3qbGDHZWyf0AaXDyNTbdMOEFFI3B8vmXjt+1cPtxlDMojYbE8JEK7gd60HA==} + + '@iconify/json@2.2.399': + resolution: {integrity: sha512-3cPflYiP2aWhfpEReK1I8a5fl5OO7ujXk7kUw3C7CkO6qF8VAx4BHOc/ipseveafL6HYeRic70iAkBk3mF9KpQ==} '@iconify/tailwind4@1.0.6': resolution: {integrity: sha512-43ZXe+bC7CuE2LCgROdqbQeFYJi/J7L/k1UpSy8KDQlWVsWxPzLSWbWhlJx4uRYLOh1NRyw02YlDOgzBOFNd+A==} @@ -1887,65 +1893,65 @@ packages: '@swc/helpers@0.5.17': resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - '@tailwindcss/node@4.1.15': - resolution: {integrity: sha512-HF4+7QxATZWY3Jr8OlZrBSXmwT3Watj0OogeDvdUY/ByXJHQ+LBtqA2brDb3sBxYslIFx6UP94BJ4X6a4L9Bmw==} + '@tailwindcss/node@4.1.16': + resolution: {integrity: sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==} - '@tailwindcss/oxide-android-arm64@4.1.15': - resolution: {integrity: sha512-TkUkUgAw8At4cBjCeVCRMc/guVLKOU1D+sBPrHt5uVcGhlbVKxrCaCW9OKUIBv1oWkjh4GbunD/u/Mf0ql6kEA==} + '@tailwindcss/oxide-android-arm64@4.1.16': + resolution: {integrity: sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.1.15': - resolution: {integrity: sha512-xt5XEJpn2piMSfvd1UFN6jrWXyaKCwikP4Pidcf+yfHTSzSpYhG3dcMktjNkQO3JiLCp+0bG0HoWGvz97K162w==} + '@tailwindcss/oxide-darwin-arm64@4.1.16': + resolution: {integrity: sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.15': - resolution: {integrity: sha512-TnWaxP6Bx2CojZEXAV2M01Yl13nYPpp0EtGpUrY+LMciKfIXiLL2r/SiSRpagE5Fp2gX+rflp/Os1VJDAyqymg==} + '@tailwindcss/oxide-darwin-x64@4.1.16': + resolution: {integrity: sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.1.15': - resolution: {integrity: sha512-quISQDWqiB6Cqhjc3iWptXVZHNVENsWoI77L1qgGEHNIdLDLFnw3/AfY7DidAiiCIkGX/MjIdB3bbBZR/G2aJg==} + '@tailwindcss/oxide-freebsd-x64@4.1.16': + resolution: {integrity: sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.15': - resolution: {integrity: sha512-ObG76+vPlab65xzVUQbExmDU9FIeYLQ5k2LrQdR2Ud6hboR+ZobXpDoKEYXf/uOezOfIYmy2Ta3w0ejkTg9yxg==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.16': + resolution: {integrity: sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.15': - resolution: {integrity: sha512-4WbBacRmk43pkb8/xts3wnOZMDKsPFyEH/oisCm2q3aLZND25ufvJKcDUpAu0cS+CBOL05dYa8D4U5OWECuH/Q==} + '@tailwindcss/oxide-linux-arm64-gnu@4.1.16': + resolution: {integrity: sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-arm64-musl@4.1.15': - resolution: {integrity: sha512-AbvmEiteEj1nf42nE8skdHv73NoR+EwXVSgPY6l39X12Ex8pzOwwfi3Kc8GAmjsnsaDEbk+aj9NyL3UeyHcTLg==} + '@tailwindcss/oxide-linux-arm64-musl@4.1.16': + resolution: {integrity: sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-x64-gnu@4.1.15': - resolution: {integrity: sha512-+rzMVlvVgrXtFiS+ES78yWgKqpThgV19ISKD58Ck+YO5pO5KjyxLt7AWKsWMbY0R9yBDC82w6QVGz837AKQcHg==} + '@tailwindcss/oxide-linux-x64-gnu@4.1.16': + resolution: {integrity: sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-linux-x64-musl@4.1.15': - resolution: {integrity: sha512-fPdEy7a8eQN9qOIK3Em9D3TO1z41JScJn8yxl/76mp4sAXFDfV4YXxsiptJcOwy6bGR+70ZSwFIZhTXzQeqwQg==} + '@tailwindcss/oxide-linux-x64-musl@4.1.16': + resolution: {integrity: sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-wasm32-wasi@4.1.15': - resolution: {integrity: sha512-sJ4yd6iXXdlgIMfIBXuVGp/NvmviEoMVWMOAGxtxhzLPp9LOj5k0pMEMZdjeMCl4C6Up+RM8T3Zgk+BMQ0bGcQ==} + '@tailwindcss/oxide-wasm32-wasi@4.1.16': + resolution: {integrity: sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==} engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: @@ -1956,27 +1962,27 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.1.15': - resolution: {integrity: sha512-sJGE5faXnNQ1iXeqmRin7Ds/ru2fgCiaQZQQz3ZGIDtvbkeV85rAZ0QJFMDg0FrqsffZG96H1U9AQlNBRLsHVg==} + '@tailwindcss/oxide-win32-arm64-msvc@4.1.16': + resolution: {integrity: sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.1.15': - resolution: {integrity: sha512-NLeHE7jUV6HcFKS504bpOohyi01zPXi2PXmjFfkzTph8xRxDdxkRsXm/xDO5uV5K3brrE1cCwbUYmFUSHR3u1w==} + '@tailwindcss/oxide-win32-x64-msvc@4.1.16': + resolution: {integrity: sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.1.15': - resolution: {integrity: sha512-krhX+UOOgnsUuks2SR7hFafXmLQrKxB4YyRTERuCE59JlYL+FawgaAlSkOYmDRJdf1Q+IFNDMl9iRnBW7QBDfQ==} + '@tailwindcss/oxide@4.1.16': + resolution: {integrity: sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==} engines: {node: '>= 10'} - '@tailwindcss/postcss@4.1.15': - resolution: {integrity: sha512-IZh8IT76KujRz6d15wZw4eoeViT4TqmzVWNNfpuNCTKiaZUwgr5vtPqO4HjuYDyx3MgGR5qgPt1HMzTeLJyA3g==} + '@tailwindcss/postcss@4.1.16': + resolution: {integrity: sha512-Qn3SFGPXYQMKR/UtqS+dqvPrzEeBZHrFA92maT4zijCVggdsXnDBMsPFJo1eArX3J+O+Gi+8pV4PkqjLCNBk3A==} - '@tailwindcss/vite@4.1.15': - resolution: {integrity: sha512-B6s60MZRTUil+xKoZoGe6i0Iar5VuW+pmcGlda2FX+guDuQ1G1sjiIy1W0frneVpeL/ZjZ4KEgWZHNrIm++2qA==} + '@tailwindcss/vite@4.1.16': + resolution: {integrity: sha512-bbguNBcDxsRmi9nnlWJxhfDWamY3lmcyACHcdO1crxfzuLpOhHLLtEIN/nCbbAtj5rchUgQD17QVAKi1f7IsKg==} peerDependencies: vite: ^5.2.0 || ^6 || ^7 @@ -2001,74 +2007,74 @@ packages: '@tauri-apps/api@2.9.0': resolution: {integrity: sha512-qD5tMjh7utwBk9/5PrTA/aGr3i5QaJ/Mlt7p8NilQ45WgbifUNPyKWsA63iQ8YfQq6R8ajMapU+/Q8nMcPRLNw==} - '@tauri-apps/cli-darwin-arm64@2.9.0': - resolution: {integrity: sha512-A2Wo2gvtPDymSApnLlKGVuX/b6rvVtdlTh80qta7j0jgc+tK0dyX8+puDufthUR3VPBRsVmV+XWfEJKnaqMLjg==} + '@tauri-apps/cli-darwin-arm64@2.9.1': + resolution: {integrity: sha512-sdwhtsE/6njD0AjgfYEj1JyxZH4SBmCJSXpRm6Ph5fQeuZD6MyjzjdVOrrtFguyREVQ7xn0Ujkwvbo01ULthNg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@tauri-apps/cli-darwin-x64@2.9.0': - resolution: {integrity: sha512-RfFB1BB7cqPuPWwKtROXYkN9F760jwYIHpxXgg5AocEQ0c6XynWPMLnYvy77jEyycbYt6cWeIwhiWQYsRbWESA==} + '@tauri-apps/cli-darwin-x64@2.9.1': + resolution: {integrity: sha512-c86g+67wTdI4TUCD7CaSd/13+oYuLQxVST4ZNJ5C+6i1kdnU3Us1L68N9MvbDLDQGJc9eo0pvuK6sCWkee+BzA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@tauri-apps/cli-linux-arm-gnueabihf@2.9.0': - resolution: {integrity: sha512-n1Gs41458ktY6FMTow/M6AWzy5EYhH1vJ2rdkNAwgX1u086xHCM8PbnowQVgJbRjhrJCUoq7E36EjSy2awHTvA==} + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.1': + resolution: {integrity: sha512-IrB3gFQmueQKJjjisOcMktW/Gh6gxgqYO419doA3YZ7yIV5rbE8ZW52Q3I4AO+SlFEyVYer5kpi066p0JBlLGw==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@tauri-apps/cli-linux-arm64-gnu@2.9.0': - resolution: {integrity: sha512-E2y+egQvm7nZbl6cv2Nt1kYw5H8rJG2IisGj9bzJbd8ygSsWJK4Rdw6KW9Ml9iZL7+GuYGihOtlMcyQ6uykw2g==} + '@tauri-apps/cli-linux-arm64-gnu@2.9.1': + resolution: {integrity: sha512-Ke7TyXvu6HbWSkmVkFbbH19D3cLsd117YtXP/u9NIvSpYwKeFtnbpirrIUfPm44Q+PZFZ2Hvg8X9qoUiAK0zKw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-arm64-musl@2.9.0': - resolution: {integrity: sha512-TH09uepDx3LE7+DSzn9x04ilM0pouguwD6Cjq+A2NdDOu2UkZ3rWux77lMiiuO5fQAGYQAs0BtLjkzcTDoUHTQ==} + '@tauri-apps/cli-linux-arm64-musl@2.9.1': + resolution: {integrity: sha512-sGvy75sv55oeMulR5ArwPD28DsDQxqTzLhXCrpU9/nbFg/JImmI7k994YE9fr3V0qE3Cjk5gjLldRNv7I9sjwQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@tauri-apps/cli-linux-riscv64-gnu@2.9.0': - resolution: {integrity: sha512-s0ENNDStw8tLScc/K5gS4xE8VrDaFbyCCgYHylrBsIqKQT4rYZLHH3WyzWxxLXIOhPzkczw6MPxt0GdUVPH97A==} + '@tauri-apps/cli-linux-riscv64-gnu@2.9.1': + resolution: {integrity: sha512-tEKbJydV3BdIxpAx8aGHW6VDg1xW4LlQuRD/QeFZdZNTreHJpMbJEcdvAcI+Hg6vgQpVpaoEldR9W4F6dYSLqQ==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] - '@tauri-apps/cli-linux-x64-gnu@2.9.0': - resolution: {integrity: sha512-stBAjrxfcrJLdmvF3jQskq/Ks/ar4TRyk45kfpD9/0c/8WWDKKWu+z6+ynGNkDYfm9GpbQOQDAjfX0BPWodZZw==} + '@tauri-apps/cli-linux-x64-gnu@2.9.1': + resolution: {integrity: sha512-mg5msXHagtHpyCVWgI01M26JeSrgE/otWyGdYcuTwyRYZYEJRTbcNt7hscOkdNlPBe7isScW7PVKbxmAjJJl4g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tauri-apps/cli-linux-x64-musl@2.9.0': - resolution: {integrity: sha512-fxR/cG3DVuVFDoBCvAGzbVdNfHAdMfNG32aBR1j6y+0+Ys4ZF+a4SNBbMNGdJ2gQc6/QVciswYMSfSs9hP3GZA==} + '@tauri-apps/cli-linux-x64-musl@2.9.1': + resolution: {integrity: sha512-lFZEXkpDreUe3zKilvnMsrnKP9gwQudaEjDnOz/GMzbzNceIuPfFZz0cR/ky1Aoq4eSvZonPKHhROq4owz4fzg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@tauri-apps/cli-win32-arm64-msvc@2.9.0': - resolution: {integrity: sha512-YIyRvIaYyPRlf1XB0HOLI3q9rkBpb9a8Cl6+PRopTsnXQqlfZIBG5A2KmQO90PkvmyVC6CprGcvK0U28l4MUow==} + '@tauri-apps/cli-win32-arm64-msvc@2.9.1': + resolution: {integrity: sha512-ejc5RAp/Lm1Aj0EQHaT+Wdt5PHfdgQV5hIDV00MV6HNbIb5W4ZUFxMDaRkAg65gl9MvY2fH396riePW3RoKXDw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@tauri-apps/cli-win32-ia32-msvc@2.9.0': - resolution: {integrity: sha512-Z6a6J+KT0DvjoWSz/R0EDRUCr0DDl/sp10sL1OuJLGnsl36lXWF10YuhJua3dQHizzJzkHpWAV/k1EBxjf10fQ==} + '@tauri-apps/cli-win32-ia32-msvc@2.9.1': + resolution: {integrity: sha512-fSATtJDc0fNjVB6ystyi8NbwhNFk8i8E05h6KrsC8Fio5eaJIJvPCbC9pdrPl6kkxN1X7fj25ErBbgfqgcK8Fg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@tauri-apps/cli-win32-x64-msvc@2.9.0': - resolution: {integrity: sha512-Ja2LCRGhEBV/FxRF3ofGGO8ZAVrZt5P0MKkAyJ2wQGRB7xcFoadmnkKwpF0uFOjT/6ygh4f/RV46cjo3pbZxyA==} + '@tauri-apps/cli-win32-x64-msvc@2.9.1': + resolution: {integrity: sha512-/JHlOzpUDhjBOO9w167bcYxfJbcMQv7ykS/Y07xjtcga8np0rzUzVGWYmLMH7orKcDMC7wjhheEW1x8cbGma/Q==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@tauri-apps/cli@2.9.0': - resolution: {integrity: sha512-Rq67+sgiiUot95kjn+6eP8gTRw9YL839gutPx5bAsGtlQ8n9S6qo2VSQkogYsiHlJs14hQpYACn/EIswH6sHzw==} + '@tauri-apps/cli@2.9.1': + resolution: {integrity: sha512-kKi2/WWsNXKoMdatBl4xrT7e1Ce27JvsetBVfWuIb6D3ep/Y0WO5SIr70yarXOSWam8NyDur4ipzjZkg6m7VDg==} engines: {node: '>= 10'} hasBin: true @@ -2534,8 +2540,8 @@ packages: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - ai@5.0.76: - resolution: {integrity: sha512-ZCxi1vrpyCUnDbtYrO/W8GLvyacV9689f00yshTIQ3mFFphbD7eIv40a2AOZBv3GGRA7SSRYIDnr56wcS/gyQg==} + ai@5.0.78: + resolution: {integrity: sha512-ec77fmQwJGLduswMrW4AAUGSOiu8dZaIwMmWHHGKsrMUFFS6ugfkTyx0srtuKYHNRRLRC2dT7cPirnUl98VnxA==} engines: {node: '>=18'} peerDependencies: zod: ^3.22.4 @@ -2624,8 +2630,8 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.8.0: - resolution: {integrity: sha512-AOhh6Bg5QmFIXdViHbMc2tLDsBIRxdkIaIddPslJF9Z5De3APBScuqGP2uThXnIpqFrgoxMNC6km7uXNIMLHXA==} + bare-events@2.8.1: + resolution: {integrity: sha512-oxSAxTS1hRfnyit2CL5QpAOS5ixfBjj6ex3yTNvXyY/kE719jQ/IjuESJBK2w5v4wwQRAHGseVJXx9QBYOtFGQ==} peerDependencies: bare-abort-controller: '*' peerDependenciesMeta: @@ -2635,8 +2641,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.8.19: - resolution: {integrity: sha512-zoKGUdu6vb2jd3YOq0nnhEDQVbPcHhco3UImJrv5dSkvxTc2pl2WjOPsjZXDwPDSl5eghIMuY3R6J9NDKF3KcQ==} + baseline-browser-mapping@2.8.20: + resolution: {integrity: sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==} hasBin: true binary-extensions@2.3.0: @@ -2668,8 +2674,8 @@ packages: brotli@1.3.3: resolution: {integrity: sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==} - browserslist@4.26.3: - resolution: {integrity: sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==} + browserslist@4.27.0: + resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -3041,8 +3047,8 @@ packages: resolution: {integrity: sha512-+CHgPFzuoTQTt7cOYCV6MOw2w8vqEn/ap1yv4bpZOWL03u7rlVRQhUY0WYT3rHsgVTXwYQDZaSUJSQrMBUKuWg==} hasBin: true - drizzle-orm@0.44.6: - resolution: {integrity: sha512-uy6uarrrEOc9K1u5/uhBFJbdF5VJ5xQ/Yzbecw3eAYOunv5FDeYkR2m8iitocdHBOHbvorviKOW5GVw0U1j4LQ==} + drizzle-orm@0.44.7: + resolution: {integrity: sha512-quIpnYznjU9lHshEOAYLoZ9s3jweleHlZIAWR/jX9gAWNg/JhQ1wj0KGRf7/Zm+obRrYd9GjPVJg790QY9N5AQ==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=4' @@ -3142,8 +3148,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.238: - resolution: {integrity: sha512-khBdc+w/Gv+cS8e/Pbnaw/FXcBUeKrRVik9IxfXtgREOWyJhR4tj43n3amkVogJ/yeQUqzkrZcFhtIxIdqmmcQ==} + electron-to-chromium@1.5.240: + resolution: {integrity: sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==} embla-carousel-auto-height@8.6.0: resolution: {integrity: sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ==} @@ -4041,8 +4047,8 @@ packages: resolution: {integrity: sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==} engines: {node: '>=20.19.0'} - magic-string@0.30.19: - resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -4124,8 +4130,8 @@ packages: motion-utils@12.23.6: resolution: {integrity: sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==} - motion-v@1.7.3: - resolution: {integrity: sha512-lwgrge7Y7FF9LxBxZ//MsSLPPjh4z1yYE9ie236Pa89mRCsBlONXbLcseln6G6LyAG8pt3PpzUxWt2grwMcBAA==} + motion-v@1.7.4: + resolution: {integrity: sha512-YNDUAsany04wfI7YtHxQK3kxzNvh+OdFUk9GpA3+hMt7j6P+5WrVAAgr8kmPPoVza9EsJiAVhqoN3YYFN0Twrw==} peerDependencies: '@vueuse/core': '>=10.0.0' vue: '>=3.0.0' @@ -4161,8 +4167,8 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - nitropack@2.12.7: - resolution: {integrity: sha512-HWyzMBj2d8b14J6Cfnxv97ztnuHIgXNcrGiWCruLfb2ZfKsp6OCbZYJm5T9sv/ZKl8LedhatrMKG66HWJux9Rg==} + nitropack@2.12.8: + resolution: {integrity: sha512-k4KT/6CMiX+aAI2LWEdVhvI4PPPWt6NTz70TcxrGUgvMpt8Pv4/iG0KTwBJ58KdwFp59p3Mlp8QyGVmIVP6GvQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -5005,8 +5011,8 @@ packages: tailwind-merge: optional: true - tailwindcss@4.1.15: - resolution: {integrity: sha512-k2WLnWkYFkdpRv+Oby3EBXIyQC8/s1HOFMBUViwtAh6Z5uAozeUSMQlIsn/c6Q2iJzqG6aJT3wdPaRNj70iYxQ==} + tailwindcss@4.1.16: + resolution: {integrity: sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==} tapable@2.3.0: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} @@ -5114,6 +5120,9 @@ packages: unenv@2.0.0-rc.21: resolution: {integrity: sha512-Wj7/AMtE9MRnAXa6Su3Lk0LNCfqDYgfwVjwRFVum9U7wsto1imuHqk4kTm7Jni+5A0Hn7dttL6O/zjvUvoo+8A==} + unenv@2.0.0-rc.22: + resolution: {integrity: sha512-o1sLtqbAT1WEoZxinE+tgIHIgpzt9p1WdTAwxF7wHHSseSJ5WQbZgZgFegMDz5Fwb5rMKd67p4pv5OnJWeo/bA==} + unhead@2.0.19: resolution: {integrity: sha512-gEEjkV11Aj+rBnY6wnRfsFtF2RxKOLaPN4i+Gx3UhBxnszvV6ApSNZbGk7WKyy/lErQ6ekPN63qdFL7sa1leow==} @@ -5277,8 +5286,8 @@ packages: resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} engines: {node: '>=4'} - update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -5366,8 +5375,8 @@ packages: vite: ^6.0.0 || ^7.0.0 vue: ^3.5.0 - vite@7.1.11: - resolution: {integrity: sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==} + vite@7.1.12: + resolution: {integrity: sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -5614,7 +5623,7 @@ packages: snapshots: - '@ai-sdk/gateway@2.0.0(zod@3.25.76)': + '@ai-sdk/gateway@2.0.1(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 '@ai-sdk/provider-utils': 3.0.12(zod@3.25.76) @@ -5632,10 +5641,10 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/vue@2.0.76(vue@3.5.22(typescript@5.9.3))(zod@3.25.76)': + '@ai-sdk/vue@2.0.78(vue@3.5.22(typescript@5.9.3))(zod@3.25.76)': dependencies: '@ai-sdk/provider-utils': 3.0.12(zod@3.25.76) - ai: 5.0.76(zod@3.25.76) + ai: 5.0.78(zod@3.25.76) swrv: 1.1.0(vue@3.5.22(typescript@5.9.3)) optionalDependencies: vue: 3.5.22(typescript@5.9.3) @@ -5659,23 +5668,23 @@ snapshots: '@babel/code-frame@7.27.1': dependencies: - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.4': {} + '@babel/compat-data@7.28.5': {} - '@babel/core@7.28.4': + '@babel/core@7.28.5': dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 + '@babel/generator': 7.28.5 '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3 @@ -5685,144 +5694,144 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.28.3': + '@babel/generator@7.28.5': dependencies: - '@babel/parser': 7.28.4 - '@babel/types': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 '@babel/helper-compilation-targets@7.27.2': dependencies: - '@babel/compat-data': 7.28.4 + '@babel/compat-data': 7.28.5 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.26.3 + browserslist: 4.27.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)': + '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/traverse': 7.28.5 semver: 6.3.1 transitivePeerDependencies: - supports-color '@babel/helper-globals@7.28.0': {} - '@babel/helper-member-expression-to-functions@7.27.1': + '@babel/helper-member-expression-to-functions@7.28.5': dependencies: - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.27.1': dependencies: - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 '@babel/helper-plugin-utils@7.27.1': {} - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)': + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 - '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/core': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.4 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 transitivePeerDependencies: - supports-color '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-identifier@7.28.5': {} '@babel/helper-validator-option@7.27.1': {} '@babel/helpers@7.28.4': dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 - '@babel/parser@7.28.4': + '@babel/parser@7.28.5': dependencies: - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)': + '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)': dependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4) + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) '@babel/helper-plugin-utils': 7.27.1 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) transitivePeerDependencies: - supports-color '@babel/template@7.27.2': dependencies: '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.4 - '@babel/types': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 - '@babel/traverse@7.28.4': + '@babel/traverse@7.28.5': dependencies: '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.3 + '@babel/generator': 7.28.5 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@babel/template': 7.27.2 - '@babel/types': 7.28.4 + '@babel/types': 7.28.5 debug: 4.4.3 transitivePeerDependencies: - supports-color - '@babel/types@7.28.4': + '@babel/types@7.28.5': dependencies: '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 '@capsizecss/metrics@3.5.0': {} @@ -6148,20 +6157,24 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify/collections@1.0.608': + '@iconify-json/lucide@1.2.70': dependencies: '@iconify/types': 2.0.0 - '@iconify/json@2.2.398': + '@iconify/collections@1.0.609': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/json@2.2.399': dependencies: '@iconify/types': 2.0.0 pathe: 2.0.3 - '@iconify/tailwind4@1.0.6(tailwindcss@4.1.15)': + '@iconify/tailwind4@1.0.6(tailwindcss@4.1.16)': dependencies: '@iconify/types': 2.0.0 '@iconify/utils': 2.3.0 - tailwindcss: 4.1.15 + tailwindcss: 4.1.16 transitivePeerDependencies: - supports-color @@ -6273,7 +6286,7 @@ snapshots: '@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 + '@babel/parser': 7.28.5 optionalDependencies: '@intlify/shared': 11.1.12 '@vue/compiler-dom': 3.5.22 @@ -6616,7 +6629,7 @@ snapshots: - utf-8-validate - vite - '@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/fonts@0.11.4(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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.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) @@ -6628,7 +6641,7 @@ snapshots: h3: 1.15.4 jiti: 2.6.1 magic-regexp: 0.10.0 - magic-string: 0.30.19 + magic-string: 0.30.21 node-fetch-native: 1.6.7 ohash: 2.0.11 pathe: 2.0.3 @@ -6637,7 +6650,7 @@ snapshots: ufo: 1.6.1 unifont: 0.4.1 unplugin: 2.3.10 - 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) + unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -6664,7 +6677,7 @@ snapshots: '@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.608 + '@iconify/collections': 1.0.609 '@iconify/types': 2.0.0 '@iconify/utils': 3.0.2 '@iconify/vue': 5.0.0(vue@3.5.22(typescript@5.9.3)) @@ -6766,20 +6779,20 @@ snapshots: transitivePeerDependencies: - magicast - '@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)': + '@nuxt/ui@4.0.0(@babel/parser@7.28.5)(change-case@5.4.4)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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.76(vue@3.5.22(typescript@5.9.3))(zod@3.25.76) + '@ai-sdk/vue': 2.0.78(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.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/fonts': 0.11.4(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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.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)) + '@tailwindcss/postcss': 4.1.16 + '@tailwindcss/vite': 4.1.16(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)) @@ -6797,21 +6810,21 @@ snapshots: fuse.js: 7.1.0 hookable: 5.5.3 knitwork: 1.2.0 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 - 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)) + motion-v: 1.7.4(@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.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.15) - tailwindcss: 4.1.15 + tailwind-variants: 3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.16) + tailwindcss: 4.1.16 tinyglobby: 0.2.15 typescript: 5.9.3 unplugin: 2.3.10 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)) + unplugin-vue-components: 29.2.0(@babel/parser@7.28.5)(@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: @@ -6863,8 +6876,8 @@ snapshots: dependencies: '@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)) + '@vitejs/plugin-vue': 6.0.1(vite@7.1.12(@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.12(@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) @@ -6876,7 +6889,7 @@ snapshots: h3: 1.15.4 jiti: 2.6.1 knitwork: 1.2.0 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 mocked-exports: 0.1.1 pathe: 2.0.3 @@ -6885,10 +6898,10 @@ snapshots: 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.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) + unenv: 2.0.0-rc.22 + vite: 7.1.12(@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)) + 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.12(@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: @@ -6925,7 +6938,7 @@ snapshots: transitivePeerDependencies: - magicast - '@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))': + '@nuxtjs/i18n@10.0.6(@vue/compiler-dom@3.5.22)(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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 @@ -6941,7 +6954,7 @@ snapshots: devalue: 5.4.2 h3: 1.15.4 knitwork: 1.2.0 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 nuxt-define: 1.0.0 oxc-parser: 0.81.0 @@ -6952,7 +6965,7 @@ snapshots: ufo: 1.6.1 unplugin: 2.3.10 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) + unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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: @@ -7328,7 +7341,7 @@ snapshots: estree-walker: 2.0.2 fdir: 6.5.0(picomatch@4.0.3) is-reference: 1.2.1 - magic-string: 0.30.19 + magic-string: 0.30.21 picomatch: 4.0.3 optionalDependencies: rollup: 4.52.5 @@ -7337,7 +7350,7 @@ snapshots: dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.52.5) estree-walker: 2.0.2 - magic-string: 0.30.19 + magic-string: 0.30.21 optionalDependencies: rollup: 4.52.5 @@ -7360,7 +7373,7 @@ snapshots: '@rollup/plugin-replace@6.0.2(rollup@4.52.5)': dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.52.5) - magic-string: 0.30.19 + magic-string: 0.30.21 optionalDependencies: rollup: 4.52.5 @@ -7478,80 +7491,80 @@ snapshots: dependencies: tslib: 2.8.1 - '@tailwindcss/node@4.1.15': + '@tailwindcss/node@4.1.16': dependencies: '@jridgewell/remapping': 2.3.5 enhanced-resolve: 5.18.3 jiti: 2.6.1 lightningcss: 1.30.2 - magic-string: 0.30.19 + magic-string: 0.30.21 source-map-js: 1.2.1 - tailwindcss: 4.1.15 + tailwindcss: 4.1.16 - '@tailwindcss/oxide-android-arm64@4.1.15': + '@tailwindcss/oxide-android-arm64@4.1.16': optional: true - '@tailwindcss/oxide-darwin-arm64@4.1.15': + '@tailwindcss/oxide-darwin-arm64@4.1.16': optional: true - '@tailwindcss/oxide-darwin-x64@4.1.15': + '@tailwindcss/oxide-darwin-x64@4.1.16': optional: true - '@tailwindcss/oxide-freebsd-x64@4.1.15': + '@tailwindcss/oxide-freebsd-x64@4.1.16': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.15': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.16': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.1.15': + '@tailwindcss/oxide-linux-arm64-gnu@4.1.16': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.1.15': + '@tailwindcss/oxide-linux-arm64-musl@4.1.16': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.1.15': + '@tailwindcss/oxide-linux-x64-gnu@4.1.16': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.1.15': + '@tailwindcss/oxide-linux-x64-musl@4.1.16': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.1.15': + '@tailwindcss/oxide-wasm32-wasi@4.1.16': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.1.15': + '@tailwindcss/oxide-win32-arm64-msvc@4.1.16': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.1.15': + '@tailwindcss/oxide-win32-x64-msvc@4.1.16': optional: true - '@tailwindcss/oxide@4.1.15': + '@tailwindcss/oxide@4.1.16': optionalDependencies: - '@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/oxide-android-arm64': 4.1.16 + '@tailwindcss/oxide-darwin-arm64': 4.1.16 + '@tailwindcss/oxide-darwin-x64': 4.1.16 + '@tailwindcss/oxide-freebsd-x64': 4.1.16 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.16 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.16 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.16 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.16 + '@tailwindcss/oxide-linux-x64-musl': 4.1.16 + '@tailwindcss/oxide-wasm32-wasi': 4.1.16 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.16 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.16 - '@tailwindcss/postcss@4.1.15': + '@tailwindcss/postcss@4.1.16': dependencies: '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.1.15 - '@tailwindcss/oxide': 4.1.15 + '@tailwindcss/node': 4.1.16 + '@tailwindcss/oxide': 4.1.16 postcss: 8.5.6 - tailwindcss: 4.1.15 + tailwindcss: 4.1.16 - '@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))': + '@tailwindcss/vite@4.1.16(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.15 - '@tailwindcss/oxide': 4.1.15 - tailwindcss: 4.1.15 + '@tailwindcss/node': 4.1.16 + '@tailwindcss/oxide': 4.1.16 + tailwindcss: 4.1.16 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': {} @@ -7570,52 +7583,52 @@ snapshots: '@tauri-apps/api@2.9.0': {} - '@tauri-apps/cli-darwin-arm64@2.9.0': + '@tauri-apps/cli-darwin-arm64@2.9.1': optional: true - '@tauri-apps/cli-darwin-x64@2.9.0': + '@tauri-apps/cli-darwin-x64@2.9.1': optional: true - '@tauri-apps/cli-linux-arm-gnueabihf@2.9.0': + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.1': optional: true - '@tauri-apps/cli-linux-arm64-gnu@2.9.0': + '@tauri-apps/cli-linux-arm64-gnu@2.9.1': optional: true - '@tauri-apps/cli-linux-arm64-musl@2.9.0': + '@tauri-apps/cli-linux-arm64-musl@2.9.1': optional: true - '@tauri-apps/cli-linux-riscv64-gnu@2.9.0': + '@tauri-apps/cli-linux-riscv64-gnu@2.9.1': optional: true - '@tauri-apps/cli-linux-x64-gnu@2.9.0': + '@tauri-apps/cli-linux-x64-gnu@2.9.1': optional: true - '@tauri-apps/cli-linux-x64-musl@2.9.0': + '@tauri-apps/cli-linux-x64-musl@2.9.1': optional: true - '@tauri-apps/cli-win32-arm64-msvc@2.9.0': + '@tauri-apps/cli-win32-arm64-msvc@2.9.1': optional: true - '@tauri-apps/cli-win32-ia32-msvc@2.9.0': + '@tauri-apps/cli-win32-ia32-msvc@2.9.1': optional: true - '@tauri-apps/cli-win32-x64-msvc@2.9.0': + '@tauri-apps/cli-win32-x64-msvc@2.9.1': optional: true - '@tauri-apps/cli@2.9.0': + '@tauri-apps/cli@2.9.1': optionalDependencies: - '@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/cli-darwin-arm64': 2.9.1 + '@tauri-apps/cli-darwin-x64': 2.9.1 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.9.1 + '@tauri-apps/cli-linux-arm64-gnu': 2.9.1 + '@tauri-apps/cli-linux-arm64-musl': 2.9.1 + '@tauri-apps/cli-linux-riscv64-gnu': 2.9.1 + '@tauri-apps/cli-linux-x64-gnu': 2.9.1 + '@tauri-apps/cli-linux-x64-musl': 2.9.1 + '@tauri-apps/cli-win32-arm64-msvc': 2.9.1 + '@tauri-apps/cli-win32-ia32-msvc': 2.9.1 + '@tauri-apps/cli-win32-x64-msvc': 2.9.1 '@tauri-apps/plugin-dialog@2.4.0': dependencies: @@ -7855,22 +7868,22 @@ snapshots: '@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))': + '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.12(@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) + '@babel/core': 7.28.5 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) + '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) '@rolldown/pluginutils': 1.0.0-beta.44 - '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.4) - 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/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) + vite: 7.1.12(@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.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.12(@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.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: 7.1.12(@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.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))': @@ -7913,36 +7926,36 @@ snapshots: '@vue/babel-helper-vue-transform-on@1.5.0': {} - '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.28.4)': + '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.28.5)': dependencies: '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) '@babel/template': 7.27.2 - '@babel/traverse': 7.28.4 - '@babel/types': 7.28.4 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 '@vue/babel-helper-vue-transform-on': 1.5.0 - '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.4) + '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.5) '@vue/shared': 3.5.22 optionalDependencies: - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 transitivePeerDependencies: - supports-color - '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.28.4)': + '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.28.5)': dependencies: '@babel/code-frame': 7.27.1 - '@babel/core': 7.28.4 + '@babel/core': 7.28.5 '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.27.1 - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@vue/compiler-sfc': 3.5.22 transitivePeerDependencies: - supports-color '@vue/compiler-core@3.5.22': dependencies: - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@vue/shared': 3.5.22 entities: 4.5.0 estree-walker: 2.0.2 @@ -7955,13 +7968,13 @@ snapshots: '@vue/compiler-sfc@3.5.22': dependencies: - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@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 + magic-string: 0.30.21 postcss: 8.5.6 source-map-js: 1.2.1 @@ -8111,13 +8124,13 @@ snapshots: '@vueuse/metadata@13.9.0': {} - '@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))': + '@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.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.7(@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.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.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: 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.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.7(@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 @@ -8157,9 +8170,9 @@ snapshots: agent-base@7.1.4: {} - ai@5.0.76(zod@3.25.76): + ai@5.0.78(zod@3.25.76): dependencies: - '@ai-sdk/gateway': 2.0.0(zod@3.25.76) + '@ai-sdk/gateway': 2.0.1(zod@3.25.76) '@ai-sdk/provider': 2.0.0 '@ai-sdk/provider-utils': 3.0.12(zod@3.25.76) '@opentelemetry/api': 1.9.0 @@ -8226,12 +8239,12 @@ snapshots: ast-kit@2.1.3: dependencies: - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 pathe: 2.0.3 ast-walker-scope@0.8.3: dependencies: - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 ast-kit: 2.1.3 async-sema@3.1.1: {} @@ -8240,7 +8253,7 @@ snapshots: autoprefixer@10.4.21(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 caniuse-lite: 1.0.30001751 fraction.js: 4.3.7 normalize-range: 0.1.2 @@ -8252,11 +8265,11 @@ snapshots: balanced-match@1.0.2: {} - bare-events@2.8.0: {} + bare-events@2.8.1: {} base64-js@1.5.1: {} - baseline-browser-mapping@2.8.19: {} + baseline-browser-mapping@2.8.20: {} binary-extensions@2.3.0: {} @@ -8287,13 +8300,13 @@ snapshots: dependencies: base64-js: 1.5.1 - browserslist@4.26.3: + browserslist@4.27.0: dependencies: - baseline-browser-mapping: 2.8.19 + baseline-browser-mapping: 2.8.20 caniuse-lite: 1.0.30001751 - electron-to-chromium: 1.5.238 + electron-to-chromium: 1.5.240 node-releases: 2.0.26 - update-browserslist-db: 1.1.3(browserslist@4.26.3) + update-browserslist-db: 1.1.4(browserslist@4.27.0) buffer-crc32@1.0.0: {} @@ -8338,7 +8351,7 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 caniuse-lite: 1.0.30001751 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 @@ -8453,7 +8466,7 @@ snapshots: core-js-compat@3.46.0: dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 core-util-is@1.0.3: {} @@ -8510,7 +8523,7 @@ snapshots: cssnano-preset-default@7.0.9(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 css-declaration-sorter: 7.3.0(postcss@8.5.6) cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 @@ -8560,10 +8573,10 @@ snapshots: data-uri-to-buffer@4.0.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)): + db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)): optionalDependencies: '@libsql/client': 0.15.15 - drizzle-orm: 0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0) + drizzle-orm: 0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0) de-indent@1.0.2: {} @@ -8641,7 +8654,7 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0): + drizzle-orm@0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0): optionalDependencies: '@libsql/client': 0.15.15 '@opentelemetry/api': 1.9.0 @@ -8652,7 +8665,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.238: {} + electron-to-chromium@1.5.240: {} embla-carousel-auto-height@8.6.0(embla-carousel@8.6.0): dependencies: @@ -8863,7 +8876,7 @@ snapshots: eslint-plugin-unicorn@60.0.0(eslint@9.38.0(jiti@2.6.1)): dependencies: - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 '@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 @@ -8996,7 +9009,7 @@ snapshots: events-universal@1.0.1: dependencies: - bare-events: 2.8.0 + bare-events: 2.8.1 transitivePeerDependencies: - bare-abort-controller @@ -9104,7 +9117,7 @@ snapshots: '@capsizecss/unpack': 2.4.0 css-tree: 3.1.0 magic-regexp: 0.10.0 - magic-string: 0.30.19 + magic-string: 0.30.21 pathe: 2.0.3 ufo: 1.6.1 unplugin: 2.3.10 @@ -9599,7 +9612,7 @@ snapshots: magic-regexp@0.10.0: dependencies: estree-walker: 3.0.3 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 regexp-tree: 0.1.27 type-level-regexp: 0.1.17 @@ -9608,16 +9621,16 @@ snapshots: magic-string-ast@1.0.3: dependencies: - magic-string: 0.30.19 + magic-string: 0.30.21 - magic-string@0.30.19: + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 magicast@0.3.5: dependencies: - '@babel/parser': 7.28.4 - '@babel/types': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 source-map-js: 1.2.1 mdn-data@2.0.28: {} @@ -9684,7 +9697,7 @@ snapshots: motion-utils@12.23.6: {} - 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)): + motion-v@1.7.4(@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.22(typescript@5.9.3)) framer-motion: 12.23.12 @@ -9712,7 +9725,7 @@ snapshots: natural-compare@1.4.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)): + nitropack@2.12.8(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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.52.5) @@ -9733,7 +9746,7 @@ snapshots: cookie-es: 2.0.0 croner: 9.1.0 crossws: 0.3.5 - db0: 0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) + db0: 0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) defu: 6.1.4 destr: 2.0.5 dot-prop: 10.1.0 @@ -9751,7 +9764,7 @@ snapshots: klona: 2.0.6 knitwork: 1.2.0 listhen: 1.9.0 - magic-string: 0.30.19 + magic-string: 0.30.21 magicast: 0.3.5 mime: 4.1.0 mlly: 1.8.0 @@ -9779,7 +9792,7 @@ snapshots: 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) + unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@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.11 @@ -9869,7 +9882,7 @@ snapshots: transitivePeerDependencies: - magicast - 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): + 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.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(drizzle-orm@0.44.7(@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.29.3(magicast@0.3.5) '@nuxt/devalue': 2.0.2 @@ -9900,11 +9913,11 @@ snapshots: jiti: 2.6.1 klona: 2.0.6 knitwork: 1.2.0 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 mocked-exports: 0.1.1 nanotar: 0.2.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)) + nitropack: 2.12.8(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) nypm: 0.6.2 ofetch: 1.4.1 ohash: 2.0.11 @@ -9928,7 +9941,7 @@ snapshots: unimport: 5.5.0 unplugin: 2.3.10 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) + unstorage: 1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2) untyped: 2.0.0 vue: 3.5.22(typescript@5.9.3) vue-bundle-renderer: 2.2.0 @@ -10255,7 +10268,7 @@ snapshots: postcss-colormin@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.5.6 @@ -10263,7 +10276,7 @@ snapshots: postcss-convert-values@7.0.7(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -10292,7 +10305,7 @@ snapshots: postcss-merge-rules@7.0.6(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 caniuse-api: 3.0.0 cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 @@ -10312,7 +10325,7 @@ snapshots: postcss-minify-params@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -10354,7 +10367,7 @@ snapshots: postcss-normalize-unicode@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 postcss: 8.5.6 postcss-value-parser: 4.2.0 @@ -10376,7 +10389,7 @@ snapshots: postcss-reduce-initial@7.0.4(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 caniuse-api: 3.0.0 postcss: 8.5.6 @@ -10755,7 +10768,7 @@ snapshots: stylehacks@7.0.6(postcss@8.5.6): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 postcss: 8.5.6 postcss-selector-parser: 7.1.0 @@ -10793,13 +10806,13 @@ snapshots: tailwind-merge@3.3.1: {} - tailwind-variants@3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.15): + tailwind-variants@3.1.1(tailwind-merge@3.3.1)(tailwindcss@4.1.16): dependencies: - tailwindcss: 4.1.15 + tailwindcss: 4.1.16 optionalDependencies: tailwind-merge: 3.3.1 - tailwindcss@4.1.15: {} + tailwindcss@4.1.16: {} tapable@2.3.0: {} @@ -10893,7 +10906,7 @@ snapshots: dependencies: acorn: 8.15.0 estree-walker: 3.0.3 - magic-string: 0.30.19 + magic-string: 0.30.21 unplugin: 2.3.10 undici-types@7.16.0: {} @@ -10908,6 +10921,14 @@ snapshots: pathe: 2.0.3 ufo: 1.6.1 + unenv@2.0.0-rc.22: + dependencies: + defu: 6.1.4 + exsolve: 1.0.7 + ohash: 2.0.11 + pathe: 2.0.3 + ufo: 1.6.1 + unhead@2.0.19: dependencies: hookable: 5.5.3 @@ -10937,7 +10958,7 @@ snapshots: escape-string-regexp: 5.0.0 estree-walker: 3.0.3 local-pkg: 1.1.2 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 pathe: 2.0.3 picomatch: 4.0.3 @@ -10951,7 +10972,7 @@ snapshots: 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 + magic-string: 0.30.21 picomatch: 4.0.3 unimport: 5.5.0 unplugin: 2.3.10 @@ -10970,19 +10991,19 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.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)): + unplugin-vue-components@29.2.0(@babel/parser@7.28.5)(@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 local-pkg: 1.1.2 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 tinyglobby: 0.2.15 unplugin: 2.3.10 unplugin-utils: 0.3.1 vue: 3.5.22(typescript@5.9.3) optionalDependencies: - '@babel/parser': 7.28.4 + '@babel/parser': 7.28.5 '@nuxt/kit': 4.1.3(magicast@0.3.5) transitivePeerDependencies: - supports-color @@ -10996,7 +11017,7 @@ snapshots: fast-glob: 3.3.3 json5: 2.2.3 local-pkg: 1.1.2 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 pathe: 2.0.3 picomatch: 4.0.3 @@ -11018,7 +11039,7 @@ snapshots: chokidar: 4.0.3 json5: 2.2.3 local-pkg: 1.1.2 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 muggle-string: 0.4.1 pathe: 2.0.3 @@ -11070,7 +11091,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.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): + unstorage@1.17.1(db0@0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)))(ioredis@5.8.2): dependencies: anymatch: 3.1.3 chokidar: 4.0.3 @@ -11081,7 +11102,7 @@ snapshots: ofetch: 1.4.1 ufo: 1.6.1 optionalDependencies: - db0: 0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.6(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) + db0: 0.3.4(@libsql/client@0.15.15)(drizzle-orm@0.44.7(@libsql/client@0.15.15)(@opentelemetry/api@1.9.0)) ioredis: 5.8.2 untun@0.1.3: @@ -11101,7 +11122,7 @@ snapshots: unwasm@0.3.11: dependencies: knitwork: 1.2.0 - magic-string: 0.30.19 + magic-string: 0.30.21 mlly: 1.8.0 pathe: 2.0.3 pkg-types: 2.3.0 @@ -11109,9 +11130,9 @@ snapshots: upath@2.0.1: {} - update-browserslist-db@1.1.3(browserslist@4.26.3): + update-browserslist-db@1.1.4(browserslist@4.27.0): dependencies: - browserslist: 4.26.3 + browserslist: 4.27.0 escalade: 3.2.0 picocolors: 1.1.1 @@ -11147,7 +11168,7 @@ snapshots: debug: 4.4.3 es-module-lexer: 1.7.0 pathe: 2.0.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) + vite: 7.1.12(@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 @@ -11162,7 +11183,7 @@ snapshots: - tsx - yaml - 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)): + 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.12(@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 @@ -11171,7 +11192,7 @@ snapshots: picomatch: 4.0.3 tiny-invariant: 1.3.3 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) + vite: 7.1.12(@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.38.0(jiti@2.6.1) @@ -11200,13 +11221,13 @@ snapshots: dependencies: estree-walker: 3.0.3 exsolve: 1.0.7 - magic-string: 0.30.19 + magic-string: 0.30.21 pathe: 2.0.3 source-map-js: 1.2.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) - 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@7.1.12(@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.11 fdir: 6.5.0(picomatch@4.0.3) 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 a3d1568..4227ac3 100644 Binary files a/src-tauri/gen/android/app/src/main/assets/database/vault.db and b/src-tauri/gen/android/app/src/main/assets/database/vault.db differ diff --git a/src-tauri/src/extension/core/manager.rs b/src-tauri/src/extension/core/manager.rs index 8a43722..538a900 100644 --- a/src-tauri/src/extension/core/manager.rs +++ b/src-tauri/src/extension/core/manager.rs @@ -437,6 +437,17 @@ impl ExtensionManager { &extracted.manifest.version, )?; + // If extension version already exists, remove it completely before installing + if extensions_dir.exists() { + eprintln!( + "Extension version already exists at {}, removing old version", + extensions_dir.display() + ); + std::fs::remove_dir_all(&extensions_dir).map_err(|e| { + ExtensionError::filesystem_with_path(extensions_dir.display().to_string(), e) + })?; + } + std::fs::create_dir_all(&extensions_dir).map_err(|e| { ExtensionError::filesystem_with_path(extensions_dir.display().to_string(), e) })?; diff --git a/src/components/haex/desktop/index.vue b/src/components/haex/desktop/index.vue index 393ccd6..9b36bbc 100644 --- a/src/components/haex/desktop/index.vue +++ b/src/components/haex/desktop/index.vue @@ -10,7 +10,6 @@ :initial-slide="currentWorkspaceIndex" :speed="300" :touch-angle="45" - :threshold="10" :no-swiping="true" no-swiping-class="no-swipe" :allow-touch-move="allowSwipe" @@ -79,37 +78,95 @@ + + + @@ -252,17 +265,12 @@ import type { Swiper as SwiperType } from 'swiper' import 'swiper/css' import 'swiper/css/navigation' -import { eq } from 'drizzle-orm' -import { haexDesktopItems } from '~~/src-tauri/database/schemas' - const SwiperNavigation = Navigation const desktopStore = useDesktopStore() const extensionsStore = useExtensionsStore() const windowManager = useWindowManagerStore() const workspaceStore = useWorkspaceStore() - -const { currentVault } = storeToRefs(useVaultStore()) const { desktopItems } = storeToRefs(desktopStore) const { availableExtensions } = storeToRefs(extensionsStore) const { @@ -315,7 +323,6 @@ const currentDraggedReferenceId = ref() // Window drag state for snap zones const isWindowDragging = ref(false) -const currentDraggingWindowId = ref(null) const snapEdgeThreshold = 50 // pixels from edge to show snap zone // Computed visibility for snap zones (uses mouseX from above) @@ -329,27 +336,6 @@ const showRightSnapZone = computed(() => { return mouseX.value >= viewportWidth - snapEdgeThreshold }) -// Dropzone refs -/* const removeDropzoneEl = ref() -const uninstallDropzoneEl = ref() */ - -// Setup dropzones with VueUse -/* const { isOverDropZone: isOverRemoveZone } = useDropZone(removeDropzoneEl, { - onDrop: () => { - if (currentDraggedItemId.value) { - handleRemoveFromDesktop(currentDraggedItemId.value) - } - }, -}) */ - -/* const { isOverDropZone: isOverUninstallZone } = useDropZone(uninstallDropzoneEl, { - onDrop: () => { - if (currentDraggedItemType.value && currentDraggedReferenceId.value) { - handleUninstall(currentDraggedItemType.value, currentDraggedReferenceId.value) - } - }, -}) */ - // Get icons for a specific workspace const getWorkspaceIcons = (workspaceId: string) => { return desktopItems.value @@ -393,11 +379,9 @@ const getWorkspaceIcons = (workspaceId: string) => { }) } -// Get windows for a specific workspace +// Get windows for a specific workspace (including minimized for teleport) const getWorkspaceWindows = (workspaceId: string) => { - return windowManager.windows.filter( - (w) => w.workspaceId === workspaceId && !w.isMinimized, - ) + return windowManager.windows.filter((w) => w.workspaceId === workspaceId) } // Get Vue Component for system window @@ -431,29 +415,6 @@ const handleDragEnd = async () => { allowSwipe.value = true // Re-enable Swiper after drag } -// Move desktop item to different workspace -const moveItemToWorkspace = async ( - itemId: string, - targetWorkspaceId: string, -) => { - const item = desktopItems.value.find((i) => i.id === itemId) - if (!item) return - - try { - if (!currentVault.value?.drizzle) return - - await currentVault.value.drizzle - .update(haexDesktopItems) - .set({ workspaceId: targetWorkspaceId }) - .where(eq(haexDesktopItems.id, itemId)) - - // Update local state - item.workspaceId = targetWorkspaceId - } catch (error) { - console.error('Fehler beim Verschieben des Items:', error) - } -} - const handleDesktopClick = () => { // Only clear selection if it was a simple click, not an area selection // Check if we just finished an area selection (box size > threshold) @@ -470,30 +431,23 @@ const handleDesktopClick = () => { } const handleWindowDragStart = (windowId: string) => { + console.log('[Desktop] handleWindowDragStart:', windowId) isWindowDragging.value = true - currentDraggingWindowId.value = windowId + windowManager.draggingWindowId = windowId // Set in store for workspace cards + console.log( + '[Desktop] draggingWindowId set to:', + windowManager.draggingWindowId, + ) allowSwipe.value = false // Disable Swiper during window drag } const handleWindowDragEnd = async () => { - // Window handles snapping itself, we just need to cleanup state + console.log('[Desktop] handleWindowDragEnd') isWindowDragging.value = false - currentDraggingWindowId.value = null + windowManager.draggingWindowId = null // Clear from store allowSwipe.value = true // Re-enable Swiper after drag } -// Move window to different workspace -const moveWindowToWorkspace = async ( - windowId: string, - targetWorkspaceId: string, -) => { - const window = windowManager.windows.find((w) => w.id === windowId) - if (!window) return - - // Update window's workspaceId - window.workspaceId = targetWorkspaceId -} - // Area selection handlers const handleAreaSelectStart = (e: MouseEvent) => { if (!desktopEl.value) return @@ -579,13 +533,7 @@ const handleAddWorkspace = async () => { }) } -const handleSwitchToWorkspace = (index: number) => { - if (swiperInstance.value) { - swiperInstance.value.slideTo(index) - } -} - -const handleRemoveWorkspace = async () => { +/* const handleRemoveWorkspace = async () => { if (!currentWorkspace.value || workspaces.value.length <= 1) return const currentIndex = currentWorkspaceIndex.value @@ -600,13 +548,6 @@ const handleRemoveWorkspace = async () => { }) } -// Drawer handlers -const handleSwitchToWorkspaceFromDrawer = (index: number) => { - handleSwitchToWorkspace(index) - // Close drawer after switch - isOverviewMode.value = false -} - const handleDropWindowOnWorkspace = async ( event: DragEvent, targetWorkspaceId: string, @@ -616,116 +557,58 @@ const handleDropWindowOnWorkspace = async ( if (windowId) { await moveWindowToWorkspace(windowId, targetWorkspaceId) } -} +} */ // Overview Mode: Calculate grid positions and scale for windows -const getOverviewWindowGridStyle = (index: number, totalWindows: number) => { - if (!viewportWidth.value || !viewportHeight.value) { - return {} - } +// Calculate preview dimensions for window overview +const MIN_PREVIEW_WIDTH = 300 // 50% increase from 200 +const MAX_PREVIEW_WIDTH = 600 // 50% increase from 400 +const MIN_PREVIEW_HEIGHT = 225 // 50% increase from 150 +const MAX_PREVIEW_HEIGHT = 450 // 50% increase from 300 - // Determine grid layout based on number of windows - let cols = 1 - let rows = 1 +// Store window state for overview (position only, size stays original) +const overviewWindowState = reactive< + Record< + string, + { x: number; y: number; width: number; height: number; scale: number } + > +>({}) - if (totalWindows === 1) { - cols = 1 - rows = 1 - } else if (totalWindows === 2) { - cols = 2 - rows = 1 - } else if (totalWindows <= 4) { - cols = 2 - rows = 2 - } else if (totalWindows <= 6) { - cols = 3 - rows = 2 - } else if (totalWindows <= 9) { - cols = 3 - rows = 3 - } else { - cols = 4 - rows = Math.ceil(totalWindows / 4) - } +// Calculate scale and card dimensions for each window +watch( + () => windowManager.showWindowOverview, + (isOpen) => { + if (isOpen) { + // Calculate scale for each window + windowManager.windows.forEach((window) => { + const scaleX = MAX_PREVIEW_WIDTH / window.width + const scaleY = MAX_PREVIEW_HEIGHT / window.height + const scale = Math.min(scaleX, scaleY, 1) // Never scale up, only down - // Calculate grid cell position - const col = index % cols - const row = Math.floor(index / cols) + // Ensure minimum card size + const scaledWidth = window.width * scale + const scaledHeight = window.height * scale - // Padding and gap - const padding = 40 // px from viewport edges - const gap = 30 // px between windows + let finalScale = scale + if (scaledWidth < MIN_PREVIEW_WIDTH) { + finalScale = MIN_PREVIEW_WIDTH / window.width + } + if (scaledHeight < MIN_PREVIEW_HEIGHT) { + finalScale = Math.max(finalScale, MIN_PREVIEW_HEIGHT / window.height) + } - // Available space - const availableWidth = viewportWidth.value - padding * 2 - gap * (cols - 1) - const availableHeight = viewportHeight.value - padding * 2 - gap * (rows - 1) - - // Cell dimensions - const cellWidth = availableWidth / cols - const cellHeight = availableHeight / rows - - // Window aspect ratio (assume 16:9 or use actual window dimensions) - const windowAspectRatio = 16 / 9 - - // Calculate scale to fit window in cell - const targetWidth = cellWidth - const targetHeight = cellHeight - const targetAspect = targetWidth / targetHeight - - let scale = 0.25 // Default scale - let scaledWidth = 800 * scale - let scaledHeight = 600 * scale - - if (targetAspect > windowAspectRatio) { - // Cell is wider than window aspect ratio - fit by height - scaledHeight = Math.min(targetHeight, 600 * 0.4) - scale = scaledHeight / 600 - scaledWidth = 800 * scale - } else { - // Cell is taller than window aspect ratio - fit by width - scaledWidth = Math.min(targetWidth, 800 * 0.4) - scale = scaledWidth / 800 - scaledHeight = 600 * scale - } - - // Calculate position to center window in cell - const cellX = padding + col * (cellWidth + gap) - const cellY = padding + row * (cellHeight + gap) - - // Center window in cell - const x = cellX + (cellWidth - scaledWidth) / 2 - const y = cellY + (cellHeight - scaledHeight) / 2 - - return { - transform: `scale(${scale})`, - transformOrigin: 'top left', - left: `${x / scale}px`, - top: `${y / scale}px`, - width: '800px', - height: '600px', - zIndex: 91, - transition: 'all 0.3s ease', - } -} - -// Overview Mode handlers -const handleOverviewWindowClick = (windowId: string) => { - // Activate the window - windowManager.activateWindow(windowId) - // Close overview mode - isOverviewMode.value = false -} - -const handleOverviewWindowDragStart = (event: DragEvent, windowId: string) => { - if (event.dataTransfer) { - event.dataTransfer.effectAllowed = 'move' - event.dataTransfer.setData('windowId', windowId) - } -} - -const handleOverviewWindowDragEnd = () => { - // Cleanup after drag -} + overviewWindowState[window.id] = { + x: 0, + y: 0, + width: window.width, // Keep original width + height: window.height, // Keep original height + scale: finalScale, // Store the scale factor + } + }) + } + }, + { immediate: true }, +) // Disable Swiper in overview mode watch(isOverviewMode, (newValue) => { diff --git a/src/components/haex/desktop/window.vue b/src/components/haex/desktop/window.vue deleted file mode 100644 index e96fc44..0000000 --- a/src/components/haex/desktop/window.vue +++ /dev/null @@ -1,480 +0,0 @@ - - - diff --git a/src/components/haex/vault/open.vue b/src/components/haex/vault/open.vue index 22c47a4..0b02577 100644 --- a/src/components/haex/vault/open.vue +++ b/src/components/haex/vault/open.vue @@ -155,8 +155,15 @@ const onOpenDatabase = async () => { ) } catch (error) { open.value = false - console.error('handleError', error, typeof error) - add({ color: 'error', description: `${error}` }) + if (error?.details?.reason === 'file is not a database') { + add({ + color: 'error', + title: t('error.password.title'), + description: t('error.password.description'), + }) + } else { + add({ color: 'error', description: JSON.stringify(error) }) + } } } @@ -170,7 +177,9 @@ de: open: Vault öffnen description: Öffne eine vorhandene Vault error: - open: Vault konnte nicht geöffnet werden. \n Vermutlich ist das Passwort falsch + password: + title: Vault konnte nicht geöffnet werden + description: Bitte üperprüfe das Passwort en: open: Unlock @@ -180,5 +189,7 @@ en: vault: open: Open Vault error: - open: Vault couldn't be opened. \n The password is probably wrong + password: + title: Vault couldn't be opened + description: Please check your password diff --git a/src/components/haex/window/index.vue b/src/components/haex/window/index.vue index 9fc00b1..f9cd959 100644 --- a/src/components/haex/window/index.vue +++ b/src/components/haex/window/index.vue @@ -7,7 +7,7 @@ 'border border-gray-200 dark:border-gray-700 transition-all ease-out duration-600 ', 'flex flex-col @container', { 'select-none': isResizingOrDragging }, - isActive ? 'z-50' : 'z-10', + isActive ? 'z-100' : 'z-50', ]" @mousedown="handleActivate" > @@ -95,10 +95,6 @@ const props = defineProps<{ id: string title: string icon?: string | null - initialX?: number - initialY?: number - initialWidth?: number - initialHeight?: number isActive?: boolean sourceX?: number sourceY?: number @@ -118,6 +114,12 @@ const emit = defineEmits<{ dragEnd: [] }>() +// Use defineModel for x, y, width, height +const x = defineModel('x', { default: 100 }) +const y = defineModel('y', { default: 100 }) +const width = defineModel('width', { default: 800 }) +const height = defineModel('height', { default: 600 }) + const windowEl = useTemplateRef('windowEl') const titlebarEl = useTemplateRef('titlebarEl') @@ -126,20 +128,14 @@ const viewportSize = inject<{ width: Ref height: Ref }>('viewportSize') - -// Window state -const x = ref(props.initialX ?? 100) -const y = ref(props.initialY ?? 100) -const width = ref(props.initialWidth ?? 800) -const height = ref(props.initialHeight ?? 600) const isMaximized = ref(false) // Don't start maximized // Store initial position/size for restore const preMaximizeState = ref({ - x: props.initialX ?? 100, - y: props.initialY ?? 100, - width: props.initialWidth ?? 800, - height: props.initialHeight ?? 600, + x: x.value, + y: y.value, + width: width.value, + height: height.value, }) // Dragging state @@ -161,10 +157,6 @@ const isResizingOrDragging = computed( () => isResizing.value || isDragging.value, ) -// Snap settings -const snapEdgeThreshold = 50 // pixels from edge to trigger snap -const { x: mouseX } = useMouse() - // Setup drag with useDrag composable (supports mouse + touch) useDrag( ({ movement: [mx, my], first, last }) => { @@ -180,34 +172,8 @@ useDrag( } if (last) { - // Drag ended - apply snapping + // Drag ended isDragging.value = false - - const viewportBounds = getViewportBounds() - if (viewportBounds) { - const viewportWidth = viewportBounds.width - const viewportHeight = viewportBounds.height - - if (mouseX.value <= snapEdgeThreshold) { - // Snap to left half - x.value = 0 - y.value = 0 - width.value = viewportWidth / 2 - height.value = viewportHeight - isMaximized.value = false - } else if (mouseX.value >= viewportWidth - snapEdgeThreshold) { - // Snap to right half - x.value = viewportWidth / 2 - y.value = 0 - width.value = viewportWidth / 2 - height.value = viewportHeight - isMaximized.value = false - } else { - // Normal snap back to viewport - snapToViewport() - } - } - globalThis.getSelection()?.removeAllRanges() emit('positionChanged', x.value, y.value) emit('sizeChanged', width.value, height.value) @@ -229,7 +195,6 @@ useDrag( eventOptions: { passive: false }, pointer: { touch: true }, drag: { - threshold: 10, // 10px threshold prevents accidental drags and improves performance filterTaps: true, // Filter out taps (clicks) vs drags delay: 0, // No delay for immediate response }, @@ -265,22 +230,18 @@ const windowStyle = computed(() => { baseStyle.opacity = '0' baseStyle.transform = 'scale(0.3)' } - // Normal state - else if (isMaximized.value) { - baseStyle.left = '0px' - baseStyle.top = '0px' - baseStyle.width = '100%' - baseStyle.height = '100%' - baseStyle.borderRadius = '0' - baseStyle.opacity = '1' - //baseStyle.transform = 'scale(1)' - } else { + // Normal state (maximized windows now use actual pixel dimensions) + else { baseStyle.left = `${x.value}px` baseStyle.top = `${y.value}px` baseStyle.width = `${width.value}px` baseStyle.height = `${height.value}px` baseStyle.opacity = '1' - //baseStyle.transform = 'scale(1)' + + // Remove border-radius when maximized + if (isMaximized.value) { + baseStyle.borderRadius = '0' + } } // Performance optimization: hint browser about transforms @@ -318,38 +279,18 @@ const constrainToViewportDuringDrag = (newX: number, newY: number) => { const windowWidth = width.value const windowHeight = height.value - // Allow max 1/3 of window to go outside viewport during drag + // Allow sides and bottom to go out more const maxOffscreenX = windowWidth / 3 - const maxOffscreenY = windowHeight / 3 + const maxOffscreenBottom = windowHeight / 3 + // For X axis: allow 1/3 to go outside on both sides const maxX = bounds.width - windowWidth + maxOffscreenX const minX = -maxOffscreenX - const maxY = bounds.height - windowHeight + maxOffscreenY - const minY = -maxOffscreenY - const constrainedX = Math.max(minX, Math.min(maxX, newX)) - const constrainedY = Math.max(minY, Math.min(maxY, newY)) - - return { x: constrainedX, y: constrainedY } -} - -const constrainToViewportFully = ( - newX: number, - newY: number, - newWidth?: number, - newHeight?: number, -) => { - const bounds = getViewportBounds() - if (!bounds) return { x: newX, y: newY } - - const windowWidth = newWidth ?? width.value - const windowHeight = newHeight ?? height.value - - // Keep entire window within viewport - const maxX = bounds.width - windowWidth - const minX = 0 - const maxY = bounds.height - windowHeight + // For Y axis: HARD constraint at top (y=0), never allow window to go above header const minY = 0 + // Bottom: allow 1/3 to go outside + const maxY = bounds.height - windowHeight + maxOffscreenBottom const constrainedX = Math.max(minX, Math.min(maxX, newX)) const constrainedY = Math.max(minY, Math.min(maxY, newY)) @@ -357,15 +298,6 @@ const constrainToViewportFully = ( return { x: constrainedX, y: constrainedY } } -const snapToViewport = () => { - const bounds = getViewportBounds() - if (!bounds) return - - const constrained = constrainToViewportFully(x.value, y.value) - x.value = constrained.x - y.value = constrained.y -} - const handleActivate = () => { emit('activate') } @@ -387,14 +319,25 @@ const handleMaximize = () => { height.value = preMaximizeState.value.height isMaximized.value = false } else { - // Maximize + // Maximize - set position and size to viewport dimensions preMaximizeState.value = { x: x.value, y: y.value, width: width.value, height: height.value, } - isMaximized.value = true + + // Get viewport bounds (desktop container, already excludes header) + const bounds = getViewportBounds() + + if (bounds && bounds.width > 0 && bounds.height > 0) { + x.value = 0 + y.value = 0 + width.value = bounds.width + height.value = bounds.height + isMaximized.value = true + } + console.log('handleMaximize', preMaximizeState, bounds) } } @@ -402,8 +345,30 @@ const handleMaximize = () => { const handleResizeStart = (direction: string, e: MouseEvent | TouchEvent) => { isResizing.value = true resizeDirection.value = direction - resizeStartX.value = e.clientX - resizeStartY.value = e.clientY + let clientX: number + let clientY: number + + if ('touches' in e) { + // Es ist ein TouchEvent + const touch = e.touches[0] // Hole den ersten Touch + + // Prüfe, ob 'touch' existiert (ist undefined, wenn e.touches leer ist) + if (touch) { + clientX = touch.clientX + clientY = touch.clientY + } else { + // Ungültiges Start-Event (kein Finger). Abbruch. + isResizing.value = false + return + } + } else { + // Es ist ein MouseEvent + clientX = e.clientX + clientY = e.clientY + } + + resizeStartX.value = clientX + resizeStartY.value = clientY resizeStartWidth.value = width.value resizeStartHeight.value = height.value resizeStartPosX.value = x.value @@ -446,9 +411,6 @@ useEventListener(window, 'mouseup', () => { globalThis.getSelection()?.removeAllRanges() isResizing.value = false - // Snap back to viewport after resize ends - snapToViewport() - emit('positionChanged', x.value, y.value) emit('sizeChanged', width.value, height.value) } diff --git a/src/components/haex/window/overview.vue b/src/components/haex/window/overview.vue new file mode 100644 index 0000000..32b84e1 --- /dev/null +++ b/src/components/haex/window/overview.vue @@ -0,0 +1,219 @@ + + + diff --git a/src/components/haex/workspace/card.vue b/src/components/haex/workspace/card.vue index 0025c8b..8587039 100644 --- a/src/components/haex/workspace/card.vue +++ b/src/components/haex/workspace/card.vue @@ -1,10 +1,12 @@ diff --git a/src/layouts/app.vue b/src/layouts/app.vue index 18940ed..eb406fa 100644 --- a/src/layouts/app.vue +++ b/src/layouts/app.vue @@ -37,6 +37,22 @@ size="lg" > + + + @@ -54,6 +70,10 @@ const { currentVaultName } = storeToRefs(useVaultStore()) const { isSmallScreen } = storeToRefs(useUiStore()) const { isOverviewMode } = storeToRefs(useWorkspaceStore()) + +const { showWindowOverview, openWindowsCount } = storeToRefs( + useWindowManagerStore(), +) diff --git a/src/stores/desktop/windowManager.ts b/src/stores/desktop/windowManager.ts index efe6ddd..af56eb1 100644 --- a/src/stores/desktop/windowManager.ts +++ b/src/stores/desktop/windowManager.ts @@ -39,6 +39,15 @@ export const useWindowManagerStore = defineStore('windowManager', () => { const activeWindowId = ref(null) const nextZIndex = ref(100) + // Window Overview State + const showWindowOverview = ref(false) + + // Computed: Count of all open windows (including minimized) + const openWindowsCount = computed(() => windows.value.length) + + // Window Dragging State (for drag & drop to workspaces) + const draggingWindowId = ref(null) + // System Windows Registry const systemWindows: Record = { developer: { @@ -332,6 +341,7 @@ export const useWindowManagerStore = defineStore('windowManager', () => { activeWindowId, closeWindow, currentWorkspaceWindows, + draggingWindowId, getAllSystemWindows, getMinimizedWindows, getSystemWindow, @@ -340,7 +350,9 @@ export const useWindowManagerStore = defineStore('windowManager', () => { minimizeWindow, moveWindowsToWorkspace, openWindowAsync, + openWindowsCount, restoreWindow, + showWindowOverview, updateWindowPosition, updateWindowSize, windowAnimationDuration, diff --git a/src/stores/vault/index.ts b/src/stores/vault/index.ts index bdc53a4..5cb871d 100644 --- a/src/stores/vault/index.ts +++ b/src/stores/vault/index.ts @@ -136,6 +136,8 @@ const drizzleCallback = (async ( params: unknown[], method: 'get' | 'run' | 'all' | 'values', ) => { + // Wir MÜSSEN 'any[]' verwenden, um Drizzle's Typ zu erfüllen. + // eslint-disable-next-line @typescript-eslint/no-explicit-any let rows: any[] = [] try { @@ -179,7 +181,8 @@ const drizzleCallback = (async ( console.log('drizzleCallback rows', rows) if (method === 'get') { - return rows.length > 0 ? { rows: rows[0] } : { rows } + return { rows: rows.slice(0, 1) } + //return rows.length > 0 ? { rows: rows[0] } : { rows } } return { rows } }) satisfies AsyncRemoteCallback