This commit is contained in:
2026-01-25 03:23:42 +08:00
parent bafd02452b
commit 9ff4057166
6 changed files with 132 additions and 369 deletions

View File

@@ -37,6 +37,7 @@
"studio": "npx drizzle-kit studio", "studio": "npx drizzle-kit studio",
"drizzle:migrate": "npx drizzle-kit migrate", "drizzle:migrate": "npx drizzle-kit migrate",
"drizzle:push": "npx drizzle-kit push", "drizzle:push": "npx drizzle-kit push",
"convex": "bunx convex dev",
"pub": "envision pack -p -u -c" "pub": "envision pack -p -u -c"
}, },
"keywords": [], "keywords": [],
@@ -46,21 +47,22 @@
], ],
"license": "UNLICENSED", "license": "UNLICENSED",
"dependencies": { "dependencies": {
"@kevisual/ai": "^0.0.20", "@kevisual/ai": "^0.0.22",
"@kevisual/query": "^0.0.35", "@kevisual/auth": "^2.0.3",
"@kevisual/query": "^0.0.38",
"@types/busboy": "^1.5.4", "@types/busboy": "^1.5.4",
"@types/send": "^1.2.1", "@types/send": "^1.2.1",
"@types/ws": "^8.18.1", "@types/ws": "^8.18.1",
"bullmq": "^5.66.5", "bullmq": "^5.67.0",
"busboy": "^1.6.0", "busboy": "^1.6.0",
"commander": "^14.0.2", "commander": "^14.0.2",
"drizzle-kit": "^0.31.8", "drizzle-kit": "^0.31.8",
"drizzle-orm": "^0.45.1", "drizzle-orm": "^0.45.1",
"drizzle-zod": "^0.8.3", "drizzle-zod": "^0.8.3",
"eventemitter3": "^5.0.1", "eventemitter3": "^5.0.4",
"ioredis": "^5.9.2", "ioredis": "^5.9.2",
"minio": "^8.0.6", "minio": "^8.0.6",
"pg": "^8.17.1", "pg": "^8.17.2",
"pm2": "^6.0.14", "pm2": "^6.0.14",
"send": "^1.2.1", "send": "^1.2.1",
"sequelize": "^6.37.7", "sequelize": "^6.37.7",
@@ -76,15 +78,14 @@
"@kevisual/logger": "^0.0.4", "@kevisual/logger": "^0.0.4",
"@kevisual/oss": "0.0.16", "@kevisual/oss": "0.0.16",
"@kevisual/permission": "^0.0.3", "@kevisual/permission": "^0.0.3",
"@kevisual/router": "0.0.55", "@kevisual/router": "0.0.60",
"@kevisual/types": "^0.0.11", "@kevisual/types": "^0.0.12",
"@kevisual/use-config": "^1.0.28", "@kevisual/use-config": "^1.0.28",
"@types/archiver": "^7.0.0", "@types/archiver": "^7.0.0",
"@types/bun": "^1.3.6", "@types/bun": "^1.3.6",
"@types/crypto-js": "^4.2.2", "@types/crypto-js": "^4.2.2",
"@types/jsonwebtoken": "^9.0.10", "@types/jsonwebtoken": "^9.0.10",
"@types/lodash-es": "^4.17.12", "@types/node": "^25.0.10",
"@types/node": "^25.0.9",
"@types/semver": "^7.7.1", "@types/semver": "^7.7.1",
"@types/xml2js": "^0.4.14", "@types/xml2js": "^0.4.14",
"archiver": "^7.0.1", "archiver": "^7.0.1",
@@ -95,16 +96,15 @@
"es-toolkit": "^1.44.0", "es-toolkit": "^1.44.0",
"ioredis": "^5.9.2", "ioredis": "^5.9.2",
"jsonwebtoken": "^9.0.3", "jsonwebtoken": "^9.0.3",
"lodash-es": "^4.17.22",
"minio": "^8.0.6", "minio": "^8.0.6",
"nanoid": "^5.1.6", "nanoid": "^5.1.6",
"nodemon": "^3.1.11", "nodemon": "^3.1.11",
"p-queue": "^9.1.0", "p-queue": "^9.1.0",
"pg": "^8.17.1", "pg": "^8.17.2",
"pm2": "^6.0.14", "pm2": "^6.0.14",
"semver": "^7.7.3", "semver": "^7.7.3",
"sequelize": "^6.37.7", "sequelize": "^6.37.7",
"zod": "^4.3.5" "zod": "^4.3.6"
}, },
"resolutions": { "resolutions": {
"inflight": "latest", "inflight": "latest",
@@ -116,5 +116,5 @@
"better-sqlite3" "better-sqlite3"
] ]
}, },
"packageManager": "pnpm@10.28.0" "packageManager": "pnpm@10.28.1"
} }

457
pnpm-lock.yaml generated
View File

