From dfd4aacf1c1847f5ab023f963326972ddf0166ad Mon Sep 17 00:00:00 2001 From: xiongxiao Date: Sun, 22 Mar 2026 03:04:06 +0800 Subject: [PATCH] Refactor code structure for improved readability and maintainability --- package.json | 12 +- pnpm-lock.yaml | 419 +++++++++++++++++++++++++------------------------ 2 files changed, 223 insertions(+), 208 deletions(-) diff --git a/package.json b/package.json index 1e180c5..e3daf01 100644 --- a/package.json +++ b/package.json @@ -58,10 +58,10 @@ "xml2js": "^0.6.2" }, "devDependencies": { - "@ai-sdk/openai-compatible": "^2.0.35", - "@aws-sdk/client-s3": "^3.1013.0", - "@kevisual/api": "^0.0.64", - "@kevisual/cnb": "^0.0.56", + "@ai-sdk/openai-compatible": "^2.0.37", + "@aws-sdk/client-s3": "^3.1014.0", + "@kevisual/api": "^0.0.65", + "@kevisual/cnb": "^0.0.58", "@kevisual/context": "^0.0.8", "@kevisual/local-app-manager": "0.1.32", "@kevisual/logger": "^0.0.4", @@ -75,10 +75,10 @@ "@types/crypto-js": "^4.2.2", "@types/jsonwebtoken": "^9.0.10", "@types/node": "^25.5.0", - "@types/pg": "^8.18.0", + "@types/pg": "^8.20.0", "@types/semver": "^7.7.1", "@types/xml2js": "^0.4.14", - "ai": "^6.0.116", + "ai": "^6.0.134", "archiver": "^7.0.1", "convex": "^1.34.0", "crypto-js": "^4.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec21f55..066d616 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: version: 0.31.10 drizzle-orm: specifier: ^0.45.1 - version: 0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0) + version: 0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.20.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0) eventemitter3: specifier: ^5.0.4 version: 5.0.4 @@ -60,17 +60,17 @@ importers: version: 0.6.2 devDependencies: '@ai-sdk/openai-compatible': - specifier: ^2.0.35 - version: 2.0.35(zod@4.3.6) + specifier: ^2.0.37 + version: 2.0.37(zod@4.3.6) '@aws-sdk/client-s3': - specifier: ^3.1013.0 - version: 3.1013.0 + specifier: ^3.1014.0 + version: 3.1014.0 '@kevisual/api': - specifier: ^0.0.64 - version: 0.0.64(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: ^0.0.65 + version: 0.0.65(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@kevisual/cnb': - specifier: ^0.0.56 - version: 0.0.56(dotenv@17.3.1)(ioredis@5.10.0) + specifier: ^0.0.58 + version: 0.0.58(dotenv@17.3.1)(idb-keyval@6.2.2)(ioredis@5.10.0) '@kevisual/context': specifier: ^0.0.8 version: 0.0.8 @@ -111,8 +111,8 @@ importers: specifier: ^25.5.0 version: 25.5.0 '@types/pg': - specifier: ^8.18.0 - version: 8.18.0 + specifier: ^8.20.0 + version: 8.20.0 '@types/semver': specifier: ^7.7.1 version: 7.7.1 @@ -120,8 +120,8 @@ importers: specifier: ^0.4.14 version: 0.4.14 ai: - specifier: ^6.0.116 - version: 6.0.116(zod@4.3.6) + specifier: ^6.0.134 + version: 6.0.134(zod@4.3.6) archiver: specifier: ^7.0.1 version: 7.0.1 @@ -139,7 +139,7 @@ importers: version: 17.3.1 drizzle-zod: specifier: ^0.8.3 - version: 0.8.3(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0))(zod@4.3.6) + version: 0.8.3(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.20.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0))(zod@4.3.6) es-toolkit: specifier: ^1.45.1 version: 1.45.1 @@ -207,14 +207,14 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@3.0.66': - resolution: {integrity: sha512-SIQ0YY0iMuv+07HLsZ+bB990zUJ6S4ujORAh+Jv1V2KGNn73qQKnGO0JBk+w+Res8YqOFSycwDoWcFlQrVxS4A==} + '@ai-sdk/gateway@3.0.77': + resolution: {integrity: sha512-UdwIG2H2YMuntJQ5L+EmED5XiwnlvDT3HOmKfVFxR4Nq/RSLFA/HcchhwfNXHZ5UJjyuL2VO0huLbWSZ9ijemQ==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai-compatible@2.0.35': - resolution: {integrity: sha512-g3wA57IAQFb+3j4YuFndgkUdXyRETZVvbfAWM+UX7bZSxA3xjes0v3XKgIdKdekPtDGsh4ZX2byHD0gJIMPfiA==} + '@ai-sdk/openai-compatible@2.0.37': + resolution: {integrity: sha512-+POSFVcgiu47BK64dhsI6OpcDC0/VAE2ZSaXdXGNNhpC/ava++uSRJYks0k2bpfY0wwCTgpAWZsXn/dG2Yppiw==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -231,6 +231,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider-utils@4.0.21': + resolution: {integrity: sha512-MtFUYI1/8mgDvRmaBDjbLJPFFrMG777AvSgyIFQtZHIMzm88R/12vYBBpnk7pfiWLFE1DSZzY4WDYzGbKAcmiw==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider@3.0.8': resolution: {integrity: sha512-oGMAgGoQdBXbZqNG0Ze56CHjDZ1IDYOwGYxYjO5KLSlz5HiNQ9udIXsPZ61VWaHGZ5XW/jyjmr6t2xz2jGVwbQ==} engines: {node: '>=18'} @@ -258,48 +264,48 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.1013.0': - resolution: {integrity: sha512-vFdyRyRatF+xP9Fi+4alZkmzZadqOAM34Pm6SUZsYtumNrWkgMc/pFWITnsq6eltM8qcV/vcinQ1ZBXWm/PlKg==} + '@aws-sdk/client-s3@3.1014.0': + resolution: {integrity: sha512-0XLrOT4Cm3NEhhiME7l/8LbTXS4KdsbR4dSrY207KNKTcHLLTZ9EXt4ZpgnTfLvWQF3pGP2us4Zi1fYLo0N+Ow==} engines: {node: '>=20.0.0'} - '@aws-sdk/core@3.973.22': - resolution: {integrity: sha512-lY6g5L95jBNgOUitUhfV2N/W+i08jHEl3xuLODYSQH5Sf50V+LkVYBSyZRLtv2RyuXZXiV7yQ+acpswK1tlrOA==} + '@aws-sdk/core@3.973.23': + resolution: {integrity: sha512-aoJncvD1XvloZ9JLnKqTRL9dBy+Szkryoag9VT+V1TqsuUgIxV9cnBVM/hrDi2vE8bDqLiDR8nirdRcCdtJu0w==} engines: {node: '>=20.0.0'} '@aws-sdk/crc64-nvme@3.972.5': resolution: {integrity: sha512-2VbTstbjKdT+yKi8m7b3a9CiVac+pL/IY2PHJwsaGkkHmuuqkJZIErPck1h6P3T9ghQMLSdMPyW6Qp7Di5swFg==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-env@3.972.20': - resolution: {integrity: sha512-vI0QN96DFx3g9AunfOWF3CS4cMkqFiR/WM/FyP9QHr5rZ2dKPkYwP3tCgAOvGuu9CXI7dC1vU2FVUuZ+tfpNvQ==} + '@aws-sdk/credential-provider-env@3.972.21': + resolution: {integrity: sha512-BkAfKq8Bd4shCtec1usNz//urPJF/SZy14qJyxkSaRJQ/Vv1gVh0VZSTmS7aE6aLMELkFV5wHHrS9ZcdG8Kxsg==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-http@3.972.22': - resolution: {integrity: sha512-aS/81smalpe7XDnuQfOq4LIPuaV2PRKU2aMTrHcqO5BD4HwO5kESOHNcec2AYfBtLtIDqgF6RXisgBnfK/jt0w==} + '@aws-sdk/credential-provider-http@3.972.23': + resolution: {integrity: sha512-4XZ3+Gu5DY8/n8zQFHBgcKTF7hWQl42G6CY9xfXVo2d25FM/lYkpmuzhYopYoPL1ITWkJ2OSBQfYEu5JRfHOhA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-ini@3.972.22': - resolution: {integrity: sha512-rpF8fBT0LllMDp78s62aL2A/8MaccjyJ0ORzqu+ZADeECLSrrCWIeeXsuRam+pxiAMkI1uIyDZJmgLGdadkPXw==} + '@aws-sdk/credential-provider-ini@3.972.23': + resolution: {integrity: sha512-PZLSmU0JFpNCDFReidBezsgL5ji9jOBry8CnZdw4Jj6d0K2z3Ftnp44NXgADqYx5BLMu/ZHujfeJReaDoV+IwQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-login@3.972.22': - resolution: {integrity: sha512-u33CO9zeNznlVSg9tWTCRYxaGkqr1ufU6qeClpmzAabXZa8RZxQoVXxL5T53oZJFzQYj+FImORCSsi7H7B77gQ==} + '@aws-sdk/credential-provider-login@3.972.23': + resolution: {integrity: sha512-OmE/pSkbMM3dCj1HdOnZ5kXnKK+R/Yz+kbBugraBecp0pGAs21eEURfQRz+1N2gzIHLVyGIP1MEjk/uSrFsngg==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-node@3.972.23': - resolution: {integrity: sha512-U8tyLbLOZItuVWTH0ay9gWo4xMqZwqQbg1oMzdU4FQSkTpqXemm4X0uoKBR6llqAStgBp30ziKFJHTA43l4qMw==} + '@aws-sdk/credential-provider-node@3.972.24': + resolution: {integrity: sha512-9Jwi7aps3AfUicJyF5udYadPypPpCwUZ6BSKr/QjRbVCpRVS1wc+1Q6AEZ/qz8J4JraeRd247pSzyMQSIHVebw==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-process@3.972.20': - resolution: {integrity: sha512-QRfk7GbA4/HDRjhP3QYR6QBr/QKreVoOzvvlRHnOuGgYJkeoPgPY3LAI1kK1ZMgZ4hH9KiGp757/ntol+INAig==} + '@aws-sdk/credential-provider-process@3.972.21': + resolution: {integrity: sha512-nRxbeOJ1E1gVA0lNQezuMVndx+ZcuyaW/RB05pUsznN5BxykSlH6KkZ/7Ca/ubJf3i5N3p0gwNO5zgPSCzj+ww==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-sso@3.972.22': - resolution: {integrity: sha512-4vqlSaUbBj4aNPVKfB6yXuIQ2Z2mvLfIGba2OzzF6zUkN437/PGWsxBU2F8QPSFHti6seckvyCXidU3H+R8NvQ==} + '@aws-sdk/credential-provider-sso@3.972.23': + resolution: {integrity: sha512-APUccADuYPLL0f2htpM8Z4czabSmHOdo4r41W6lKEZdy++cNJ42Radqy6x4TopENzr3hR6WYMyhiuiqtbf/nAA==} engines: {node: '>=20.0.0'} - '@aws-sdk/credential-provider-web-identity@3.972.22': - resolution: {integrity: sha512-/wN1CYg2rVLhW8/jLxMWacQrkpaynnL+4j/Z+e6X1PfoE6NiC0BeOw3i0JmtZrKun85wNV5GmspvuWJihfeeUw==} + '@aws-sdk/credential-provider-web-identity@3.972.23': + resolution: {integrity: sha512-H5JNqtIwOu/feInmMMWcK0dL5r897ReEn7n2m16Dd0DPD9gA2Hg8Cq4UDzZ/9OzaLh/uqBM6seixz0U6Fi2Eag==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-bucket-endpoint@3.972.8': @@ -310,8 +316,8 @@ packages: resolution: {integrity: sha512-5DTBTiotEES1e2jOHAq//zyzCjeMB78lEHd35u15qnrid4Nxm7diqIf9fQQ3Ov0ChH1V3Vvt13thOnrACmfGVQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.974.2': - resolution: {integrity: sha512-4soN/N4R6ptdnHw7hXPVDZMIIL+vhN8rwtLdDyS0uD7ExhadtJzolTBIM5eKSkbw5uBEbIwtJc8HCG2NM6tN/g==} + '@aws-sdk/middleware-flexible-checksums@3.974.3': + resolution: {integrity: sha512-fB7FNLH1+VPUs0QL3PLrHW+DD4gKu6daFgWtyq3R0Y0Lx8DLZPvyGAxCZNFBxH+M2xt9KvBJX6USwjuqvitmCQ==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-host-header@3.972.8': @@ -330,32 +336,32 @@ packages: resolution: {integrity: sha512-BnnvYs2ZEpdlmZ2PNlV2ZyQ8j8AEkMTjN79y/YA475ER1ByFYrkVR85qmhni8oeTaJcDqbx364wDpitDAA/wCA==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-sdk-s3@3.972.22': - resolution: {integrity: sha512-dkUcRxF4rVpPbyHpxjCApGK6b7JpnSeo7tDoNakpRKmiLMCqgy4tlGBgeEYJnZgLrA4xc5jVKuXgvgqKqU18Kw==} + '@aws-sdk/middleware-sdk-s3@3.972.23': + resolution: {integrity: sha512-50QgHGPQAb2veqFOmTF1A3GsAklLHZXL47KbY35khIkfbXH5PLvqpEc/gOAEBPj/yFxrlgxz/8mqWcWTNxBkwQ==} engines: {node: '>=20.0.0'} '@aws-sdk/middleware-ssec@3.972.8': resolution: {integrity: sha512-wqlK0yO/TxEC2UsY9wIlqeeutF6jjLe0f96Pbm40XscTo57nImUk9lBcw0dPgsm0sppFtAkSlDrfpK+pC30Wqw==} engines: {node: '>=20.0.0'} - '@aws-sdk/middleware-user-agent@3.972.23': - resolution: {integrity: sha512-HQu8QoqGZZTvg0Spl9H39QTsSMFwgu+8yz/QGKndXFLk9FZMiCiIgBCVlTVKMDvVbgqIzD9ig+/HmXsIL2Rb+g==} + '@aws-sdk/middleware-user-agent@3.972.24': + resolution: {integrity: sha512-dLTWy6IfAMhNiSEvMr07g/qZ54be6pLqlxVblbF6AzafmmGAzMMj8qMoY9B4+YgT+gY9IcuxZslNh03L6PyMCQ==} engines: {node: '>=20.0.0'} - '@aws-sdk/nested-clients@3.996.12': - resolution: {integrity: sha512-KLdQGJPSm98uLINolQ0Tol8OAbk7g0Y7zplHJ1K83vbMIH13aoCvR6Tho66xueW4l4aZlEgVGLWBnD8ifUMsGQ==} + '@aws-sdk/nested-clients@3.996.13': + resolution: {integrity: sha512-ptZ1HF4yYHNJX8cgFF+8NdYO69XJKZn7ft0/ynV3c0hCbN+89fAbrLS+fqniU2tW8o9Kfqhj8FUh+IPXb2Qsuw==} engines: {node: '>=20.0.0'} - '@aws-sdk/region-config-resolver@3.972.8': - resolution: {integrity: sha512-1eD4uhTDeambO/PNIDVG19A6+v4NdD7xzwLHDutHsUqz0B+i661MwQB2eYO4/crcCvCiQG4SRm1k81k54FEIvw==} + '@aws-sdk/region-config-resolver@3.972.9': + resolution: {integrity: sha512-eQ+dFU05ZRC/lC2XpYlYSPlXtX3VT8sn5toxN2Fv7EXlMoA2p9V7vUBKqHunfD4TRLpxUq8Y8Ol/nCqiv327Ng==} engines: {node: '>=20.0.0'} - '@aws-sdk/signature-v4-multi-region@3.996.10': - resolution: {integrity: sha512-yJSbFTedh1McfqXa9wZzjchqQ2puq5PI/qRz5kUjg2UXS5mO4MBYBbeXaZ2rp/h+ZbkcYEdo4Qsiah9psyoxrA==} + '@aws-sdk/signature-v4-multi-region@3.996.11': + resolution: {integrity: sha512-SKgZY7x6AloLUXO20FJGnkKJ3a6CXzNDt6PYs2yqoPzgU0xKWcUoGGJGEBTsfM5eihKW42lbwp+sXzACLbSsaA==} engines: {node: '>=20.0.0'} - '@aws-sdk/token-providers@3.1013.0': - resolution: {integrity: sha512-IL1c54UvbuERrs9oLm5rvkzMciwhhpn1FL0SlC3XUMoLlFhdBsWJgQKK8O5fsQLxbFVqjbjFx9OBkrn44X9PHw==} + '@aws-sdk/token-providers@3.1014.0': + resolution: {integrity: sha512-gHTHNUoaOGNrSWkl32A7wFsU78jlNTlqMccLu0byUk5CysYYXaxNMIonIVr4YcykC7vgtDS5ABuz83giy6fzJA==} engines: {node: '>=20.0.0'} '@aws-sdk/types@3.973.6': @@ -377,8 +383,8 @@ packages: '@aws-sdk/util-user-agent-browser@3.972.8': resolution: {integrity: sha512-B3KGXJviV2u6Cdw2SDY2aDhoJkVfY/Q/Trwk2CMSkikE1Oi6gRzxhvhIfiRpHfmIsAhV4EA54TVEX8K6CbHbkA==} - '@aws-sdk/util-user-agent-node@3.973.9': - resolution: {integrity: sha512-jeFqqp8KD/P5O+qeKxyGeu7WEVIZFNprnkaDjGmBOjwxYwafCBhpxTgV1TlW6L8e76Vh/siNylNmN/OmSIFBUQ==} + '@aws-sdk/util-user-agent-node@3.973.10': + resolution: {integrity: sha512-E99zeTscCc+pTMfsvnfi6foPpKmdD1cZfOC7/P8UUrjsoQdg9VEWPRD+xdFduKnfPXwcvby58AlO9jwwF6U96g==} engines: {node: '>=20.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -386,8 +392,8 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.972.14': - resolution: {integrity: sha512-G/Yd8Bnnyh8QrqLf8jWJbixEnScUFW24e/wOBGYdw1Cl4r80KX/DvHyM2GVZ2vTp7J4gTEr8IXJlTadA8+UfuQ==} + '@aws-sdk/xml-builder@3.972.15': + resolution: {integrity: sha512-PxMRlCFNiQnke9YR29vjFQwz4jq+6Q04rOVFeTDR2K7Qpv9h9FOWOxG+zJjageimYbWqE3bTuLjmryWHAWbvaA==} engines: {node: '>=20.0.0'} '@aws/lambda-invoke-store@0.2.3': @@ -859,14 +865,14 @@ packages: '@kevisual/ai@0.0.28': resolution: {integrity: sha512-GLwCNXfopDvOj+hEZwEIwOV2/3VGd+TCPgBClaYuAv30KzhgehlCW05HPjBducSg+uPcdKacEzZsecHjo5fMUQ==} - '@kevisual/api@0.0.64': - resolution: {integrity: sha512-y7wP8ucvi/rflVGd6uJpvuEUTwI7wMef8+ITQzv4flg7a2pwWZYe/DT0TOyaqDAqKOTlXaVIdBeI15jXuUxIIg==} + '@kevisual/api@0.0.65': + resolution: {integrity: sha512-SGVap7LpOBCDmWbG5bJTEjTBOfe7u3fEppjMxL/+MGWvQa5ZhOjCcZoeQFs1zZl4o0kiPSArtBYwnQhWb8rA+A==} '@kevisual/auth@2.0.3': resolution: {integrity: sha512-4xpijaIhlCTr/DlJaV/gmkCQeg45EO1yxWpRvUX+1jCdVbuxSR0wZrF0SD9oybnjmKWMKDNPLsXyduFjMGcItA==} - '@kevisual/cnb@0.0.56': - resolution: {integrity: sha512-Pa70TI/zVC7DOSecrRztB8QrRlf+iuFCGDH/O3YEQw/eMoyDdBtIxR3Ewnsu+n+BN0od6jcsSOhDW6kzqeX8cA==} + '@kevisual/cnb@0.0.58': + resolution: {integrity: sha512-F39NXOGsHE+Iy+ionDO/V5UdT/CtodBVKNVRq2AsvZ6UwhtmyP4HM76H00GezyvUUTlIjmMPt/Ri2w13md7Emg==} hasBin: true '@kevisual/context@0.0.8': @@ -998,8 +1004,8 @@ packages: resolution: {integrity: sha512-St+kVicSyayWQca+I1rGitaOEH6uKgE8IUWoYnnEX26SWdWQcL6LvMSD19Lg+vYHKdT9B2Zuu7rd3i6Wnyb/iw==} engines: {node: '>=18.0.0'} - '@smithy/config-resolver@4.4.11': - resolution: {integrity: sha512-YxFiiG4YDAtX7WMN7RuhHZLeTmRRAOyCbr+zB8e3AQzHPnUhS8zXjB1+cniPVQI3xbWsQPM0X2aaIkO/ME0ymw==} + '@smithy/config-resolver@4.4.13': + resolution: {integrity: sha512-iIzMC5NmOUP6WL6o8iPBjFhUhBZ9pPjpUpQYWMUFQqKyXXzOftbfK8zcQCz/jFV1Psmf05BK5ypx4K2r4Tnwdg==} engines: {node: '>=18.0.0'} '@smithy/core@3.23.12': @@ -1066,12 +1072,12 @@ packages: resolution: {integrity: sha512-YE58Yz+cvFInWI/wOTrB+DbvUVz/pLn5mC5MvOV4fdRUc6qGwygyngcucRQjAhiCEbmfLOXX0gntSIcgMvAjmA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.4.26': - resolution: {integrity: sha512-8Qfikvd2GVKSm8S6IbjfwFlRY9VlMrj0Dp4vTwAuhqbX7NhJKE5DQc2bnfJIcY0B+2YKMDBWfvexbSZeejDgeg==} + '@smithy/middleware-endpoint@4.4.27': + resolution: {integrity: sha512-T3TFfUgXQlpcg+UdzcAISdZpj4Z+XECZ/cefgA6wLBd6V4lRi0svN2hBouN/be9dXQ31X4sLWz3fAQDf+nt6BA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.4.43': - resolution: {integrity: sha512-ZwsifBdyuNHrFGmbc7bAfP2b54+kt9J2rhFd18ilQGAB+GDiP4SrawqyExbB7v455QVR7Psyhb2kjULvBPIhvA==} + '@smithy/middleware-retry@4.4.44': + resolution: {integrity: sha512-Y1Rav7m5CFRPQyM4CI0koD/bXjyjJu3EQxZZhtLGD88WIrBrQ7kqXM96ncd6rYnojwOo/u9MXu57JrEvu/nLrA==} engines: {node: '>=18.0.0'} '@smithy/middleware-serde@4.2.15': @@ -1118,8 +1124,8 @@ packages: resolution: {integrity: sha512-B/FBwO3MVOL00DaRSXfXfa/TRXRheagt/q5A2NM13u7q+sHS59EOVGQNfG7DkmVtdQm5m3vOosoKAXSqn/OEgw==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.12.6': - resolution: {integrity: sha512-aib3f0jiMsJ6+cvDnXipBsGDL7ztknYSVqJs1FdN9P+u9tr/VzOR7iygSh6EUOdaBeMCMSh3N0VdyYsG4o91DQ==} + '@smithy/smithy-client@4.12.7': + resolution: {integrity: sha512-q3gqnwml60G44FECaEEsdQMplYhDMZYCtYhMCzadCnRnnHIobZJjegmdoUo6ieLQlPUzvrMdIJUpx6DoPmzANQ==} engines: {node: '>=18.0.0'} '@smithy/types@4.13.1': @@ -1154,12 +1160,12 @@ packages: resolution: {integrity: sha512-dWU03V3XUprJwaUIFVv4iOnS1FC9HnMHDfUrlNDSh4315v0cWyaIErP8KiqGVbf5z+JupoVpNM7ZB3jFiTejvQ==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.3.42': - resolution: {integrity: sha512-0vjwmcvkWAUtikXnWIUOyV6IFHTEeQUYh3JUZcDgcszF+hD/StAsQ3rCZNZEPHgI9kVNcbnyc8P2CBHnwgmcwg==} + '@smithy/util-defaults-mode-browser@4.3.43': + resolution: {integrity: sha512-Qd/0wCKMaXxev/z00TvNzGCH2jlKKKxXP1aDxB6oKwSQthe3Og2dMhSayGCnsma1bK/kQX1+X7SMP99t6FgiiQ==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.2.45': - resolution: {integrity: sha512-q5dOqqfTgUcLe38TAGiFn9srToKj2YCHJ34QGOLzM+xYLLA+qRZv7N+33kl1MERVusue36ZHnlNaNEvY/PzSrw==} + '@smithy/util-defaults-mode-node@4.2.47': + resolution: {integrity: sha512-qSRbYp1EQ7th+sPFuVcVO05AE0QH635hycdEXlpzIahqHHf2Fyd/Zl+8v0XYMJ3cgDVPa0lkMefU7oNUjAP+DQ==} engines: {node: '>=18.0.0'} '@smithy/util-endpoints@3.3.3': @@ -1229,8 +1235,8 @@ packages: '@types/node@25.5.0': resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} - '@types/pg@8.18.0': - resolution: {integrity: sha512-gT+oueVQkqnj6ajGJXblFR4iavIXWsGAFCk3dP4Kki5+a9R4NMt0JARdk6s8cUKcfUoqP5dAtDSLU8xYUTFV+Q==} + '@types/pg@8.20.0': + resolution: {integrity: sha512-bEPFOaMAHTEP1EzpvHTbmwR8UsFyHSKsRisLIHVMXnpNefSbGA1bD6CVy+qKjGSqmZqNqBDV2azOBo8TgkcVow==} '@types/readdir-glob@1.1.5': resolution: {integrity: sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==} @@ -1259,8 +1265,8 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} - ai@6.0.116: - resolution: {integrity: sha512-7yM+cTmyRLeNIXwt4Vj+mrrJgVQ9RMIW5WO0ydoLoYkewIvsMcvUmqS4j2RJTUXaF1HphwmSKUMQ/HypNRGOmA==} + ai@6.0.134: + resolution: {integrity: sha512-YalNEaavld/kE444gOcsMKXdVVRGEe0SK77fAFcWYcqLg+a7xKnEet8bdfrEAJTfnMjj01rhgrIL10903w1a5Q==} engines: {node: '>=18'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -1771,8 +1777,8 @@ packages: fast-xml-builder@1.1.4: resolution: {integrity: sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==} - fast-xml-parser@5.5.6: - resolution: {integrity: sha512-3+fdZyBRVg29n4rXP0joHthhcHdPUHaIC16cuyyd1iLsuaO6Vea36MPrxgAzbZna8lhvZeRL8Bc9GP56/J9xEw==} + fast-xml-parser@5.5.8: + resolution: {integrity: sha512-Z7Fh2nVQSb2d+poDViM063ix2ZGt9jmY1nWhPfHBOK2Hgnb/OW3P4Et3P/81SEej0J7QbWtJqxO05h8QYfK7LQ==} hasBin: true fclone@1.0.11: @@ -1880,6 +1886,9 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + idb-keyval@6.2.2: + resolution: {integrity: sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -2177,9 +2186,6 @@ packages: peerDependencies: pg: '>=8.0' - pg-protocol@1.11.0: - resolution: {integrity: sha512-pfsxk2M9M3BuGgDOfuy37VNRRX3jmKgMjcvAcWqNDpZSf4cUmv8HSOl5ViRQFsfARFn0KuUQTgLxVMbNq5NW3g==} - pg-protocol@1.13.0: resolution: {integrity: sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==} @@ -2491,8 +2497,8 @@ packages: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} - strnum@2.1.2: - resolution: {integrity: sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==} + strnum@2.2.1: + resolution: {integrity: sha512-BwRvNd5/QoAtyW1na1y1LsJGQNvRlkde6Q/ipqqEaivoMdV+B1OMOTVdwR+N/cwVUcIt9PYyHmV8HyexCZSupg==} supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -2698,8 +2704,8 @@ packages: zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} - zustand@5.0.11: - resolution: {integrity: sha512-fdZY+dk7zn/vbWNCYmzZULHRrss0jx5pPFiOuMZ/5HJN6Yv3u+1Wswy/4MpZEkEGhtNH+pwxZB8OKgUBPzYAGg==} + zustand@5.0.12: + resolution: {integrity: sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=18.0.0' @@ -2724,17 +2730,17 @@ snapshots: '@ai-sdk/provider-utils': 4.0.19(zod@4.3.6) zod: 4.3.6 - '@ai-sdk/gateway@3.0.66(zod@4.3.6)': + '@ai-sdk/gateway@3.0.77(zod@4.3.6)': dependencies: '@ai-sdk/provider': 3.0.8 - '@ai-sdk/provider-utils': 4.0.19(zod@4.3.6) + '@ai-sdk/provider-utils': 4.0.21(zod@4.3.6) '@vercel/oidc': 3.1.0 zod: 4.3.6 - '@ai-sdk/openai-compatible@2.0.35(zod@4.3.6)': + '@ai-sdk/openai-compatible@2.0.37(zod@4.3.6)': dependencies: '@ai-sdk/provider': 3.0.8 - '@ai-sdk/provider-utils': 4.0.19(zod@4.3.6) + '@ai-sdk/provider-utils': 4.0.21(zod@4.3.6) zod: 4.3.6 '@ai-sdk/openai@3.0.41(zod@4.3.6)': @@ -2750,6 +2756,13 @@ snapshots: eventsource-parser: 3.0.6 zod: 4.3.6 + '@ai-sdk/provider-utils@4.0.21(zod@4.3.6)': + dependencies: + '@ai-sdk/provider': 3.0.8 + '@standard-schema/spec': 1.1.0 + eventsource-parser: 3.0.6 + zod: 4.3.6 + '@ai-sdk/provider@3.0.8': dependencies: json-schema: 0.4.0 @@ -2801,30 +2814,30 @@ snapshots: '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.1013.0': + '@aws-sdk/client-s3@3.1014.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.22 - '@aws-sdk/credential-provider-node': 3.972.23 + '@aws-sdk/core': 3.973.23 + '@aws-sdk/credential-provider-node': 3.972.24 '@aws-sdk/middleware-bucket-endpoint': 3.972.8 '@aws-sdk/middleware-expect-continue': 3.972.8 - '@aws-sdk/middleware-flexible-checksums': 3.974.2 + '@aws-sdk/middleware-flexible-checksums': 3.974.3 '@aws-sdk/middleware-host-header': 3.972.8 '@aws-sdk/middleware-location-constraint': 3.972.8 '@aws-sdk/middleware-logger': 3.972.8 '@aws-sdk/middleware-recursion-detection': 3.972.8 - '@aws-sdk/middleware-sdk-s3': 3.972.22 + '@aws-sdk/middleware-sdk-s3': 3.972.23 '@aws-sdk/middleware-ssec': 3.972.8 - '@aws-sdk/middleware-user-agent': 3.972.23 - '@aws-sdk/region-config-resolver': 3.972.8 - '@aws-sdk/signature-v4-multi-region': 3.996.10 + '@aws-sdk/middleware-user-agent': 3.972.24 + '@aws-sdk/region-config-resolver': 3.972.9 + '@aws-sdk/signature-v4-multi-region': 3.996.11 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-endpoints': 3.996.5 '@aws-sdk/util-user-agent-browser': 3.972.8 - '@aws-sdk/util-user-agent-node': 3.973.9 - '@smithy/config-resolver': 4.4.11 + '@aws-sdk/util-user-agent-node': 3.973.10 + '@smithy/config-resolver': 4.4.13 '@smithy/core': 3.23.12 '@smithy/eventstream-serde-browser': 4.2.12 '@smithy/eventstream-serde-config-resolver': 4.3.12 @@ -2836,21 +2849,21 @@ snapshots: '@smithy/invalid-dependency': 4.2.12 '@smithy/md5-js': 4.2.12 '@smithy/middleware-content-length': 4.2.12 - '@smithy/middleware-endpoint': 4.4.26 - '@smithy/middleware-retry': 4.4.43 + '@smithy/middleware-endpoint': 4.4.27 + '@smithy/middleware-retry': 4.4.44 '@smithy/middleware-serde': 4.2.15 '@smithy/middleware-stack': 4.2.12 '@smithy/node-config-provider': 4.3.12 '@smithy/node-http-handler': 4.5.0 '@smithy/protocol-http': 5.3.12 - '@smithy/smithy-client': 4.12.6 + '@smithy/smithy-client': 4.12.7 '@smithy/types': 4.13.1 '@smithy/url-parser': 4.2.12 '@smithy/util-base64': 4.3.2 '@smithy/util-body-length-browser': 4.2.2 '@smithy/util-body-length-node': 4.2.3 - '@smithy/util-defaults-mode-browser': 4.3.42 - '@smithy/util-defaults-mode-node': 4.2.45 + '@smithy/util-defaults-mode-browser': 4.3.43 + '@smithy/util-defaults-mode-node': 4.2.47 '@smithy/util-endpoints': 3.3.3 '@smithy/util-middleware': 4.2.12 '@smithy/util-retry': 4.2.12 @@ -2861,16 +2874,16 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.973.22': + '@aws-sdk/core@3.973.23': dependencies: '@aws-sdk/types': 3.973.6 - '@aws-sdk/xml-builder': 3.972.14 + '@aws-sdk/xml-builder': 3.972.15 '@smithy/core': 3.23.12 '@smithy/node-config-provider': 4.3.12 '@smithy/property-provider': 4.2.12 '@smithy/protocol-http': 5.3.12 '@smithy/signature-v4': 5.3.12 - '@smithy/smithy-client': 4.12.6 + '@smithy/smithy-client': 4.12.7 '@smithy/types': 4.13.1 '@smithy/util-base64': 4.3.2 '@smithy/util-middleware': 4.2.12 @@ -2882,37 +2895,37 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.972.20': + '@aws-sdk/credential-provider-env@3.972.21': dependencies: - '@aws-sdk/core': 3.973.22 + '@aws-sdk/core': 3.973.23 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.972.22': + '@aws-sdk/credential-provider-http@3.972.23': dependencies: - '@aws-sdk/core': 3.973.22 + '@aws-sdk/core': 3.973.23 '@aws-sdk/types': 3.973.6 '@smithy/fetch-http-handler': 5.3.15 '@smithy/node-http-handler': 4.5.0 '@smithy/property-provider': 4.2.12 '@smithy/protocol-http': 5.3.12 - '@smithy/smithy-client': 4.12.6 + '@smithy/smithy-client': 4.12.7 '@smithy/types': 4.13.1 '@smithy/util-stream': 4.5.20 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.972.22': + '@aws-sdk/credential-provider-ini@3.972.23': dependencies: - '@aws-sdk/core': 3.973.22 - '@aws-sdk/credential-provider-env': 3.972.20 - '@aws-sdk/credential-provider-http': 3.972.22 - '@aws-sdk/credential-provider-login': 3.972.22 - '@aws-sdk/credential-provider-process': 3.972.20 - '@aws-sdk/credential-provider-sso': 3.972.22 - '@aws-sdk/credential-provider-web-identity': 3.972.22 - '@aws-sdk/nested-clients': 3.996.12 + '@aws-sdk/core': 3.973.23 + '@aws-sdk/credential-provider-env': 3.972.21 + '@aws-sdk/credential-provider-http': 3.972.23 + '@aws-sdk/credential-provider-login': 3.972.23 + '@aws-sdk/credential-provider-process': 3.972.21 + '@aws-sdk/credential-provider-sso': 3.972.23 + '@aws-sdk/credential-provider-web-identity': 3.972.23 + '@aws-sdk/nested-clients': 3.996.13 '@aws-sdk/types': 3.973.6 '@smithy/credential-provider-imds': 4.2.12 '@smithy/property-provider': 4.2.12 @@ -2922,10 +2935,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-login@3.972.22': + '@aws-sdk/credential-provider-login@3.972.23': dependencies: - '@aws-sdk/core': 3.973.22 - '@aws-sdk/nested-clients': 3.996.12 + '@aws-sdk/core': 3.973.23 + '@aws-sdk/nested-clients': 3.996.13 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/protocol-http': 5.3.12 @@ -2935,14 +2948,14 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.972.23': + '@aws-sdk/credential-provider-node@3.972.24': dependencies: - '@aws-sdk/credential-provider-env': 3.972.20 - '@aws-sdk/credential-provider-http': 3.972.22 - '@aws-sdk/credential-provider-ini': 3.972.22 - '@aws-sdk/credential-provider-process': 3.972.20 - '@aws-sdk/credential-provider-sso': 3.972.22 - '@aws-sdk/credential-provider-web-identity': 3.972.22 + '@aws-sdk/credential-provider-env': 3.972.21 + '@aws-sdk/credential-provider-http': 3.972.23 + '@aws-sdk/credential-provider-ini': 3.972.23 + '@aws-sdk/credential-provider-process': 3.972.21 + '@aws-sdk/credential-provider-sso': 3.972.23 + '@aws-sdk/credential-provider-web-identity': 3.972.23 '@aws-sdk/types': 3.973.6 '@smithy/credential-provider-imds': 4.2.12 '@smithy/property-provider': 4.2.12 @@ -2952,20 +2965,20 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.972.20': + '@aws-sdk/credential-provider-process@3.972.21': dependencies: - '@aws-sdk/core': 3.973.22 + '@aws-sdk/core': 3.973.23 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/shared-ini-file-loader': 4.4.7 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.972.22': + '@aws-sdk/credential-provider-sso@3.972.23': dependencies: - '@aws-sdk/core': 3.973.22 - '@aws-sdk/nested-clients': 3.996.12 - '@aws-sdk/token-providers': 3.1013.0 + '@aws-sdk/core': 3.973.23 + '@aws-sdk/nested-clients': 3.996.13 + '@aws-sdk/token-providers': 3.1014.0 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/shared-ini-file-loader': 4.4.7 @@ -2974,10 +2987,10 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.972.22': + '@aws-sdk/credential-provider-web-identity@3.972.23': dependencies: - '@aws-sdk/core': 3.973.22 - '@aws-sdk/nested-clients': 3.996.12 + '@aws-sdk/core': 3.973.23 + '@aws-sdk/nested-clients': 3.996.13 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/shared-ini-file-loader': 4.4.7 @@ -3003,12 +3016,12 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.974.2': + '@aws-sdk/middleware-flexible-checksums@3.974.3': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.973.22 + '@aws-sdk/core': 3.973.23 '@aws-sdk/crc64-nvme': 3.972.5 '@aws-sdk/types': 3.973.6 '@smithy/is-array-buffer': 4.2.2 @@ -3047,16 +3060,16 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.972.22': + '@aws-sdk/middleware-sdk-s3@3.972.23': dependencies: - '@aws-sdk/core': 3.973.22 + '@aws-sdk/core': 3.973.23 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-arn-parser': 3.972.3 '@smithy/core': 3.23.12 '@smithy/node-config-provider': 4.3.12 '@smithy/protocol-http': 5.3.12 '@smithy/signature-v4': 5.3.12 - '@smithy/smithy-client': 4.12.6 + '@smithy/smithy-client': 4.12.7 '@smithy/types': 4.13.1 '@smithy/util-config-provider': 4.2.2 '@smithy/util-middleware': 4.2.12 @@ -3070,9 +3083,9 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.972.23': + '@aws-sdk/middleware-user-agent@3.972.24': dependencies: - '@aws-sdk/core': 3.973.22 + '@aws-sdk/core': 3.973.23 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-endpoints': 3.996.5 '@smithy/core': 3.23.12 @@ -3081,41 +3094,41 @@ snapshots: '@smithy/util-retry': 4.2.12 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.996.12': + '@aws-sdk/nested-clients@3.996.13': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.973.22 + '@aws-sdk/core': 3.973.23 '@aws-sdk/middleware-host-header': 3.972.8 '@aws-sdk/middleware-logger': 3.972.8 '@aws-sdk/middleware-recursion-detection': 3.972.8 - '@aws-sdk/middleware-user-agent': 3.972.23 - '@aws-sdk/region-config-resolver': 3.972.8 + '@aws-sdk/middleware-user-agent': 3.972.24 + '@aws-sdk/region-config-resolver': 3.972.9 '@aws-sdk/types': 3.973.6 '@aws-sdk/util-endpoints': 3.996.5 '@aws-sdk/util-user-agent-browser': 3.972.8 - '@aws-sdk/util-user-agent-node': 3.973.9 - '@smithy/config-resolver': 4.4.11 + '@aws-sdk/util-user-agent-node': 3.973.10 + '@smithy/config-resolver': 4.4.13 '@smithy/core': 3.23.12 '@smithy/fetch-http-handler': 5.3.15 '@smithy/hash-node': 4.2.12 '@smithy/invalid-dependency': 4.2.12 '@smithy/middleware-content-length': 4.2.12 - '@smithy/middleware-endpoint': 4.4.26 - '@smithy/middleware-retry': 4.4.43 + '@smithy/middleware-endpoint': 4.4.27 + '@smithy/middleware-retry': 4.4.44 '@smithy/middleware-serde': 4.2.15 '@smithy/middleware-stack': 4.2.12 '@smithy/node-config-provider': 4.3.12 '@smithy/node-http-handler': 4.5.0 '@smithy/protocol-http': 5.3.12 - '@smithy/smithy-client': 4.12.6 + '@smithy/smithy-client': 4.12.7 '@smithy/types': 4.13.1 '@smithy/url-parser': 4.2.12 '@smithy/util-base64': 4.3.2 '@smithy/util-body-length-browser': 4.2.2 '@smithy/util-body-length-node': 4.2.3 - '@smithy/util-defaults-mode-browser': 4.3.42 - '@smithy/util-defaults-mode-node': 4.2.45 + '@smithy/util-defaults-mode-browser': 4.3.43 + '@smithy/util-defaults-mode-node': 4.2.47 '@smithy/util-endpoints': 3.3.3 '@smithy/util-middleware': 4.2.12 '@smithy/util-retry': 4.2.12 @@ -3124,27 +3137,27 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.972.8': + '@aws-sdk/region-config-resolver@3.972.9': dependencies: '@aws-sdk/types': 3.973.6 - '@smithy/config-resolver': 4.4.11 + '@smithy/config-resolver': 4.4.13 '@smithy/node-config-provider': 4.3.12 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.996.10': + '@aws-sdk/signature-v4-multi-region@3.996.11': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.972.22 + '@aws-sdk/middleware-sdk-s3': 3.972.23 '@aws-sdk/types': 3.973.6 '@smithy/protocol-http': 5.3.12 '@smithy/signature-v4': 5.3.12 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@aws-sdk/token-providers@3.1013.0': + '@aws-sdk/token-providers@3.1014.0': dependencies: - '@aws-sdk/core': 3.973.22 - '@aws-sdk/nested-clients': 3.996.12 + '@aws-sdk/core': 3.973.23 + '@aws-sdk/nested-clients': 3.996.13 '@aws-sdk/types': 3.973.6 '@smithy/property-provider': 4.2.12 '@smithy/shared-ini-file-loader': 4.4.7 @@ -3181,19 +3194,19 @@ snapshots: bowser: 2.13.1 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.973.9': + '@aws-sdk/util-user-agent-node@3.973.10': dependencies: - '@aws-sdk/middleware-user-agent': 3.972.23 + '@aws-sdk/middleware-user-agent': 3.972.24 '@aws-sdk/types': 3.973.6 '@smithy/node-config-provider': 4.3.12 '@smithy/types': 4.13.1 '@smithy/util-config-provider': 4.2.2 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.972.14': + '@aws-sdk/xml-builder@3.972.15': dependencies: '@smithy/types': 4.13.1 - fast-xml-parser: 5.5.6 + fast-xml-parser: 5.5.8 tslib: 2.8.1 '@aws/lambda-invoke-store@0.2.3': {} @@ -3447,15 +3460,15 @@ snapshots: dependencies: '@ai-sdk/anthropic': 3.0.58(zod@4.3.6) '@ai-sdk/openai': 3.0.41(zod@4.3.6) - '@ai-sdk/openai-compatible': 2.0.35(zod@4.3.6) + '@ai-sdk/openai-compatible': 2.0.37(zod@4.3.6) '@kevisual/js-filter': 0.0.6 '@kevisual/logger': 0.0.4 '@kevisual/permission': 0.0.4 '@kevisual/query': 0.0.53 - ai: 6.0.116(zod@4.3.6) + ai: 6.0.134(zod@4.3.6) zod: 4.3.6 - '@kevisual/api@0.0.64(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@kevisual/api@0.0.65(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: '@kevisual/context': 0.0.8 '@kevisual/js-filter': 0.0.6 @@ -3464,11 +3477,12 @@ snapshots: es-toolkit: 1.45.1 eventemitter3: 5.0.4 fuse.js: 7.1.0 + idb-keyval: 6.2.2 nanoid: 5.1.7 path-browserify-esm: 1.0.6 sonner: 2.0.7(react-dom@19.2.4(react@19.2.4))(react@19.2.4) spark-md5: 3.0.2 - zustand: 5.0.11(react@19.2.4) + zustand: 5.0.12(react@19.2.4) transitivePeerDependencies: - '@types/react' - immer @@ -3478,7 +3492,7 @@ snapshots: '@kevisual/auth@2.0.3': {} - '@kevisual/cnb@0.0.56(dotenv@17.3.1)(ioredis@5.10.0)': + '@kevisual/cnb@0.0.58(dotenv@17.3.1)(idb-keyval@6.2.2)(ioredis@5.10.0)': dependencies: '@kevisual/query': 0.0.53 '@kevisual/router': 0.1.6 @@ -3486,7 +3500,7 @@ snapshots: '@opencode-ai/sdk': 1.2.27 es-toolkit: 1.45.1 nanoid: 5.1.7 - unstorage: 1.17.4(ioredis@5.10.0) + unstorage: 1.17.4(idb-keyval@6.2.2)(ioredis@5.10.0) ws: '@kevisual/ws@8.19.0' transitivePeerDependencies: - '@azure/app-configuration' @@ -3658,7 +3672,7 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/config-resolver@4.4.11': + '@smithy/config-resolver@4.4.13': dependencies: '@smithy/node-config-provider': 4.3.12 '@smithy/types': 4.13.1 @@ -3771,7 +3785,7 @@ snapshots: '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.4.26': + '@smithy/middleware-endpoint@4.4.27': dependencies: '@smithy/core': 3.23.12 '@smithy/middleware-serde': 4.2.15 @@ -3782,12 +3796,12 @@ snapshots: '@smithy/util-middleware': 4.2.12 tslib: 2.8.1 - '@smithy/middleware-retry@4.4.43': + '@smithy/middleware-retry@4.4.44': dependencies: '@smithy/node-config-provider': 4.3.12 '@smithy/protocol-http': 5.3.12 '@smithy/service-error-classification': 4.2.12 - '@smithy/smithy-client': 4.12.6 + '@smithy/smithy-client': 4.12.7 '@smithy/types': 4.13.1 '@smithy/util-middleware': 4.2.12 '@smithy/util-retry': 4.2.12 @@ -3862,10 +3876,10 @@ snapshots: '@smithy/util-utf8': 4.2.2 tslib: 2.8.1 - '@smithy/smithy-client@4.12.6': + '@smithy/smithy-client@4.12.7': dependencies: '@smithy/core': 3.23.12 - '@smithy/middleware-endpoint': 4.4.26 + '@smithy/middleware-endpoint': 4.4.27 '@smithy/middleware-stack': 4.2.12 '@smithy/protocol-http': 5.3.12 '@smithy/types': 4.13.1 @@ -3910,20 +3924,20 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.3.42': + '@smithy/util-defaults-mode-browser@4.3.43': dependencies: '@smithy/property-provider': 4.2.12 - '@smithy/smithy-client': 4.12.6 + '@smithy/smithy-client': 4.12.7 '@smithy/types': 4.13.1 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.2.45': + '@smithy/util-defaults-mode-node@4.2.47': dependencies: - '@smithy/config-resolver': 4.4.11 + '@smithy/config-resolver': 4.4.13 '@smithy/credential-provider-imds': 4.2.12 '@smithy/node-config-provider': 4.3.12 '@smithy/property-provider': 4.2.12 - '@smithy/smithy-client': 4.12.6 + '@smithy/smithy-client': 4.12.7 '@smithy/types': 4.13.1 tslib: 2.8.1 @@ -4012,10 +4026,10 @@ snapshots: dependencies: undici-types: 7.18.2 - '@types/pg@8.18.0': + '@types/pg@8.20.0': dependencies: '@types/node': 25.5.0 - pg-protocol: 1.11.0 + pg-protocol: 1.13.0 pg-types: 2.2.0 '@types/readdir-glob@1.1.5': @@ -4048,11 +4062,11 @@ snapshots: transitivePeerDependencies: - supports-color - ai@6.0.116(zod@4.3.6): + ai@6.0.134(zod@4.3.6): dependencies: - '@ai-sdk/gateway': 3.0.66(zod@4.3.6) + '@ai-sdk/gateway': 3.0.77(zod@4.3.6) '@ai-sdk/provider': 3.0.8 - '@ai-sdk/provider-utils': 4.0.19(zod@4.3.6) + '@ai-sdk/provider-utils': 4.0.21(zod@4.3.6) '@opentelemetry/api': 1.9.0 zod: 4.3.6 @@ -4339,17 +4353,17 @@ snapshots: esbuild: 0.25.12 tsx: 4.21.0 - drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0): + drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.20.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0): optionalDependencies: '@opentelemetry/api': 1.9.0 - '@types/pg': 8.18.0 + '@types/pg': 8.20.0 better-sqlite3: 12.6.2 bun-types: 1.3.11 pg: 8.20.0 - drizzle-zod@0.8.3(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0))(zod@4.3.6): + drizzle-zod@0.8.3(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.20.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0))(zod@4.3.6): dependencies: - drizzle-orm: 0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.18.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0) + drizzle-orm: 0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.20.0)(better-sqlite3@12.6.2)(bun-types@1.3.11)(pg@8.20.0) zod: 4.3.6 eastasianwidth@0.2.0: {} @@ -4511,11 +4525,11 @@ snapshots: dependencies: path-expression-matcher: 1.2.0 - fast-xml-parser@5.5.6: + fast-xml-parser@5.5.8: dependencies: fast-xml-builder: 1.1.4 path-expression-matcher: 1.2.0 - strnum: 2.1.2 + strnum: 2.2.1 fclone@1.0.11: {} @@ -4634,6 +4648,8 @@ snapshots: dependencies: safer-buffer: 2.1.2 + idb-keyval@6.2.2: {} + ieee754@1.2.1: {} inherits@2.0.4: {} @@ -4927,8 +4943,6 @@ snapshots: dependencies: pg: 8.20.0 - pg-protocol@1.11.0: {} - pg-protocol@1.13.0: {} pg-types@2.2.0: @@ -5316,7 +5330,7 @@ snapshots: strip-json-comments@2.0.1: optional: true - strnum@2.1.2: {} + strnum@2.2.1: {} supports-color@7.2.0: dependencies: @@ -5391,7 +5405,7 @@ snapshots: universalify@2.0.1: {} - unstorage@1.17.4(ioredis@5.10.0): + unstorage@1.17.4(idb-keyval@6.2.2)(ioredis@5.10.0): dependencies: anymatch: 3.1.3 chokidar: 5.0.0 @@ -5402,6 +5416,7 @@ snapshots: ofetch: 1.5.1 ufo: 1.6.3 optionalDependencies: + idb-keyval: 6.2.2 ioredis: 5.10.0 util-deprecate@1.0.2: {} @@ -5457,6 +5472,6 @@ snapshots: zod@4.3.6: {} - zustand@5.0.11(react@19.2.4): + zustand@5.0.12(react@19.2.4): optionalDependencies: react: 19.2.4