feat: add initial storage module

This commit is contained in:
2026-01-09 01:42:57 +01:00
parent 7336cfd411
commit 304c7969b2
60 changed files with 5988 additions and 107 deletions

243
deno.lock generated
View File

@@ -35,16 +35,23 @@
"npm:@tanstack/react-router@1.139.9": "1.139.9_react@19.2.0_react-dom@19.2.0__react@19.2.0",
"npm:@tanstack/react-table@8.21.3": "8.21.3_react@19.2.0_react-dom@19.2.0__react@19.2.0",
"npm:@tanstack/router-plugin@1.145.2": "1.145.2_@tanstack+react-router@1.139.9__react@19.2.0__react-dom@19.2.0___react@19.2.0_vite@7.2.4__@types+node@24.10.1__picomatch@4.0.3_@babel+core@7.28.5_react@19.2.0_react-dom@19.2.0__react@19.2.0_@types+node@24.10.1",
"npm:@tauri-apps/api@2": "2.9.1",
"npm:@tauri-apps/cli@2": "2.9.6",
"npm:@tauri-apps/plugin-opener@2": "2.5.2",
"npm:@types/node@24.10.1": "24.10.1",
"npm:@types/react-dom@19.2.3": "19.2.3_@types+react@19.2.7",
"npm:@types/react-dom@^19.1.6": "19.2.3_@types+react@19.2.7",
"npm:@types/react@19.2.7": "19.2.7",
"npm:@types/react@^19.1.8": "19.2.7",
"npm:@types/transit-js@0.8.3": "0.8.3",
"npm:@vitejs/plugin-react@5.1.1": "5.1.1_vite@7.2.4__@types+node@24.10.1__picomatch@4.0.3_@babel+core@7.28.5_@types+node@24.10.1",
"npm:@vitejs/plugin-react@^4.6.0": "4.7.0_vite@7.2.4__@types+node@24.10.1__picomatch@4.0.3_@babel+core@7.28.5_@types+node@24.10.1",
"npm:@zitadel/react@1.1.0": "1.1.0",
"npm:babel-plugin-react-compiler@1.0.0": "1.0.0",
"npm:class-variance-authority@0.7.1": "0.7.1",
"npm:clsx@2.1.1": "2.1.1",
"npm:cmdk@^1.1.1": "1.1.1_react@19.2.0_react-dom@19.2.0__react@19.2.0_@types+react@19.2.7_@types+react-dom@19.2.3__@types+react@19.2.7",
"npm:create-tauri-app@*": "4.6.2",
"npm:eslint-plugin-react-hooks@7.0.1": "7.0.1_eslint@9.39.1_zod@4.3.5",
"npm:eslint-plugin-react-refresh@0.4.24": "0.4.24_eslint@9.39.1",
"npm:eslint@9.39.1": "9.39.1",
@@ -56,17 +63,21 @@
"npm:path-to-regexp@8": "8.3.0",
"npm:postgres@3.4.7": "3.4.7",
"npm:react-dom@19.2.0": "19.2.0_react@19.2.0",
"npm:react-dom@^19.1.0": "19.2.0_react@19.2.0",
"npm:react@19.2.0": "19.2.0",
"npm:react@^19.1.0": "19.2.0",
"npm:recharts@2.15.4": "2.15.4_react@19.2.0_react-dom@19.2.0__react@19.2.0",
"npm:sonner@2.0.7": "2.0.7_react@19.2.0_react-dom@19.2.0__react@19.2.0",
"npm:tailwind-merge@3.4.0": "3.4.0",
"npm:tailwindcss@4.1.17": "4.1.17",
"npm:transit-js@0.8.874": "0.8.874",
"npm:tw-animate-css@1.4.0": "1.4.0",
"npm:typescript-eslint@8.46.4": "8.46.4_eslint@9.39.1_typescript@5.9.3_@typescript-eslint+parser@8.46.4__eslint@9.39.1__typescript@5.9.3",
"npm:typescript-eslint@8.46.4": "8.46.4_eslint@9.39.1_typescript@5.8.3_@typescript-eslint+parser@8.46.4__eslint@9.39.1__typescript@5.8.3",
"npm:typescript@~5.8.3": "5.8.3",
"npm:typescript@~5.9.3": "5.9.3",
"npm:vaul@1.1.2": "1.1.2_react@19.2.0_react-dom@19.2.0__react@19.2.0_@types+react@19.2.7_@types+react-dom@19.2.3__@types+react@19.2.7",
"npm:vite@7.2.4": "7.2.4_@types+node@24.10.1_picomatch@4.0.3",
"npm:vite@^7.0.4": "7.2.4_@types+node@24.10.1_picomatch@4.0.3",
"npm:zod@4.3.5": "4.3.5"
},
"npm": {
@@ -1547,6 +1558,9 @@
"@radix-ui/rect@1.1.1": {
"integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="
},
"@rolldown/pluginutils@1.0.0-beta.27": {
"integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA=="
},
"@rolldown/pluginutils@1.0.0-beta.47": {
"integrity": "sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw=="
},
@@ -1920,6 +1934,87 @@
"@tanstack/virtual-file-routes@1.141.0": {
"integrity": "sha512-CJrWtr6L9TVzEImm9S7dQINx+xJcYP/aDkIi6gnaWtIgbZs1pnzsE0yJc2noqXZ+yAOqLx3TBGpBEs9tS0P9/A=="
},
"@tauri-apps/api@2.9.1": {
"integrity": "sha512-IGlhP6EivjXHepbBic618GOmiWe4URJiIeZFlB7x3czM0yDHHYviH1Xvoiv4FefdkQtn6v7TuwWCRfOGdnVUGw=="
},
"@tauri-apps/cli-darwin-arm64@2.9.6": {
"integrity": "sha512-gf5no6N9FCk1qMrti4lfwP77JHP5haASZgVbBgpZG7BUepB3fhiLCXGUK8LvuOjP36HivXewjg72LTnPDScnQQ==",
"os": ["darwin"],
"cpu": ["arm64"]
},
"@tauri-apps/cli-darwin-x64@2.9.6": {
"integrity": "sha512-oWh74WmqbERwwrwcueJyY6HYhgCksUc6NT7WKeXyrlY/FPmNgdyQAgcLuTSkhRFuQ6zh4Np1HZpOqCTpeZBDcw==",
"os": ["darwin"],
"cpu": ["x64"]
},
"@tauri-apps/cli-linux-arm-gnueabihf@2.9.6": {
"integrity": "sha512-/zde3bFroFsNXOHN204DC2qUxAcAanUjVXXSdEGmhwMUZeAQalNj5cz2Qli2elsRjKN/hVbZOJj0gQ5zaYUjSg==",
"os": ["linux"],
"cpu": ["arm"]
},
"@tauri-apps/cli-linux-arm64-gnu@2.9.6": {
"integrity": "sha512-pvbljdhp9VOo4RnID5ywSxgBs7qiylTPlK56cTk7InR3kYSTJKYMqv/4Q/4rGo/mG8cVppesKIeBMH42fw6wjg==",
"os": ["linux"],
"cpu": ["arm64"]
},
"@tauri-apps/cli-linux-arm64-musl@2.9.6": {
"integrity": "sha512-02TKUndpodXBCR0oP//6dZWGYcc22Upf2eP27NvC6z0DIqvkBBFziQUcvi2n6SrwTRL0yGgQjkm9K5NIn8s6jw==",
"os": ["linux"],
"cpu": ["arm64"]
},
"@tauri-apps/cli-linux-riscv64-gnu@2.9.6": {
"integrity": "sha512-fmp1hnulbqzl1GkXl4aTX9fV+ubHw2LqlLH1PE3BxZ11EQk+l/TmiEongjnxF0ie4kV8DQfDNJ1KGiIdWe1GvQ==",
"os": ["linux"],
"cpu": ["riscv64"]
},
"@tauri-apps/cli-linux-x64-gnu@2.9.6": {
"integrity": "sha512-vY0le8ad2KaV1PJr+jCd8fUF9VOjwwQP/uBuTJvhvKTloEwxYA/kAjKK9OpIslGA9m/zcnSo74czI6bBrm2sYA==",
"os": ["linux"],
"cpu": ["x64"]
},
"@tauri-apps/cli-linux-x64-musl@2.9.6": {
"integrity": "sha512-TOEuB8YCFZTWVDzsO2yW0+zGcoMiPPwcUgdnW1ODnmgfwccpnihDRoks+ABT1e3fHb1ol8QQWsHSCovb3o2ENQ==",
"os": ["linux"],
"cpu": ["x64"]
},
"@tauri-apps/cli-win32-arm64-msvc@2.9.6": {
"integrity": "sha512-ujmDGMRc4qRLAnj8nNG26Rlz9klJ0I0jmZs2BPpmNNf0gM/rcVHhqbEkAaHPTBVIrtUdf7bGvQAD2pyIiUrBHQ==",
"os": ["win32"],
"cpu": ["arm64"]
},
"@tauri-apps/cli-win32-ia32-msvc@2.9.6": {
"integrity": "sha512-S4pT0yAJgFX8QRCyKA1iKjZ9Q/oPjCZf66A/VlG5Yw54Nnr88J1uBpmenINbXxzyhduWrIXBaUbEY1K80ZbpMg==",
"os": ["win32"],
"cpu": ["ia32"]
},
"@tauri-apps/cli-win32-x64-msvc@2.9.6": {
"integrity": "sha512-ldWuWSSkWbKOPjQMJoYVj9wLHcOniv7diyI5UAJ4XsBdtaFB0pKHQsqw/ItUma0VXGC7vB4E9fZjivmxur60aw==",
"os": ["win32"],
"cpu": ["x64"]
},
"@tauri-apps/cli@2.9.6": {
"integrity": "sha512-3xDdXL5omQ3sPfBfdC8fCtDKcnyV7OqyzQgfyT5P3+zY6lcPqIYKQBvUasNvppi21RSdfhy44ttvJmftb0PCDw==",
"optionalDependencies": [
"@tauri-apps/cli-darwin-arm64",
"@tauri-apps/cli-darwin-x64",
"@tauri-apps/cli-linux-arm-gnueabihf",
"@tauri-apps/cli-linux-arm64-gnu",
"@tauri-apps/cli-linux-arm64-musl",
"@tauri-apps/cli-linux-riscv64-gnu",
"@tauri-apps/cli-linux-x64-gnu",
"@tauri-apps/cli-linux-x64-musl",
"@tauri-apps/cli-win32-arm64-msvc",
"@tauri-apps/cli-win32-ia32-msvc",
"@tauri-apps/cli-win32-x64-msvc"
],
"bin": true
},
"@tauri-apps/plugin-opener@2.5.2": {
"integrity": "sha512-ei/yRRoCklWHImwpCcDK3VhNXx+QXM9793aQ64YxpqVF0BDuuIlXhZgiAkc15wnPVav+IbkYhmDJIv5R326Mew==",
"dependencies": [
"@tauri-apps/api"
]
},
"@types/babel__core@7.20.5": {
"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
"dependencies": [
@@ -2021,7 +2116,7 @@
"@types/webidl-conversions"
]
},
"@typescript-eslint/eslint-plugin@8.46.4_@typescript-eslint+parser@8.46.4__eslint@9.39.1__typescript@5.9.3_eslint@9.39.1_typescript@5.9.3": {
"@typescript-eslint/eslint-plugin@8.46.4_@typescript-eslint+parser@8.46.4__eslint@9.39.1__typescript@5.8.3_eslint@9.39.1_typescript@5.8.3": {
"integrity": "sha512-R48VhmTJqplNyDxCyqqVkFSZIx1qX6PzwqgcXn1olLrzxcSBDlOsbtcnQuQhNtnNiJ4Xe5gREI1foajYaYU2Vg==",
"dependencies": [
"@eslint-community/regexpp",
@@ -2035,10 +2130,10 @@
"ignore@7.0.5",
"natural-compare",
"ts-api-utils",
"typescript"
"typescript@5.8.3"
]
},
"@typescript-eslint/parser@8.46.4_eslint@9.39.1_typescript@5.9.3": {
"@typescript-eslint/parser@8.46.4_eslint@9.39.1_typescript@5.8.3": {
"integrity": "sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==",
"dependencies": [
"@typescript-eslint/scope-manager",
@@ -2047,16 +2142,16 @@
"@typescript-eslint/visitor-keys",
"debug",
"eslint",
"typescript"
"typescript@5.8.3"
]
},
"@typescript-eslint/project-service@8.46.4_typescript@5.9.3": {
"@typescript-eslint/project-service@8.46.4_typescript@5.8.3": {
"integrity": "sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==",
"dependencies": [
"@typescript-eslint/tsconfig-utils",
"@typescript-eslint/types",
"debug",
"typescript"
"typescript@5.8.3"
]
},
"@typescript-eslint/scope-manager@8.46.4": {
@@ -2066,13 +2161,13 @@
"@typescript-eslint/visitor-keys"
]
},
"@typescript-eslint/tsconfig-utils@8.46.4_typescript@5.9.3": {
"@typescript-eslint/tsconfig-utils@8.46.4_typescript@5.8.3": {
"integrity": "sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==",
"dependencies": [
"typescript"
"typescript@5.8.3"
]
},
"@typescript-eslint/type-utils@8.46.4_eslint@9.39.1_typescript@5.9.3": {
"@typescript-eslint/type-utils@8.46.4_eslint@9.39.1_typescript@5.8.3": {
"integrity": "sha512-V4QC8h3fdT5Wro6vANk6eojqfbv5bpwHuMsBcJUJkqs2z5XnYhJzyz9Y02eUmF9u3PgXEUiOt4w4KHR3P+z0PQ==",
"dependencies": [
"@typescript-eslint/types",
@@ -2081,13 +2176,13 @@
"debug",
"eslint",
"ts-api-utils",
"typescript"
"typescript@5.8.3"
]
},
"@typescript-eslint/types@8.46.4": {
"integrity": "sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w=="
},
"@typescript-eslint/typescript-estree@8.46.4_typescript@5.9.3": {
"@typescript-eslint/typescript-estree@8.46.4_typescript@5.8.3": {
"integrity": "sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==",
"dependencies": [
"@typescript-eslint/project-service",
@@ -2100,10 +2195,10 @@
"minimatch@9.0.5",
"semver@7.7.3",
"ts-api-utils",
"typescript"
"typescript@5.8.3"
]
},
"@typescript-eslint/utils@8.46.4_eslint@9.39.1_typescript@5.9.3": {
"@typescript-eslint/utils@8.46.4_eslint@9.39.1_typescript@5.8.3": {
"integrity": "sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==",
"dependencies": [
"@eslint-community/eslint-utils",
@@ -2111,7 +2206,7 @@
"@typescript-eslint/types",
"@typescript-eslint/typescript-estree",
"eslint",
"typescript"
"typescript@5.8.3"
]
},
"@typescript-eslint/visitor-keys@8.46.4": {
@@ -2121,15 +2216,27 @@
"eslint-visitor-keys@4.2.1"
]
},
"@vitejs/plugin-react@4.7.0_vite@7.2.4__@types+node@24.10.1__picomatch@4.0.3_@babel+core@7.28.5_@types+node@24.10.1": {
"integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==",
"dependencies": [
"@babel/core",
"@babel/plugin-transform-react-jsx-self",
"@babel/plugin-transform-react-jsx-source",
"@rolldown/pluginutils@1.0.0-beta.27",
"@types/babel__core",
"react-refresh@0.17.0",
"vite"
]
},
"@vitejs/plugin-react@5.1.1_vite@7.2.4__@types+node@24.10.1__picomatch@4.0.3_@babel+core@7.28.5_@types+node@24.10.1": {
"integrity": "sha512-WQfkSw0QbQ5aJ2CHYw23ZGkqnRwqKHD/KYsMeTkZzPT4Jcf0DcBxBtwMJxnu6E7oxw5+JC6ZAiePgh28uJ1HBA==",
"dependencies": [
"@babel/core",
"@babel/plugin-transform-react-jsx-self",
"@babel/plugin-transform-react-jsx-source",
"@rolldown/pluginutils",
"@rolldown/pluginutils@1.0.0-beta.47",
"@types/babel__core",
"react-refresh",
"react-refresh@0.18.0",
"vite"
]
},
@@ -2327,6 +2434,77 @@
"cookie-es@2.0.0": {
"integrity": "sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg=="
},
"create-tauri-app-darwin-arm64@4.6.2": {
"integrity": "sha512-yI+zX/ioOW7CoPKngUc+pCuBZWg33VEBx2xSMNQKtivjy+EAF6USyyR5G8d7mjdJwopp2cVwX/Y3CTQJJGs0UQ==",
"os": ["darwin"],
"cpu": ["arm64"]
},
"create-tauri-app-darwin-universal@4.6.2": {
"integrity": "sha512-vk/wD3MGwlkIF1Tkpq7s48jVcIHJ8DX30A9cKw+I1iILIkS30WLUga87fcT4UffkG08rwkt28aPTJBxcVJwwcw==",
"os": ["darwin"]
},
"create-tauri-app-darwin-x64@4.6.2": {
"integrity": "sha512-O68Jenh2D7u12hzh+8yFoeyLWK10nvCCPhZ4n+j46S05HVfXVJ5ySszoXK/IK3wNAtOm6ntmshkR5qxLlBxzDA==",
"os": ["darwin"],
"cpu": ["x64"]
},
"create-tauri-app-linux-arm-gnueabihf@4.6.2": {
"integrity": "sha512-F0f4H1ZUomywiIqGHbippqky3vBi3WMoQxifoL/J+hgV1vcmY829sbRUK/bN4EvbcGaF9/CXeJ68hdrgbNOL5g==",
"os": ["linux"],
"cpu": ["arm"]
},
"create-tauri-app-linux-arm64-gnu@4.6.2": {
"integrity": "sha512-E12SIbUQ7MRjHOa+12Gu65z38Nm8rEkfpSWLHlBv3Af/voNfEgJjkhcsKhluzroQUPttOHPBthioA+USAIOdRg==",
"os": ["linux"],
"cpu": ["arm64"]
},
"create-tauri-app-linux-arm64-musl@4.6.2": {
"integrity": "sha512-1JsgH3q6g1YLwWUvOBQWw7gKb/r+0B8Kh1U5ucEq40yN8gnsLT+hu0Hpt3BIIVy0fzcAFnG84RC01obPJInAMA==",
"os": ["linux"],
"cpu": ["arm64"]
},
"create-tauri-app-linux-x64-gnu@4.6.2": {
"integrity": "sha512-/iLQ7ILU1et+YlIpCsvrd4BRzNIjcTWQSjw7RmMxffbiJ0GcZjh3W+7aEB/40ZroqBftOd0LeMKISCsYqArrXQ==",
"os": ["linux"],
"cpu": ["x64"]
},
"create-tauri-app-linux-x64-musl@4.6.2": {
"integrity": "sha512-O+MYU04J+tYZqQFG7pSvTU9BIKMsDr8UY+xn/l+ZJ5AVKgvkvp/ktiY5OHspnKi4dVMPfUyKkcRsAix9+V/hGQ==",
"os": ["linux"],
"cpu": ["x64"]
},
"create-tauri-app-win32-arm64-msvc@4.6.2": {
"integrity": "sha512-BBMgmnum/CJ2xbTd67dAsj/2xq0zGDyo/+oppUJkd2cmIno6NXC5rzDvO0v6NreRSNILqJHItBU866LEqu0rVg==",
"os": ["win32"],
"cpu": ["arm64"]
},
"create-tauri-app-win32-ia32-msvc@4.6.2": {
"integrity": "sha512-9Rx6B3O1WcL81+La2i3ghNQL243eFJnnmT8q7IePZVZwhnzXmNVkR6ISvYbo65FDArKdCrUjaFFtNfzhVWraFA==",
"os": ["win32"],
"cpu": ["ia32"]
},
"create-tauri-app-win32-x64-msvc@4.6.2": {
"integrity": "sha512-Su7U0T8iiU2zvYRu/2/PXTtdvFz3o0g9EclzFGRqmlMgAsl20rddXzKWbqjmZ3wkTnbe1U5x52mAJg4ESA6AFA==",
"os": ["win32"],
"cpu": ["x64"]
},
"create-tauri-app@4.6.2": {
"integrity": "sha512-1dbhGme54Ew2byxD2zr36+Z676cWPdDgpgkTgPeYgSczEN5aJpuwms2c3ncNRbzWyLpdAYGXbRNBUBhFxhB4tw==",
"optionalDependencies": [
"create-tauri-app-darwin-arm64",
"create-tauri-app-darwin-universal",
"create-tauri-app-darwin-x64",
"create-tauri-app-linux-arm-gnueabihf",
"create-tauri-app-linux-arm64-gnu",
"create-tauri-app-linux-arm64-musl",
"create-tauri-app-linux-x64-gnu",
"create-tauri-app-linux-x64-musl",
"create-tauri-app-win32-arm64-msvc",
"create-tauri-app-win32-ia32-msvc",
"create-tauri-app-win32-x64-msvc"
],
"bin": true
},
"cross-spawn@7.0.6": {
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"dependencies": [
@@ -3191,6 +3369,9 @@
"react-is@18.3.1": {
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
},
"react-refresh@0.17.0": {
"integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ=="
},
"react-refresh@0.18.0": {
"integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw=="
},
@@ -3500,10 +3681,10 @@
"transit-js@0.8.874": {
"integrity": "sha512-IDJJGKRzUbJHmN0P15HBBa05nbKor3r2MmG6aSt0UxXIlJZZKcddTk67/U7WyAeW9Hv/VYI02IqLzolsC4sbPA=="
},
"ts-api-utils@2.4.0_typescript@5.9.3": {
"ts-api-utils@2.4.0_typescript@5.8.3": {
"integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==",
"dependencies": [
"typescript"
"typescript@5.8.3"
]
},
"tslib@2.8.1": {
@@ -3529,7 +3710,7 @@
"prelude-ls"
]
},
"typescript-eslint@8.46.4_eslint@9.39.1_typescript@5.9.3_@typescript-eslint+parser@8.46.4__eslint@9.39.1__typescript@5.9.3": {
"typescript-eslint@8.46.4_eslint@9.39.1_typescript@5.8.3_@typescript-eslint+parser@8.46.4__eslint@9.39.1__typescript@5.8.3": {
"integrity": "sha512-KALyxkpYV5Ix7UhvjTwJXZv76VWsHG+NjNlt/z+a17SOQSiOcBdUXdbJdyXi7RPxrBFECtFOiPwUJQusJuCqrg==",
"dependencies": [
"@typescript-eslint/eslint-plugin",
@@ -3537,9 +3718,13 @@
"@typescript-eslint/typescript-estree",
"@typescript-eslint/utils",
"eslint",
"typescript"
"typescript@5.8.3"
]
},
"typescript@5.8.3": {
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
"bin": true
},
"typescript@5.9.3": {
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"bin": true
@@ -3770,6 +3955,22 @@
]
}
},
"desktop": {
"packageJson": {
"dependencies": [
"npm:@tauri-apps/api@2",
"npm:@tauri-apps/cli@2",
"npm:@tauri-apps/plugin-opener@2",
"npm:@types/react-dom@^19.1.6",
"npm:@types/react@^19.1.8",
"npm:@vitejs/plugin-react@^4.6.0",
"npm:react-dom@^19.1.0",
"npm:react@^19.1.0",
"npm:typescript@~5.8.3",
"npm:vite@^7.0.4"
]
}
},
"modules/account": {
"packageJson": {
"dependencies": [