@@ -13,11 +13,14 @@ importers:
.: .:
dependencies: dependencies:
'@kevisual/ai': '@kevisual/ai':
specifier: ^0.0.20 specifier: ^0.0.22
version: 0.0.20 version: 0.0.22
'@kevisual/auth':
specifier: ^2.0.3
version: 2.0.3
'@kevisual/query': '@kevisual/query':
specifier: ^0.0.35 specifier: ^0.0.38
version: 0.0.35 version: 0.0.38
'@types/busboy': '@types/busboy':
specifier: ^1.5.4 specifier: ^1.5.4
version: 1.5.4 version: 1.5.4
@@ -28,8 +31,8 @@ importers:
specifier: ^8.18.1 specifier: ^8.18.1
version: 8.18.1 version: 8.18.1
bullmq: bullmq:
specifier: ^5.66.5 specifier: ^5.67.0
version: 5.66.5 version: 5.67.0
busboy: busboy:
specifier: ^1.6.0 specifier: ^1.6.0
version: 1.6.0 version: 1.6.0
@@ -41,13 +44,13 @@ importers:
version: 0.31.8 version: 0.31.8
drizzle-orm: drizzle-orm:
specifier: ^0.45.1 specifier: ^0.45.1
version: 0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.1) version: 0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.2)
drizzle-zod: drizzle-zod:
specifier: ^0.8.3 specifier: ^0.8.3
version: 0.8.3(drizzle-orm@0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.1))(zod@4.3.5) version: 0.8.3(drizzle-orm@0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.2))(zod@4.3.6)
eventemitter3: eventemitter3:
specifier: ^5.0.1 specifier: ^5.0.4
version: 5.0.1 version: 5.0.4
ioredis: ioredis:
specifier: ^5.9.2 specifier: ^5.9.2
version: 5.9.2 version: 5.9.2
@@ -55,8 +58,8 @@ importers:
specifier: ^8.0.6 specifier: ^8.0.6
version: 8.0.6 version: 8.0.6
pg: pg:
specifier: ^8.17.1 specifier: ^8.17.2
version: 8.17.1 version: 8.17.2
pm2: pm2:
specifier: ^6.0.14 specifier: ^6.0.14
version: 6.0.14 version: 6.0.14
@@ -65,7 +68,7 @@ importers:
version: 1.2.1 version: 1.2.1
sequelize: sequelize:
specifier: ^6.37.7 specifier: ^6.37.7
version: 6.37.7(pg@8.17.1) version: 6.37.7(pg@8.17.2)
ws: ws:
specifier: npm:@kevisual/ws specifier: npm:@kevisual/ws
version: '@kevisual/ws@8.0.0' version: '@kevisual/ws@8.0.0'
@@ -74,7 +77,7 @@ importers:
version: 0.6.2 version: 0.6.2
zod-to-json-schema: zod-to-json-schema:
specifier: ^3.25.1 specifier: ^3.25.1
version: 3.25.1(zod@4.3.5) version: 3.25.1(zod@4.3.6)
devDependencies: devDependencies:
'@kevisual/code-center-module': '@kevisual/code-center-module':
specifier: 0.0.24 specifier: 0.0.24
@@ -98,11 +101,11 @@ importers:
specifier: ^0.0.3 specifier: ^0.0.3
version: 0.0.3 version: 0.0.3
'@kevisual/router': '@kevisual/router':
specifier: 0.0.55 specifier: 0.0.60
version: 0.0.55 version: 0.0.60
'@kevisual/types': '@kevisual/types':
specifier: ^0.0.11 specifier: ^0.0.12
version: 0.0.11 version: 0.0.12
'@kevisual/use-config': '@kevisual/use-config':
specifier: ^1.0.28 specifier: ^1.0.28
version: 1.0.28(dotenv@17.2.3) version: 1.0.28(dotenv@17.2.3)
@@ -118,12 +121,9 @@ importers:
'@types/jsonwebtoken': '@types/jsonwebtoken':
specifier: ^9.0.10 specifier: ^9.0.10
version: 9.0.10 version: 9.0.10
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
'@types/node': '@types/node':
specifier: ^25.0.9 specifier: ^25.0.10
version: 25.0.9 version: 25.0.10
'@types/semver': '@types/semver':
specifier: ^7.7.1 specifier: ^7.7.1
version: 7.7.1 version: 7.7.1
@@ -151,9 +151,6 @@ importers:
jsonwebtoken: jsonwebtoken:
specifier: ^9.0.3 specifier: ^9.0.3
version: 9.0.3 version: 9.0.3
lodash-es:
specifier: ^4.17.22
version: 4.17.22
nanoid: nanoid:
specifier: ^5.1.6 specifier: ^5.1.6
version: 5.1.6 version: 5.1.6
@@ -167,8 +164,8 @@ importers:
specifier: ^7.7.3 specifier: ^7.7.3
version: 7.7.3 version: 7.7.3
zod: zod:
specifier: ^4.3.5 specifier: ^4.3.6
version: 4.3.5 version: 4.3.6
wxmsg: wxmsg:
dependencies: dependencies:
@@ -176,14 +173,14 @@ importers:
specifier: ^0.0.4 specifier: ^0.0.4
version: 0.0.4 version: 0.0.4
'@kevisual/query': '@kevisual/query':
specifier: ^0.0.33 specifier: ^0.0.38
version: 0.0.33 version: 0.0.38
'@kevisual/router': '@kevisual/router':
specifier: 0.0.50 specifier: 0.0.60
version: 0.0.50 version: 0.0.60
'@types/node': '@types/node':
specifier: ^25.0.3 specifier: ^25.0.10
version: 25.0.3 version: 25.0.10
crypto-js: crypto-js:
specifier: ^4.2.0 specifier: ^4.2.0
version: 4.2.0 version: 4.2.0
@@ -506,12 +503,15 @@ packages:
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'} engines: {node: '>=12'}
'@kevisual/ai@0.0.20': '@kevisual/ai@0.0.22':
resolution: {integrity: sha512-RW4a1T8XbIaonjp4ndt+5YIVeHR9O+pAzZZ1dWeYIlqQXvDuJdHSVukOh4ohgFS0tyEPzCr39seFeb6Y0YNzkw==} resolution: {integrity: sha512-9kth0pvPD4jT8c6rJ0DzSuvUY0s0pdw+CnO+YU8bwpMg04k1jFkd1RSZdtFrVbc60e2cpooQMUt/oimkfs082A==}
'@kevisual/auth@1.0.5': '@kevisual/auth@1.0.5':
resolution: {integrity: sha512-GwsLj7unKXi7lmMiIIgdig4LwwLiDJnOy15HHZR5gMbyK6s5/uJiMY5RXPB2+onGzTNDqFo/hXjsD2wkerHPVg==} resolution: {integrity: sha512-GwsLj7unKXi7lmMiIIgdig4LwwLiDJnOy15HHZR5gMbyK6s5/uJiMY5RXPB2+onGzTNDqFo/hXjsD2wkerHPVg==}
'@kevisual/auth@2.0.3':
resolution: {integrity: sha512-4xpijaIhlCTr/DlJaV/gmkCQeg45EO1yxWpRvUX+1jCdVbuxSR0wZrF0SD9oybnjmKWMKDNPLsXyduFjMGcItA==}
'@kevisual/code-center-module@0.0.20': '@kevisual/code-center-module@0.0.20':
resolution: {integrity: sha512-WFSB5iLnvc/RQ2NcO5xXTgkE1rDc39F9ezt0853ePq9kL9qOiOmzLWNBSN/0mN5rvPbwrTBajmEyuXv5MYfcWQ==} resolution: {integrity: sha512-WFSB5iLnvc/RQ2NcO5xXTgkE1rDc39F9ezt0853ePq9kL9qOiOmzLWNBSN/0mN5rvPbwrTBajmEyuXv5MYfcWQ==}
@@ -539,11 +539,8 @@ packages:
'@kevisual/permission@0.0.3': '@kevisual/permission@0.0.3':
resolution: {integrity: sha512-8JsA/5O5Ax/z+M+MYpFYdlioHE6jNmWMuFSokBWYs9CCAHNiSKMR01YLkoVDoPvncfH/Y8F5K/IEXRCbptuMNA==} resolution: {integrity: sha512-8JsA/5O5Ax/z+M+MYpFYdlioHE6jNmWMuFSokBWYs9CCAHNiSKMR01YLkoVDoPvncfH/Y8F5K/IEXRCbptuMNA==}
'@kevisual/query@0.0.33': '@kevisual/query@0.0.38':
resolution: {integrity: sha512-3w74bcLpwV3z483eg8n0DgkftfjWC6iLONXBvfyjW6IZf6jMOuouFaM4Rk+uEsTgElU6XGMKseNTp6dlQdWYkg==} resolution: {integrity: sha512-bfvbSodsZyMfwY+1T2SvDeOCKsT/AaIxlVe0+B1R/fNhlg2MDq2CP0L9HKiFkEm+OXrvXcYDMKPUituVUM5J6Q==}
'@kevisual/query@0.0.35':
resolution: {integrity: sha512-80dyy2LMCmEC72g+X4QWUKlZErhawQPgnGSBNR4yhrBcFgHIJQ14LR1Z+bS5S1I7db+1PDNpaxBTjIaoYoXunw==}
'@kevisual/router@0.0.21': '@kevisual/router@0.0.21':
resolution: {integrity: sha512-XKTxbNO924cT18UOAGplWErZ+hMze8Y53F2jYCk18v4jsdsvjRho5uXXjJb6HSVsuITMtQR4R3rG0IcM3jkDKQ==} resolution: {integrity: sha512-XKTxbNO924cT18UOAGplWErZ+hMze8Y53F2jYCk18v4jsdsvjRho5uXXjJb6HSVsuITMtQR4R3rG0IcM3jkDKQ==}
@@ -554,14 +551,11 @@ packages:
'@kevisual/router@0.0.23': '@kevisual/router@0.0.23':
resolution: {integrity: sha512-W6ehlhAzNe58vq4QeQt2XFoO84Qaw34A0PVOByJsJ2ICj4YKBTclAt+rOAoISCvUeSbeNOIuhUE3sLyPfplzUw==} resolution: {integrity: sha512-W6ehlhAzNe58vq4QeQt2XFoO84Qaw34A0PVOByJsJ2ICj4YKBTclAt+rOAoISCvUeSbeNOIuhUE3sLyPfplzUw==}
'@kevisual/router@0.0.50': '@kevisual/router@0.0.60':
resolution: {integrity: sha512-g9Rpf4QoowJdEdSnHD/f998fYDQ2ILYEnEkyAKw9Cj2RLVIWxMdMaHn4BRTUXXEJ35nYsPaj2LWVQap3OH2/hQ==} resolution: {integrity: sha512-2v/ZzUstsaq+Uqo+tZX9ys5E+/2erPggCtljv9jTb3NA88ZdHsYUAsd5wUFvLtf9QucpJCzyWEt+InDV/98FKw==}
'@kevisual/router@0.0.55': '@kevisual/types@0.0.12':
resolution: {integrity: sha512-DVhXbbUCfSWWXsp1id1HBrkGiMZ6nFUBD1/C5E7IpLE5B32w7sv2xjKUt98OriFl0uyuneMEIZuZsAQaKplQ5g==} resolution: {integrity: sha512-zJXH2dosir3jVrQ6QG4i0+iLQeT9gJ3H+cKXs8ReWboxBSYzUZO78XssVeVrFPsJ33iaAqo4q3DWbSS1dWGn7Q==}
'@kevisual/types@0.0.11':
resolution: {integrity: sha512-idNLDTEKVdNXZHFQq8PTN62nflh94kvGtx+v8YDcMxt0Zo+HWVZTFElm+dMQxAs/vn4wo8F2r3VwzWNX/vcqwQ==}
'@kevisual/use-config@1.0.28': '@kevisual/use-config@1.0.28':
resolution: {integrity: sha512-ngF+LDbjxpXWrZNmnShIKF/jPpAa+ezV+DcgoZIIzHlRnIjE+rr9sLkN/B7WJbiH9C/j1tQXOILY8ujBqILrow==} resolution: {integrity: sha512-ngF+LDbjxpXWrZNmnShIKF/jPpAa+ezV+DcgoZIIzHlRnIjE+rr9sLkN/B7WJbiH9C/j1tQXOILY8ujBqILrow==}
@@ -602,10 +596,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@noble/hashes@1.4.0':
resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==}
engines: {node: '>= 16'}
'@noble/hashes@1.8.0': '@noble/hashes@1.8.0':
resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==}
engines: {node: ^14.21.3 || >=16} engines: {node: ^14.21.3 || >=16}
@@ -613,40 +603,6 @@ packages:
'@paralleldrive/cuid2@2.2.2': '@paralleldrive/cuid2@2.2.2':
resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==} resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==}
'@peculiar/asn1-cms@2.6.0':
resolution: {integrity: sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==}
'@peculiar/asn1-csr@2.6.0':
resolution: {integrity: sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==}
'@peculiar/asn1-ecc@2.6.0':
resolution: {integrity: sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==}
'@peculiar/asn1-pfx@2.6.0':
resolution: {integrity: sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==}
'@peculiar/asn1-pkcs8@2.6.0':
resolution: {integrity: sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==}
'@peculiar/asn1-pkcs9@2.6.0':
resolution: {integrity: sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==}
'@peculiar/asn1-rsa@2.6.0':
resolution: {integrity: sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==}
'@peculiar/asn1-schema@2.6.0':
resolution: {integrity: sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==}
'@peculiar/asn1-x509-attr@2.6.0':
resolution: {integrity: sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==}
'@peculiar/asn1-x509@2.6.0':
resolution: {integrity: sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==}
'@peculiar/x509@1.14.2':
resolution: {integrity: sha512-r2w1Hg6pODDs0zfAKHkSS5HLkOLSeburtcgwvlLLWWCixw+MmW3U6kD5ddyvc2Y2YdbGuVwCF2S2ASoU1cFAag==}
engines: {node: '>=22.0.0'}
'@pkgjs/parseargs@0.11.0': '@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'} engines: {node: '>=14'}
@@ -700,23 +656,14 @@ packages:
'@types/jsonwebtoken@9.0.10': '@types/jsonwebtoken@9.0.10':
resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==}
'@types/lodash-es@4.17.12':
resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
'@types/lodash@4.17.7':
resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==}
'@types/ms@0.7.34': '@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
'@types/node-forge@1.3.11': '@types/node-forge@1.3.11':
resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
'@types/node@25.0.3': '@types/node@25.0.10':
resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} resolution: {integrity: sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==}
'@types/node@25.0.9':
resolution: {integrity: sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==}
'@types/readdir-glob@1.1.5': '@types/readdir-glob@1.1.5':
resolution: {integrity: sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==} resolution: {integrity: sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==}
@@ -799,10 +746,6 @@ packages:
asap@2.0.6: asap@2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
asn1js@3.0.6:
resolution: {integrity: sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==}
engines: {node: '>=12.0.0'}
ast-types@0.13.4: ast-types@0.13.4:
resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
engines: {node: '>=4'} engines: {node: '>=4'}
@@ -886,8 +829,8 @@ packages:
buffer@6.0.3: buffer@6.0.3:
resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
bullmq@5.66.5: bullmq@5.67.0:
resolution: {integrity: sha512-DC1E7P03L+TfNHv+2SGxwNYvtb0oJPODWSKkWdfis0heU5zFW16vjM7fCjwlxMdGWw2w28EI3mTRfYLEHeQQSw==} resolution: {integrity: sha512-8oLrD+8uZOkNtMbqd1Ok6asZEGJ4+wKQhD0BZJTUg78vjxtVJ0DCzFm8Vcq7RpzAH/U4YHombz79y2SWHzgd4g==}
bun-types@1.3.6: bun-types@1.3.6:
resolution: {integrity: sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ==} resolution: {integrity: sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ==}
@@ -896,10 +839,6 @@ packages:
resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
engines: {node: '>=10.16.0'} engines: {node: '>=10.16.0'}
bytestreamjs@2.0.1:
resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==}
engines: {node: '>=6.0.0'}
call-bind@1.0.7: call-bind@1.0.7:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@@ -1279,8 +1218,8 @@ packages:
eventemitter2@6.4.9: eventemitter2@6.4.9:
resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==} resolution: {integrity: sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==}
eventemitter3@5.0.1: eventemitter3@5.0.4:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
events@3.3.0: events@3.3.0:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
@@ -1422,6 +1361,10 @@ packages:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
hono@4.11.5:
resolution: {integrity: sha512-WemPi9/WfyMwZs+ZUXdiwcCh9Y+m7L+8vki9MzDw3jJ+W9Lc+12HGsd368Qc1vZi1xwW8BWMMsnK5efYKPdt4g==}
engines: {node: '>=16.9.0'}
http-errors@2.0.1: http-errors@2.0.1:
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
@@ -1454,10 +1397,6 @@ packages:
ini@1.3.8: ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
ioredis@5.9.1:
resolution: {integrity: sha512-BXNqFQ66oOsR82g9ajFFsR8ZKrjVvYCLyeML9IvSMAsP56XH2VXBdZjmI11p65nXXJxTEt1hie3J2QeFJVgrtQ==}
engines: {node: '>=12.22.0'}
ioredis@5.9.2: ioredis@5.9.2:
resolution: {integrity: sha512-tAAg/72/VxOUW7RQSX1pIxJVucYKcjFjfvj60L57jrZpYCHC3XN0WCQ3sNYL4Gmvv+7GPvTAjc+KSdeNuE8oWQ==} resolution: {integrity: sha512-tAAg/72/VxOUW7RQSX1pIxJVucYKcjFjfvj60L57jrZpYCHC3XN0WCQ3sNYL4Gmvv+7GPvTAjc+KSdeNuE8oWQ==}
engines: {node: '>=12.22.0'} engines: {node: '>=12.22.0'}
@@ -1553,8 +1492,8 @@ packages:
resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==}
engines: {node: '>= 0.6.3'} engines: {node: '>= 0.6.3'}
lodash-es@4.17.22: lodash-es@4.17.23:
resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==}
lodash.defaults@4.2.0: lodash.defaults@4.2.0:
resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==}
@@ -1768,8 +1707,8 @@ packages:
pg-cloudflare@1.3.0: pg-cloudflare@1.3.0:
resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==} resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==}
pg-connection-string@2.10.0: pg-connection-string@2.10.1:
resolution: {integrity: sha512-ur/eoPKzDx2IjPaYyXS6Y8NSblxM7X64deV2ObV57vhjsWiwLvUD6meukAzogiOsu60GO8m/3Cb6FdJsWNjwXg==} resolution: {integrity: sha512-iNzslsoeSH2/gmDDKiyMqF64DATUCWj3YJ0wP14kqcsf2TUklwimd+66yYojKwZCA7h2yRNLGug71hCBA2a4sw==}
pg-connection-string@2.7.0: pg-connection-string@2.7.0:
resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==}
@@ -1790,8 +1729,8 @@ packages:
resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
engines: {node: '>=4'} engines: {node: '>=4'}
pg@8.17.1: pg@8.17.2:
resolution: {integrity: sha512-EIR+jXdYNSMOrpRp7g6WgQr7SaZNZfS7IzZIO0oTNEeibq956JxeD15t3Jk3zZH0KH8DmOIx38qJfQenoE8bXQ==} resolution: {integrity: sha512-vjbKdiBJRqzcYw1fNU5KuHyYvdJ1qpcQg1CeBrHFqV1pWgHeVR6j/+kX0E1AAXfyuLUGY1ICrN2ELKA/z2HWzw==}
engines: {node: '>= 16.0.0'} engines: {node: '>= 16.0.0'}
peerDependencies: peerDependencies:
pg-native: '>=3.0.1' pg-native: '>=3.0.1'
@@ -1814,10 +1753,6 @@ packages:
resolution: {integrity: sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w==} resolution: {integrity: sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w==}
engines: {node: '>=10'} engines: {node: '>=10'}
pkijs@3.3.3:
resolution: {integrity: sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==}
engines: {node: '>=16.0.0'}
pm2-axon-rpc@0.7.1: pm2-axon-rpc@0.7.1:
resolution: {integrity: sha512-FbLvW60w+vEyvMjP/xom2UPhUN/2bVpdtLfKJeYM3gwzYhoTEEChCOICfFzxkxuoEleOlnpjie+n1nue91bDQw==} resolution: {integrity: sha512-FbLvW60w+vEyvMjP/xom2UPhUN/2bVpdtLfKJeYM3gwzYhoTEEChCOICfFzxkxuoEleOlnpjie+n1nue91bDQw==}
engines: {node: '>=5'} engines: {node: '>=5'}
@@ -1889,13 +1824,6 @@ packages:
pump@3.0.3: pump@3.0.3:
resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==}
pvtsutils@1.3.6:
resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==}
pvutils@1.1.5:
resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==}
engines: {node: '>=16.0.0'}
query-string@7.1.3: query-string@7.1.3:
resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
engines: {node: '>=6'} engines: {node: '>=6'}
@@ -1941,9 +1869,6 @@ packages:
resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==}
engines: {node: '>=4'} engines: {node: '>=4'}
reflect-metadata@0.2.2:
resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==}
require-in-the-middle@5.2.0: require-in-the-middle@5.2.0:
resolution: {integrity: sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==} resolution: {integrity: sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==}
engines: {node: '>=6'} engines: {node: '>=6'}
@@ -1977,10 +1902,6 @@ packages:
resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
engines: {node: '>=10'} engines: {node: '>=10'}
selfsigned@5.2.0:
resolution: {integrity: sha512-QKF6fsJgdKn5Cy1SekTuwUQ6LOLUdnO4gVne1+TGSAyL/CD1aznNCmBna+bQB9xyon7DiYbDtTR1cLaxDXuaVA==}
engines: {node: '>=15.6.0'}
semver@7.5.4: semver@7.5.4:
resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
engines: {node: '>=10'} engines: {node: '>=10'}
@@ -2224,10 +2145,6 @@ packages:
tslib@2.8.1: tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tsyringe@4.10.0:
resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==}
engines: {node: '>= 6.0.0'}
tunnel-agent@0.6.0: tunnel-agent@0.6.0:
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
@@ -2351,8 +2268,8 @@ packages:
zod@3.25.67: zod@3.25.67:
resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==}
zod@4.3.5: zod@4.3.6:
resolution: {integrity: sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==} resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
snapshots: snapshots:
@@ -2523,14 +2440,16 @@ snapshots:
wrap-ansi: 8.1.0 wrap-ansi: 8.1.0
wrap-ansi-cjs: wrap-ansi@7.0.0 wrap-ansi-cjs: wrap-ansi@7.0.0
'@kevisual/ai@0.0.20': '@kevisual/ai@0.0.22':
dependencies: dependencies:
'@kevisual/logger': 0.0.4 '@kevisual/logger': 0.0.4
'@kevisual/permission': 0.0.3 '@kevisual/permission': 0.0.3
'@kevisual/query': 0.0.35 '@kevisual/query': 0.0.38
'@kevisual/auth@1.0.5': {} '@kevisual/auth@1.0.5': {}
'@kevisual/auth@2.0.3': {}
'@kevisual/code-center-module@0.0.20(dotenv@17.2.3)': '@kevisual/code-center-module@0.0.20(dotenv@17.2.3)':
dependencies: dependencies:
'@kevisual/auth': 1.0.5 '@kevisual/auth': 1.0.5
@@ -2538,8 +2457,8 @@ snapshots:
'@kevisual/use-config': 1.0.28(dotenv@17.2.3) '@kevisual/use-config': 1.0.28(dotenv@17.2.3)
ioredis: 5.9.2 ioredis: 5.9.2
nanoid: 5.1.6 nanoid: 5.1.6
pg: 8.17.1 pg: 8.17.2
sequelize: 6.37.7(pg@8.17.1) sequelize: 6.37.7(pg@8.17.2)
socket.io: 4.8.3 socket.io: 4.8.3
zod: 3.25.67 zod: 3.25.67
transitivePeerDependencies: transitivePeerDependencies:
@@ -2564,8 +2483,8 @@ snapshots:
'@kevisual/use-config': 1.0.28(dotenv@17.2.3) '@kevisual/use-config': 1.0.28(dotenv@17.2.3)
ioredis: 5.9.2 ioredis: 5.9.2
nanoid: 5.1.6 nanoid: 5.1.6
pg: 8.17.1 pg: 8.17.2
sequelize: 6.37.7(pg@8.17.1) sequelize: 6.37.7(pg@8.17.2)
socket.io: 4.8.3 socket.io: 4.8.3
zod: 3.25.67 zod: 3.25.67
transitivePeerDependencies: transitivePeerDependencies:
@@ -2593,7 +2512,7 @@ snapshots:
cookie: 1.1.1 cookie: 1.1.1
dayjs: 1.11.19 dayjs: 1.11.19
formidable: 3.5.4 formidable: 3.5.4
lodash-es: 4.17.22 lodash-es: 4.17.23
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
- dotenv - dotenv
@@ -2611,7 +2530,7 @@ snapshots:
'@kevisual/load@0.0.6': '@kevisual/load@0.0.6':
dependencies: dependencies:
eventemitter3: 5.0.1 eventemitter3: 5.0.4
'@kevisual/local-app-manager@0.1.32': '@kevisual/local-app-manager@0.1.32':
dependencies: dependencies:
@@ -2627,9 +2546,7 @@ snapshots:
'@kevisual/permission@0.0.3': {} '@kevisual/permission@0.0.3': {}
'@kevisual/query@0.0.33': {} '@kevisual/query@0.0.38':
'@kevisual/query@0.0.35':
dependencies: dependencies:
tslib: 2.8.1 tslib: 2.8.1
@@ -2651,17 +2568,11 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@kevisual/router@0.0.50': '@kevisual/router@0.0.60':
dependencies: dependencies:
path-to-regexp: 8.3.0 hono: 4.11.5
selfsigned: 5.2.0
send: 1.2.1
transitivePeerDependencies:
- supports-color
'@kevisual/router@0.0.55': {} '@kevisual/types@0.0.12': {}
'@kevisual/types@0.0.11': {}
'@kevisual/use-config@1.0.28(dotenv@17.2.3)': '@kevisual/use-config@1.0.28(dotenv@17.2.3)':
dependencies: dependencies:
@@ -2688,104 +2599,12 @@ snapshots:
'@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3':
optional: true optional: true
'@noble/hashes@1.4.0': {}
'@noble/hashes@1.8.0': {} '@noble/hashes@1.8.0': {}
'@paralleldrive/cuid2@2.2.2': '@paralleldrive/cuid2@2.2.2':
dependencies: dependencies:
'@noble/hashes': 1.8.0 '@noble/hashes': 1.8.0
'@peculiar/asn1-cms@2.6.0':
dependencies:
'@peculiar/asn1-schema': 2.6.0
'@peculiar/asn1-x509': 2.6.0
'@peculiar/asn1-x509-attr': 2.6.0
asn1js: 3.0.6
tslib: 2.8.1
'@peculiar/asn1-csr@2.6.0':
dependencies:
'@peculiar/asn1-schema': 2.6.0
'@peculiar/asn1-x509': 2.6.0
asn1js: 3.0.6
tslib: 2.8.1
'@peculiar/asn1-ecc@2.6.0':
dependencies:
'@peculiar/asn1-schema': 2.6.0
'@peculiar/asn1-x509': 2.6.0
asn1js: 3.0.6
tslib: 2.8.1
'@peculiar/asn1-pfx@2.6.0':
dependencies:
'@peculiar/asn1-cms': 2.6.0
'@peculiar/asn1-pkcs8': 2.6.0
'@peculiar/asn1-rsa': 2.6.0
'@peculiar/asn1-schema': 2.6.0
asn1js: 3.0.6
tslib: 2.8.1
'@peculiar/asn1-pkcs8@2.6.0':
dependencies:
'@peculiar/asn1-schema': 2.6.0
'@peculiar/asn1-x509': 2.6.0
asn1js: 3.0.6
tslib: 2.8.1
'@peculiar/asn1-pkcs9@2.6.0':
dependencies:
'@peculiar/asn1-cms': 2.6.0
'@peculiar/asn1-pfx': 2.6.0
'@peculiar/asn1-pkcs8': 2.6.0
'@peculiar/asn1-schema': 2.6.0
'@peculiar/asn1-x509': 2.6.0
'@peculiar/asn1-x509-attr': 2.6.0
asn1js: 3.0.6
tslib: 2.8.1
'@peculiar/asn1-rsa@2.6.0':
dependencies:
'@peculiar/asn1-schema': 2.6.0
'@peculiar/asn1-x509': 2.6.0
asn1js: 3.0.6
tslib: 2.8.1
'@peculiar/asn1-schema@2.6.0':
dependencies:
asn1js: 3.0.6
pvtsutils: 1.3.6
tslib: 2.8.1
'@peculiar/asn1-x509-attr@2.6.0':
dependencies:
'@peculiar/asn1-schema': 2.6.0
'@peculiar/asn1-x509': 2.6.0
asn1js: 3.0.6
tslib: 2.8.1
'@peculiar/asn1-x509@2.6.0':
dependencies:
'@peculiar/asn1-schema': 2.6.0
asn1js: 3.0.6
pvtsutils: 1.3.6
tslib: 2.8.1
'@peculiar/x509@1.14.2':
dependencies:
'@peculiar/asn1-cms': 2.6.0
'@peculiar/asn1-csr': 2.6.0
'@peculiar/asn1-ecc': 2.6.0
'@peculiar/asn1-pkcs9': 2.6.0
'@peculiar/asn1-rsa': 2.6.0
'@peculiar/asn1-schema': 2.6.0
'@peculiar/asn1-x509': 2.6.0
pvtsutils: 1.3.6
reflect-metadata: 0.2.2
tslib: 2.8.1
tsyringe: 4.10.0
'@pkgjs/parseargs@0.11.0': '@pkgjs/parseargs@0.11.0':
optional: true optional: true
@@ -2855,13 +2674,13 @@ snapshots:
'@types/busboy@1.5.4': '@types/busboy@1.5.4':
dependencies: dependencies:
'@types/node': 25.0.9 '@types/node': 25.0.10
'@types/cookie@0.4.1': {} '@types/cookie@0.4.1': {}
'@types/cors@2.8.17': '@types/cors@2.8.17':
dependencies: dependencies:
'@types/node': 25.0.9 '@types/node': 25.0.10
'@types/crypto-js@4.2.2': {} '@types/crypto-js@4.2.2': {}
@@ -2872,47 +2691,37 @@ snapshots:
'@types/jsonwebtoken@9.0.10': '@types/jsonwebtoken@9.0.10':
dependencies: dependencies:
'@types/ms': 0.7.34 '@types/ms': 0.7.34
'@types/node': 25.0.9 '@types/node': 25.0.10
'@types/lodash-es@4.17.12':
dependencies:
'@types/lodash': 4.17.7
'@types/lodash@4.17.7': {}
'@types/ms@0.7.34': {} '@types/ms@0.7.34': {}
'@types/node-forge@1.3.11': '@types/node-forge@1.3.11':
dependencies: dependencies:
'@types/node': 25.0.9 '@types/node': 25.0.10
'@types/node@25.0.3': '@types/node@25.0.10':
dependencies:
undici-types: 7.16.0
'@types/node@25.0.9':
dependencies: dependencies:
undici-types: 7.16.0 undici-types: 7.16.0
'@types/readdir-glob@1.1.5': '@types/readdir-glob@1.1.5':
dependencies: dependencies:
'@types/node': 25.0.9 '@types/node': 25.0.10
'@types/semver@7.7.1': {} '@types/semver@7.7.1': {}
'@types/send@1.2.1': '@types/send@1.2.1':
dependencies: dependencies:
'@types/node': 25.0.9 '@types/node': 25.0.10
'@types/validator@13.12.2': {} '@types/validator@13.12.2': {}
'@types/ws@8.18.1': '@types/ws@8.18.1':
dependencies: dependencies:
'@types/node': 25.0.9 '@types/node': 25.0.10
'@types/xml2js@0.4.14': '@types/xml2js@0.4.14':
dependencies: dependencies:
'@types/node': 25.0.3 '@types/node': 25.0.10
'@zxing/text-encoding@0.9.0': '@zxing/text-encoding@0.9.0':
optional: true optional: true
@@ -2981,12 +2790,6 @@ snapshots:
asap@2.0.6: {} asap@2.0.6: {}
asn1js@3.0.6:
dependencies:
pvtsutils: 1.3.6
pvutils: 1.1.5
tslib: 2.8.1
ast-types@0.13.4: ast-types@0.13.4:
dependencies: dependencies:
tslib: 2.8.1 tslib: 2.8.1
@@ -3068,10 +2871,10 @@ snapshots:
base64-js: 1.5.1 base64-js: 1.5.1
ieee754: 1.2.1 ieee754: 1.2.1
bullmq@5.66.5: bullmq@5.67.0:
dependencies: dependencies:
cron-parser: 4.9.0 cron-parser: 4.9.0
ioredis: 5.9.1 ioredis: 5.9.2
msgpackr: 1.11.5 msgpackr: 1.11.5
node-abort-controller: 3.1.1 node-abort-controller: 3.1.1
semver: 7.7.3 semver: 7.7.3
@@ -3082,14 +2885,12 @@ snapshots:
bun-types@1.3.6: bun-types@1.3.6:
dependencies: dependencies:
'@types/node': 25.0.9 '@types/node': 25.0.10
busboy@1.6.0: busboy@1.6.0:
dependencies: dependencies:
streamsearch: 1.1.0 streamsearch: 1.1.0
bytestreamjs@2.0.1: {}
call-bind@1.0.7: call-bind@1.0.7:
dependencies: dependencies:
es-define-property: 1.0.0 es-define-property: 1.0.0
@@ -3249,16 +3050,16 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
drizzle-orm@0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.1): drizzle-orm@0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.2):
optionalDependencies: optionalDependencies:
better-sqlite3: 12.6.2 better-sqlite3: 12.6.2
bun-types: 1.3.6 bun-types: 1.3.6
pg: 8.17.1 pg: 8.17.2
drizzle-zod@0.8.3(drizzle-orm@0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.1))(zod@4.3.5): drizzle-zod@0.8.3(drizzle-orm@0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.2))(zod@4.3.6):
dependencies: dependencies:
drizzle-orm: 0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.1) drizzle-orm: 0.45.1(better-sqlite3@12.6.2)(bun-types@1.3.6)(pg@8.17.2)
zod: 4.3.5 zod: 4.3.6
eastasianwidth@0.2.0: {} eastasianwidth@0.2.0: {}
@@ -3284,7 +3085,7 @@ snapshots:
dependencies: dependencies:
'@types/cookie': 0.4.1 '@types/cookie': 0.4.1
'@types/cors': 2.8.17 '@types/cors': 2.8.17
'@types/node': 25.0.9 '@types/node': 25.0.10
accepts: 1.3.8 accepts: 1.3.8
base64id: 2.0.0 base64id: 2.0.0
cookie: 0.4.2 cookie: 0.4.2
@@ -3396,7 +3197,7 @@ snapshots:
eventemitter2@6.4.9: {} eventemitter2@6.4.9: {}
eventemitter3@5.0.1: {} eventemitter3@5.0.4: {}
events@3.3.0: {} events@3.3.0: {}
@@ -3528,6 +3329,8 @@ snapshots:
dependencies: dependencies:
function-bind: 1.1.2 function-bind: 1.1.2
hono@4.11.5: {}
http-errors@2.0.1: http-errors@2.0.1:
dependencies: dependencies:
depd: 2.0.0 depd: 2.0.0
@@ -3564,20 +3367,6 @@ snapshots:
ini@1.3.8: {} ini@1.3.8: {}
ioredis@5.9.1:
dependencies:
'@ioredis/commands': 1.5.0
cluster-key-slot: 1.1.2
debug: 4.4.3(supports-color@5.5.0)
denque: 2.1.0
lodash.defaults: 4.2.0
lodash.isarguments: 3.1.0
redis-errors: 1.2.0
redis-parser: 3.0.0
standard-as-callback: 2.1.0
transitivePeerDependencies:
- supports-color
ioredis@5.9.2: ioredis@5.9.2:
dependencies: dependencies:
'@ioredis/commands': 1.5.0 '@ioredis/commands': 1.5.0
@@ -3694,7 +3483,7 @@ snapshots:
dependencies: dependencies:
readable-stream: 2.3.8 readable-stream: 2.3.8
lodash-es@4.17.22: {} lodash-es@4.17.23: {}
lodash.defaults@4.2.0: {} lodash.defaults@4.2.0: {}
@@ -3760,7 +3549,7 @@ snapshots:
block-stream2: 2.1.0 block-stream2: 2.1.0
browser-or-node: 2.1.1 browser-or-node: 2.1.1
buffer-crc32: 1.0.0 buffer-crc32: 1.0.0
eventemitter3: 5.0.1 eventemitter3: 5.0.4
fast-xml-parser: 4.5.0 fast-xml-parser: 4.5.0
ipaddr.js: 2.2.0 ipaddr.js: 2.2.0
lodash: 4.17.21 lodash: 4.17.21
@@ -3861,7 +3650,7 @@ snapshots:
p-queue@9.1.0: p-queue@9.1.0:
dependencies: dependencies:
eventemitter3: 5.0.1 eventemitter3: 5.0.4
p-timeout: 7.0.1 p-timeout: 7.0.1
p-timeout@7.0.1: {} p-timeout@7.0.1: {}
@@ -3902,15 +3691,15 @@ snapshots:
pg-cloudflare@1.3.0: pg-cloudflare@1.3.0:
optional: true optional: true
pg-connection-string@2.10.0: {} pg-connection-string@2.10.1: {}
pg-connection-string@2.7.0: {} pg-connection-string@2.7.0: {}
pg-int8@1.0.1: {} pg-int8@1.0.1: {}
pg-pool@3.11.0(pg@8.17.1): pg-pool@3.11.0(pg@8.17.2):
dependencies: dependencies:
pg: 8.17.1 pg: 8.17.2
pg-protocol@1.11.0: {} pg-protocol@1.11.0: {}
@@ -3922,10 +3711,10 @@ snapshots:
postgres-date: 1.0.7 postgres-date: 1.0.7
postgres-interval: 1.2.0 postgres-interval: 1.2.0
pg@8.17.1: pg@8.17.2:
dependencies: dependencies:
pg-connection-string: 2.10.0 pg-connection-string: 2.10.1
pg-pool: 3.11.0(pg@8.17.1) pg-pool: 3.11.0(pg@8.17.2)
pg-protocol: 1.11.0 pg-protocol: 1.11.0
pg-types: 2.2.0 pg-types: 2.2.0
pgpass: 1.0.5 pgpass: 1.0.5
@@ -3947,15 +3736,6 @@ snapshots:
dependencies: dependencies:
safe-buffer: 5.2.1 safe-buffer: 5.2.1
pkijs@3.3.3:
dependencies:
'@noble/hashes': 1.4.0
asn1js: 3.0.6
bytestreamjs: 2.0.1
pvtsutils: 1.3.6
pvutils: 1.1.5
tslib: 2.8.1
pm2-axon-rpc@0.7.1: pm2-axon-rpc@0.7.1:
dependencies: dependencies:
debug: 4.4.3(supports-color@5.5.0) debug: 4.4.3(supports-color@5.5.0)
@@ -4086,12 +3866,6 @@ snapshots:
end-of-stream: 1.4.5 end-of-stream: 1.4.5
once: 1.4.0 once: 1.4.0
pvtsutils@1.3.6:
dependencies:
tslib: 2.8.1
pvutils@1.1.5: {}
query-string@7.1.3: query-string@7.1.3:
dependencies: dependencies:
decode-uri-component: 0.2.2 decode-uri-component: 0.2.2
@@ -4152,8 +3926,6 @@ snapshots:
dependencies: dependencies:
redis-errors: 1.2.0 redis-errors: 1.2.0
reflect-metadata@0.2.2: {}
require-in-the-middle@5.2.0: require-in-the-middle@5.2.0:
dependencies: dependencies:
debug: 4.4.3(supports-color@5.5.0) debug: 4.4.3(supports-color@5.5.0)
@@ -4187,11 +3959,6 @@ snapshots:
'@types/node-forge': 1.3.11 '@types/node-forge': 1.3.11
node-forge: 1.3.1 node-forge: 1.3.1
selfsigned@5.2.0:
dependencies:
'@peculiar/x509': 1.14.2
pkijs: 3.3.3
semver@7.5.4: semver@7.5.4:
dependencies: dependencies:
lru-cache: 6.0.0 lru-cache: 6.0.0
@@ -4218,7 +3985,7 @@ snapshots:
sequelize-pool@7.1.0: {} sequelize-pool@7.1.0: {}
sequelize@6.37.7(pg@8.17.1): sequelize@6.37.7(pg@8.17.2):
dependencies: dependencies:
'@types/debug': 4.1.12 '@types/debug': 4.1.12
'@types/validator': 13.12.2 '@types/validator': 13.12.2
@@ -4237,7 +4004,7 @@ snapshots:
validator: 13.12.0 validator: 13.12.0
wkx: 0.5.0 wkx: 0.5.0
optionalDependencies: optionalDependencies:
pg: 8.17.1 pg: 8.17.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -4446,10 +4213,6 @@ snapshots:
tslib@2.8.1: {} tslib@2.8.1: {}
tsyringe@4.10.0:
dependencies:
tslib: 1.9.3
tunnel-agent@0.6.0: tunnel-agent@0.6.0:
dependencies: dependencies:
safe-buffer: 5.2.1 safe-buffer: 5.2.1
@@ -4512,7 +4275,7 @@ snapshots:
wkx@0.5.0: wkx@0.5.0:
dependencies: dependencies:
'@types/node': 25.0.9 '@types/node': 25.0.10
wrap-ansi@7.0.0: wrap-ansi@7.0.0:
dependencies: dependencies:
@@ -4549,10 +4312,10 @@ snapshots:
compress-commons: 6.0.2 compress-commons: 6.0.2
readable-stream: 4.5.2 readable-stream: 4.5.2
zod-to-json-schema@3.25.1(zod@4.3.5): zod-to-json-schema@3.25.1(zod@4.3.6):
dependencies: dependencies:
zod: 4.3.5 zod: 4.3.6
zod@3.25.67: {} zod@3.25.67: {}
zod@4.3.5: {} zod@4.3.6: {}

View File

@@ -3,7 +3,7 @@ import { app } from '../../app.ts';
import { PageModel } from './models/index.ts'; import { PageModel } from './models/index.ts';
import { AppListModel, AppModel } from '../../routes/app-manager/index.ts'; import { AppListModel, AppModel } from '../../routes/app-manager/index.ts';
import { cachePage, getZip } from './module/cache-file.ts'; import { cachePage, getZip } from './module/cache-file.ts';
import { uniqBy } from 'lodash-es'; import { uniqBy } from 'es-toolkit';
import semver from 'semver'; import semver from 'semver';
app app
@@ -50,7 +50,7 @@ app
// 上传文件 // 上传文件
const res = await cachePage(page, { tokenUser, key, version: _version }); const res = await cachePage(page, { tokenUser, key, version: _version });
const appFiles = appList?.data?.files || []; const appFiles = appList?.data?.files || [];
const newFiles = uniqBy([...appFiles, ...res], 'name'); const newFiles = uniqBy([...appFiles, ...res], (item) => item.name);
appList.data = { appList.data = {
...appList?.data, ...appList?.data,
files: newFiles, files: newFiles,

View File

@@ -12,7 +12,7 @@ import { createWriteStream } from 'fs';
import { pipeBusboy } from '@/modules/fm-manager/pipe-busboy.ts'; import { pipeBusboy } from '@/modules/fm-manager/pipe-busboy.ts';
import { ConfigModel } from '@/routes/config/models/model.ts'; import { ConfigModel } from '@/routes/config/models/model.ts';
import { validateDirectory } from './util.ts'; import { validateDirectory } from './util.ts';
import { pick } from 'lodash-es'; import { pick } from 'es-toolkit';
import { getFileStat } from '@/routes/file/index.ts'; import { getFileStat } from '@/routes/file/index.ts';
import { logger } from '@/modules/logger.ts'; import { logger } from '@/modules/logger.ts';

View File

@@ -1,7 +1,7 @@
import { App, CustomError } from '@kevisual/router'; import { App, CustomError } from '@kevisual/router';
import { AppModel, AppListModel } from './module/index.ts'; import { AppModel, AppListModel } from './module/index.ts';
import { app, redis } from '@/app.ts'; import { app, redis } from '@/app.ts';
import { uniqBy } from 'lodash-es'; import { uniqBy } from 'es-toolkit';
import { getUidByUsername, prefixFix } from './util.ts'; import { getUidByUsername, prefixFix } from './util.ts';
import { deleteFiles, getMinioListAndSetToAppList } from '../file/index.ts'; import { deleteFiles, getMinioListAndSetToAppList } from '../file/index.ts';
import { setExpire } from './revoke.ts'; import { setExpire } from './revoke.ts';
@@ -216,7 +216,7 @@ app
}); });
} }
const dataFiles = app.data.files || []; const dataFiles = app.data.files || [];
const newFiles = uniqBy([...dataFiles, ...files], 'name'); const newFiles = uniqBy([...dataFiles, ...files], (item) => item.name);
const res = await app.update({ data: { ...app.data, files: newFiles } }); const res = await app.update({ data: { ...app.data, files: newFiles } });
if (version === am.version && !appIsNew) { if (version === am.version && !appIsNew) {
await am.update({ data: { ...am.data, files: newFiles } }); await am.update({ data: { ...am.data, files: newFiles } });

View File

@@ -23,13 +23,13 @@
], ],
"author": "abearxiong <xiongxiao@xiongxiao.me> (https://www.xiongxiao.me)", "author": "abearxiong <xiongxiao@xiongxiao.me> (https://www.xiongxiao.me)",
"license": "MIT", "license": "MIT",
"packageManager": "pnpm@10.26.2", "packageManager": "pnpm@10.28.1",
"type": "module", "type": "module",
"dependencies": { "dependencies": {
"@kevisual/context": "^0.0.4", "@kevisual/context": "^0.0.4",
"@kevisual/query": "^0.0.33", "@kevisual/query": "^0.0.38",
"@kevisual/router": "0.0.50", "@kevisual/router": "0.0.60",
"@types/node": "^25.0.3", "@types/node": "^25.0.10",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"xml2js": "^0.6.2" "xml2js": "^0.6.2"
}, },