diff --git a/functions/dateStats.js b/functions/dateStats.js index 5b96a11c..0deb3358 100644 --- a/functions/dateStats.js +++ b/functions/dateStats.js @@ -8,6 +8,13 @@ const CustomType = require('../templates/customType') const CustomTypeFunc = require('../functions/customType') const { getPagination } = require('./pagination') const { getInteractionOption } = require('./commands') +const { caching } = require('cache-manager') + +const ttl = 60 * 1000 * 5 // 5 minutes +const cachingMemory = caching('memory', { + max: 100, + ttl: ttl, +}) const generatePlayerStats = playerHistory => { const playerStats = { @@ -73,10 +80,16 @@ const getAverage = (q, d, fixe = 2, percent = 1) => ((parseFloat(q) / parseFloat const getPlayerHistory = async (playerId, maxMatch, eloMatches = true) => { const playerStats = await Player.getStats(playerId) + const cacheHistory = await cachingMemory const limit = 100 let playerHistory = [] + const cacheName = `${playerId}-${eloMatches ? 'elo' : 'match'}` if (maxMatch === null || maxMatch > playerStats.lifetime.Matches) maxMatch = playerStats.lifetime.Matches + + const cache = await cacheHistory.get(cacheName) + if (cache && cache.length == playerStats.lifetime.Matches) return cache.slice(0, maxMatch) + if (eloMatches) { for (let page = 0; page < Math.ceil(maxMatch / limit); page++) playerHistory.push(...await Match.getMatchElo(playerId, maxMatch, page)) @@ -97,6 +110,11 @@ const getPlayerHistory = async (playerId, maxMatch, eloMatches = true) => { playerHistory.push(...(await Player.getHistory(playerId, limit, page * limit)).items) } + if (maxMatch == playerStats.lifetime.Matches) { + if (cache) await cacheHistory.del(cacheName) + await cacheHistory.set(cacheName, playerHistory, ttl) + } + return playerHistory } diff --git a/package-lock.json b/package-lock.json index b4d67013..9ac08841 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@top-gg/sdk": "^3.1.3", "axios": "^1.3.2", "big.js": "^6.2.1", + "cache-manager": "^5.1.7", "canvas": "^2.11.0", "chart.js": "^4.2.1", "discord-api-types": "^0.37.32", @@ -125,44 +126,44 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.272.0.tgz", - "integrity": "sha512-uMjRWcNvX7SoGaVn0mXWD43+Z1awPahQwGW3riDLfXHZdOgw2oFDhD3Jg5jQ8OzQLUfDvArhE3WyZwlS4muMuQ==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.288.0.tgz", + "integrity": "sha512-8NMGCchQFbaw6HireAB/zIaPmY+PJBlDUffBx5jOOh8gMI0iTHxiiDccdDS+uN2ftAs+DCpiZJs7T4RhXnFDWg==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.272.0", - "@aws-sdk/config-resolver": "3.272.0", - "@aws-sdk/credential-provider-node": "3.272.0", - "@aws-sdk/fetch-http-handler": "3.272.0", + "@aws-sdk/client-sts": "3.288.0", + "@aws-sdk/config-resolver": "3.287.0", + "@aws-sdk/credential-provider-node": "3.288.0", + "@aws-sdk/fetch-http-handler": "3.282.0", "@aws-sdk/hash-node": "3.272.0", "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.272.0", - "@aws-sdk/middleware-endpoint": "3.272.0", - "@aws-sdk/middleware-host-header": "3.272.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.272.0", - "@aws-sdk/middleware-retry": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.288.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.287.0", "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-signing": "3.272.0", + "@aws-sdk/middleware-signing": "3.282.0", "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.272.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.272.0", - "@aws-sdk/protocol-http": "3.272.0", - "@aws-sdk/smithy-client": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.287.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/url-parser": "3.272.0", "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.272.0", - "@aws-sdk/util-defaults-mode-node": "3.272.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.287.0", "@aws-sdk/util-endpoints": "3.272.0", "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.272.0", - "@aws-sdk/util-user-agent-node": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.287.0", "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" }, @@ -171,41 +172,41 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.272.0.tgz", - "integrity": "sha512-xn9a0IGONwQIARmngThoRhF1lLGjHAD67sUaShgIMaIMc6ipVYN6alWG1VuUpoUQ6iiwMEt0CHdfCyLyUV/fTA==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.288.0.tgz", + "integrity": "sha512-RDQoPkxipP1FfyJvoqy1z4Uim7li7dP4k3Vhddn+yP76E8/kgfDMHxg7kwa4s729GmEEzmCQSM+fmORFQlquQA==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.272.0", - "@aws-sdk/fetch-http-handler": "3.272.0", + "@aws-sdk/config-resolver": "3.287.0", + "@aws-sdk/fetch-http-handler": "3.282.0", "@aws-sdk/hash-node": "3.272.0", "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.272.0", - "@aws-sdk/middleware-endpoint": "3.272.0", - "@aws-sdk/middleware-host-header": "3.272.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.272.0", - "@aws-sdk/middleware-retry": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.288.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.287.0", "@aws-sdk/middleware-serde": "3.272.0", "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.272.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.272.0", - "@aws-sdk/protocol-http": "3.272.0", - "@aws-sdk/smithy-client": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.287.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/url-parser": "3.272.0", "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.272.0", - "@aws-sdk/util-defaults-mode-node": "3.272.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.287.0", "@aws-sdk/util-endpoints": "3.272.0", "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.272.0", - "@aws-sdk/util-user-agent-node": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.287.0", "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" }, @@ -214,41 +215,41 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.272.0.tgz", - "integrity": "sha512-ECcXu3xoa1yggnGKMTh29eWNHiF/wC6r5Uqbla22eOOosyh0+Z6lkJ3JUSLOUKCkBXA4Cs/tJL9UDFBrKbSlvA==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.288.0.tgz", + "integrity": "sha512-gJNuYF5P3YBUbwQWz8mLgV5E8XHbM2iHXb6mgtd9vnKmOZ64nDUlU6oMjlwgIjbE0x4pzn7QDlsCH7CGoCdS5Q==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.272.0", - "@aws-sdk/fetch-http-handler": "3.272.0", + "@aws-sdk/config-resolver": "3.287.0", + "@aws-sdk/fetch-http-handler": "3.282.0", "@aws-sdk/hash-node": "3.272.0", "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.272.0", - "@aws-sdk/middleware-endpoint": "3.272.0", - "@aws-sdk/middleware-host-header": "3.272.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.272.0", - "@aws-sdk/middleware-retry": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.288.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.287.0", "@aws-sdk/middleware-serde": "3.272.0", "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.272.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.272.0", - "@aws-sdk/protocol-http": "3.272.0", - "@aws-sdk/smithy-client": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.287.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/url-parser": "3.272.0", "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.272.0", - "@aws-sdk/util-defaults-mode-node": "3.272.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.287.0", "@aws-sdk/util-endpoints": "3.272.0", "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.272.0", - "@aws-sdk/util-user-agent-node": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.287.0", "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" }, @@ -257,46 +258,46 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.272.0.tgz", - "integrity": "sha512-kigxCxURp3WupufGaL/LABMb7UQfzAQkKcj9royizL3ItJ0vw5kW/JFrPje5IW1mfLgdPF7PI9ShOjE0fCLTqA==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.288.0.tgz", + "integrity": "sha512-mIS6DjNzwJPLtxhi8kYVTvBl0NmDsEFenXKIcqd5aMoLax16ULBr6JypSpSkvkobiqmjQkNIG3PdJBVgYgCt4w==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.272.0", - "@aws-sdk/credential-provider-node": "3.272.0", - "@aws-sdk/fetch-http-handler": "3.272.0", + "@aws-sdk/config-resolver": "3.287.0", + "@aws-sdk/credential-provider-node": "3.288.0", + "@aws-sdk/fetch-http-handler": "3.282.0", "@aws-sdk/hash-node": "3.272.0", "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.272.0", - "@aws-sdk/middleware-endpoint": "3.272.0", - "@aws-sdk/middleware-host-header": "3.272.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.272.0", - "@aws-sdk/middleware-retry": "3.272.0", - "@aws-sdk/middleware-sdk-sts": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.288.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.287.0", + "@aws-sdk/middleware-sdk-sts": "3.282.0", "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-signing": "3.272.0", + "@aws-sdk/middleware-signing": "3.282.0", "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.272.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.272.0", - "@aws-sdk/protocol-http": "3.272.0", - "@aws-sdk/smithy-client": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.287.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/url-parser": "3.272.0", "@aws-sdk/util-base64": "3.208.0", "@aws-sdk/util-body-length-browser": "3.188.0", "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.272.0", - "@aws-sdk/util-defaults-mode-node": "3.272.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.287.0", "@aws-sdk/util-endpoints": "3.272.0", "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.272.0", - "@aws-sdk/util-user-agent-node": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.287.0", "@aws-sdk/util-utf8": "3.254.0", - "fast-xml-parser": "4.0.11", + "fast-xml-parser": "4.1.2", "tslib": "^2.3.1" }, "engines": { @@ -304,12 +305,12 @@ } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.272.0.tgz", - "integrity": "sha512-Dr4CffRVNsOp3LRNdpvcH6XuSgXOSLblWliCy/5I86cNl567KVMxujVx6uPrdTXYs2h1rt3MNl6jQGnAiJeTbw==", + "version": "3.287.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.287.0.tgz", + "integrity": "sha512-YLJ9+ufcrj73DBmqgG50WMAVNHb8PdWL7hkp3gs00VOsXeEMGdQK92fVlx8Him8yPDikvLS2orrEVRcYxj5Uag==", "optional": true, "dependencies": { - "@aws-sdk/signature-v4": "3.272.0", + "@aws-sdk/signature-v4": "3.282.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/util-config-provider": "3.208.0", "@aws-sdk/util-middleware": "3.272.0", @@ -320,12 +321,12 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.272.0.tgz", - "integrity": "sha512-rVx0rtQjbiYCM0nah2rB/2ut2YJYPpRr1AbW/Hd4r/PI+yiusrmXAwuT4HIW2yr34zsQMPi1jZ3WHN9Rn9mzlg==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.288.0.tgz", + "integrity": "sha512-b530K94qnT9GjVmrQioUtre6SMlwieusMNxV+BzShQ1ZmaLkT11M5R3Cp2lYErlawJSkdH+3xvx+CzqMk3aH+Q==", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.272.0", + "@aws-sdk/client-cognito-identity": "3.288.0", "@aws-sdk/property-provider": "3.272.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" @@ -349,12 +350,12 @@ } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.272.0.tgz", - "integrity": "sha512-wwAfVY1jTFQEfxVfdYD5r5ieYGl+0g4nhekVxNMqE8E1JeRDd18OqiwAflzpgBIqxfqvCUkf+vl5JYyacMkNAQ==", + "version": "3.287.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.287.0.tgz", + "integrity": "sha512-awvsREwUgb9V5pbrP9DyNGh5iXBE8Pbb5EeMw8zJsX+cYuD95N0YncrU/7MAf0+ro851gBqjC3Dty8ujrAhkSg==", "optional": true, "dependencies": { - "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-config-provider": "3.287.0", "@aws-sdk/property-provider": "3.272.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/url-parser": "3.272.0", @@ -365,18 +366,18 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.272.0.tgz", - "integrity": "sha512-iE3CDzK5NcupHYjfYjBdY1JCy8NLEoRUsboEjG0i0gy3S3jVpDeVHX1dLVcL/slBFj6GiM7SoNV/UfKnJf3Gaw==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.288.0.tgz", + "integrity": "sha512-uK5x9Vpav7UZ62n+8wvgBsqbh4oxwwjSCpoXECUuS/7pktrEwrPUlozTFNAOtRb6AVN0HCIUXa3xFkw9Dsa04w==", "optional": true, "dependencies": { "@aws-sdk/credential-provider-env": "3.272.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/credential-provider-process": "3.272.0", - "@aws-sdk/credential-provider-sso": "3.272.0", + "@aws-sdk/credential-provider-imds": "3.287.0", + "@aws-sdk/credential-provider-process": "3.287.0", + "@aws-sdk/credential-provider-sso": "3.288.0", "@aws-sdk/credential-provider-web-identity": "3.272.0", "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.287.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -385,19 +386,19 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.272.0.tgz", - "integrity": "sha512-FI8uvwM1IxiRSvbkdKv8DZG5vxU3ezaseTaB1fHWTxEUFb0pWIoHX9oeOKer9Fj31SOZTCNAaYFURbSRuZlm/w==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.288.0.tgz", + "integrity": "sha512-omGUvmWYWCc4Ujdzgto5tV4ppxlDEvD2tcxYTP7tPK6OMQR8img46SJSoL8oa6kwiK0MoI9c6Oy7cvpJMjUeuw==", "optional": true, "dependencies": { "@aws-sdk/credential-provider-env": "3.272.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/credential-provider-ini": "3.272.0", - "@aws-sdk/credential-provider-process": "3.272.0", - "@aws-sdk/credential-provider-sso": "3.272.0", + "@aws-sdk/credential-provider-imds": "3.287.0", + "@aws-sdk/credential-provider-ini": "3.288.0", + "@aws-sdk/credential-provider-process": "3.287.0", + "@aws-sdk/credential-provider-sso": "3.288.0", "@aws-sdk/credential-provider-web-identity": "3.272.0", "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.287.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -406,13 +407,13 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.272.0.tgz", - "integrity": "sha512-hiCAjWWm2PeBFp5cjkxqyam/XADjiS+e7GzwC34TbZn3LisS0uoweLojj9tD11NnnUhyhbLteUvu5+rotOLwrg==", + "version": "3.287.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.287.0.tgz", + "integrity": "sha512-3iWtit/4Iyv/JjL2L0cO7v94NvsISTH/ak0CXqAgb2LdCOz0JN3txgg+ciZzdVLUP8M7x/bm4HjMcUVaxS0HZw==", "optional": true, "dependencies": { "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.287.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -421,15 +422,15 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.272.0.tgz", - "integrity": "sha512-hwYaulyiU/7chKKFecxCeo0ls6Dxs7h+5EtoYcJJGvfpvCncyOZF35t00OAsCd3Wo7HkhhgfpGdb6dmvCNQAZQ==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.288.0.tgz", + "integrity": "sha512-4WC+tnA94rrQ66ud0tUcxdpVqwM8z809bn2/aHKketi2/1li0NVK82lZ4+Vv40ELz6kL2hD3CuiNZm/NG6Mhbw==", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.272.0", + "@aws-sdk/client-sso": "3.288.0", "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/token-providers": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.287.0", + "@aws-sdk/token-providers": "3.288.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -452,24 +453,24 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.272.0.tgz", - "integrity": "sha512-ucd6Xq6aBMf+nM4uz5zkjL11mwaE5BV1Q4hkulaGu2v1dRA8n6zhLJk/sb4hOJ7leelqMJMErlbQ2T3MkYvlJQ==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.288.0.tgz", + "integrity": "sha512-tB3pCK9TL5pAk71uTGi67ez51lM83sIGZEFjuvGU70rvEetyRnmEeSL8wXRW00XMB1Un3s4i0iBdAJwnNNPL/g==", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.272.0", - "@aws-sdk/client-sso": "3.272.0", - "@aws-sdk/client-sts": "3.272.0", - "@aws-sdk/credential-provider-cognito-identity": "3.272.0", + "@aws-sdk/client-cognito-identity": "3.288.0", + "@aws-sdk/client-sso": "3.288.0", + "@aws-sdk/client-sts": "3.288.0", + "@aws-sdk/credential-provider-cognito-identity": "3.288.0", "@aws-sdk/credential-provider-env": "3.272.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/credential-provider-ini": "3.272.0", - "@aws-sdk/credential-provider-node": "3.272.0", - "@aws-sdk/credential-provider-process": "3.272.0", - "@aws-sdk/credential-provider-sso": "3.272.0", + "@aws-sdk/credential-provider-imds": "3.287.0", + "@aws-sdk/credential-provider-ini": "3.288.0", + "@aws-sdk/credential-provider-node": "3.288.0", + "@aws-sdk/credential-provider-process": "3.287.0", + "@aws-sdk/credential-provider-sso": "3.288.0", "@aws-sdk/credential-provider-web-identity": "3.272.0", "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.287.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -478,12 +479,12 @@ } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.272.0.tgz", - "integrity": "sha512-1Qhm9e0RbS1Xf4CZqUbQyUMkDLd7GrsRXWIvm9b86/vgeV8/WnjO3CMue9D51nYgcyQORhYXv6uVjAYCWbUExA==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.282.0.tgz", + "integrity": "sha512-RTd53UzKtUucIEdVLGGgtlbVwp0QkOt3ZfHuA/A1lOH7meChSh1kz7B5z3p4HQDpXO+MQ1Y6Ble9Vg2fh1zwJQ==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", "@aws-sdk/querystring-builder": "3.272.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/util-base64": "3.208.0", @@ -528,12 +529,12 @@ } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.272.0.tgz", - "integrity": "sha512-sAbDZSTNmLX+UTGwlUHJBWy0QGQkiClpHwVFXACon+aG0ySLNeRKEVYs6NCPYldw4cj6hveLUn50cX44ukHErw==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.282.0.tgz", + "integrity": "sha512-SDgMLRRTMr9LlHSNk4bXUXynYnkT4oNMqE+FxhjsdbT8hK36eS4AadM58R7nPwgjR3EuWRW4ZRRawLWatpWspA==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -542,14 +543,14 @@ } }, "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.272.0.tgz", - "integrity": "sha512-Dk3JVjj7SxxoUKv3xGiOeBksvPtFhTDrVW75XJ98Ymv8gJH5L1sq4hIeJAHRKogGiRFq2J73mnZSlM9FVXEylg==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.282.0.tgz", + "integrity": "sha512-8U9Mv/Sbdo1KI6/ip7IIUdBl5pgmalFbfkYAyO+AtmkEvawI9ipdWFs5HB0Dwd1BGVup5choY72Ik/7sCAAFTQ==", "optional": true, "dependencies": { "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/protocol-http": "3.272.0", - "@aws-sdk/signature-v4": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/url-parser": "3.272.0", "@aws-sdk/util-config-provider": "3.208.0", @@ -561,12 +562,12 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.272.0.tgz", - "integrity": "sha512-Q8K7bMMFZnioUXpxn57HIt4p+I63XaNAawMLIZ5B4F2piyukbQeM9q2XVKMGwqLvijHR8CyP5nHrtKqVuINogQ==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.282.0.tgz", + "integrity": "sha512-90dfYow4zh4tCatTOnqB3nE/dIAucQLZnMqwN/WBPu0fUqjymzpsNkPchqWBPnSWdNE8w3PiKMqqD9rjYwqw4Q==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -575,9 +576,9 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.272.0.tgz", - "integrity": "sha512-u2SQ0hWrFwxbxxYMG5uMEgf01pQY5jauK/LYWgGIvuCmFgiyRQQP3oN7kkmsxnS9MWmNmhbyQguX2NY02s5e9w==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.288.0.tgz", + "integrity": "sha512-CoVgwOhopMeP7TqogRxfvqBfmNdG8zK57+f+n8mcfVQwpsCSkkzAi69Gk6u/eKCTbpGEcqEMwk+P45zLEpDaEQ==", "optional": true, "dependencies": { "@aws-sdk/types": "3.272.0", @@ -588,12 +589,12 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.272.0.tgz", - "integrity": "sha512-Gp/eKWeUWVNiiBdmUM2qLkBv+VLSJKoWAO+aKmyxxwjjmWhE0FrfA1NQ1a3g+NGMhRbAfQdaYswRAKsul70ISg==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.282.0.tgz", + "integrity": "sha512-cSLq/daEaTEucbP/TgAXIOcpwLu7Bfw3VGzH1U56ngDjI4KWvUheF16JiB6OqKQXduPBPsdZ9dVmkDVKddmCRw==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -602,12 +603,12 @@ } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.272.0.tgz", - "integrity": "sha512-pCGvHM7C76VbO/dFerH+Vwf7tGv7j+e+eGrvhQ35mRghCtfIou/WMfTZlD1TNee93crrAQQVZKjtW3dMB3WCzg==", + "version": "3.287.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.287.0.tgz", + "integrity": "sha512-pXIAWuwGpWRWjIIJwbkNQGbhOGoOYVaO5WZZ+65PgKkOVDLeCYU0O26PD5cHw2ksUye8dKGfIXHTbe4CmxDveA==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", "@aws-sdk/service-error-classification": "3.272.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/util-middleware": "3.272.0", @@ -620,15 +621,15 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.272.0.tgz", - "integrity": "sha512-VvYPg7LrDIjUOWueSzo2wBzcNG7dw+cmzV6zAKaLxf0RC5jeAP4hE0OzDiiZfDrjNghEzgq/V+0NO+LewqYL9Q==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.282.0.tgz", + "integrity": "sha512-Qe20mtJcF6lxt7280FhTFD2IpBDn39MEXmbm/zIkXR2/cAmvji8YhcxhNrq1l7XiuMM6SokBDC/f3dlF1oOC6g==", "optional": true, "dependencies": { - "@aws-sdk/middleware-signing": "3.272.0", + "@aws-sdk/middleware-signing": "3.282.0", "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/protocol-http": "3.272.0", - "@aws-sdk/signature-v4": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -650,14 +651,14 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.272.0.tgz", - "integrity": "sha512-4LChFK4VAR91X+dupqM8fQqYhFGE0G4Bf9rQlVTgGSbi2KUOmpqXzH0/WKE228nKuEhmH8+Qd2VPSAE2JcyAUA==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.282.0.tgz", + "integrity": "sha512-eE5qMDcqqxZPdSwybUEph/knrA2j2cHjW+B2ddROw3Ojg0XLjep5hOhithAudgBREQhYF9pdsBr6mUMynUIrKw==", "optional": true, "dependencies": { "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/protocol-http": "3.272.0", - "@aws-sdk/signature-v4": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", "@aws-sdk/types": "3.272.0", "@aws-sdk/util-middleware": "3.272.0", "tslib": "^2.3.1" @@ -679,12 +680,12 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.272.0.tgz", - "integrity": "sha512-Qy7/0fsDJxY5l0bEk7WKDfqb4Os/sCAgFR2zEvrhDtbkhYPf72ysvg/nRUTncmCbo8tOok4SJii2myk8KMfjjw==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.282.0.tgz", + "integrity": "sha512-P1ealsSrUALo0w0Qu5nBKsNQwsmqIfsoNtFWpaznjIcXE5rRMlZL69zb0KnGbQCBfEXsgaMOWjeGT8I3/XbOHQ==", "optional": true, "dependencies": { - "@aws-sdk/protocol-http": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -693,13 +694,13 @@ } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.272.0.tgz", - "integrity": "sha512-YYCIBh9g1EQo7hm2l22HX5Yr9RoPQ2RCvhzKvF1n1e8t1QH4iObQrYUtqHG4khcm64Cft8C5MwZmgzHbya5Z6Q==", + "version": "3.287.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.287.0.tgz", + "integrity": "sha512-+AO5dy6JEDvgtH9fcuCNnAQd6ilZjww8d/HNTCb5xOhiW1/pKSNMRhouGfn47uxq61WwDN/qUnv2nlVN83RB6w==", "optional": true, "dependencies": { "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.287.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -708,13 +709,13 @@ } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.272.0.tgz", - "integrity": "sha512-VrW9PjhhngeyYp4yGYPe5S0vgZH6NwU3Po9xAgayUeE37Inr7LS1YteFMHdpgsUUeNXnh7d06CXqHo1XjtqOKA==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.282.0.tgz", + "integrity": "sha512-LIA4lsSKA/l1kTR5ERkJG2gARveB7Y40MR6yDwtIuhXeVu7Xo9m4BJFanCYIbyc093W0T53x438bwoBR+R+/fw==", "optional": true, "dependencies": { "@aws-sdk/abort-controller": "3.272.0", - "@aws-sdk/protocol-http": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", "@aws-sdk/querystring-builder": "3.272.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" @@ -737,9 +738,9 @@ } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.272.0.tgz", - "integrity": "sha512-4JQ54v5Yn08jspNDeHo45CaSn1CvTJqS1Ywgr79eU6jBExtguOWv6LNtwVSBD9X37v88iqaxt8iu1Z3pZZAJeg==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.282.0.tgz", + "integrity": "sha512-aOPv5DhsbG06WKfeh2g0H8RGnaeI8pLhaA+Mq1BvzXcghhlDu+FM9K/GjC/f1lWk1UNryfevOR7SdQm95ciHQg==", "optional": true, "dependencies": { "@aws-sdk/types": "3.272.0", @@ -786,9 +787,9 @@ } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.272.0.tgz", - "integrity": "sha512-lzFPohp5sy2XvwFjZIzLVCRpC0i5cwBiaXmFzXYQZJm6FSCszHO4ax+m9yrtlyVFF/2YPWl+/bzNthy4aJtseA==", + "version": "3.287.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.287.0.tgz", + "integrity": "sha512-CxZp6R11uC12lNg+vKXc8bU7mqIrM43ZY2BbLRZ4tBlc7RLQpcJyccpEwEQAmJq0PA+rDUNod0gYnrM5DOUCLg==", "optional": true, "dependencies": { "@aws-sdk/types": "3.272.0", @@ -799,9 +800,9 @@ } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.272.0.tgz", - "integrity": "sha512-pWxnHG1NqJWMwlhJ6NHNiUikOL00DHROmxah6krJPMPq4I3am2KY2Rs/8ouWhnEXKaHAv4EQhSALJ+7Mq5S4/A==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.282.0.tgz", + "integrity": "sha512-rnSL3UyF/No7+O2EMtN1sTCiqL1a+odbfnfo3wCSl8DH5PEYINt2kZgVEvT1Fgaffk1pUggBBOZoR+arPIIDJA==", "optional": true, "dependencies": { "@aws-sdk/is-array-buffer": "3.201.0", @@ -817,9 +818,9 @@ } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.272.0.tgz", - "integrity": "sha512-pvdleJ3kaRvyRw2pIZnqL85ZlWBOZrPKmR9I69GCvlyrfdjRBhbSjIEZ+sdhZudw0vdHxq25AGoLUXhofVLf5Q==", + "version": "3.279.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.279.0.tgz", + "integrity": "sha512-ZcYWUQDGAYN6NXRpJuSn46PetrpPCA6TrDVwP9+3pERzTXZ66npXoG2XhHjNrOXy/Ted5A3OxKrM4/zLu9tK3A==", "optional": true, "dependencies": { "@aws-sdk/middleware-stack": "3.272.0", @@ -831,14 +832,14 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.272.0.tgz", - "integrity": "sha512-0GISJ4IKN2rXvbSddB775VjBGSKhYIGQnAdMqbvxi9LB6pSvVxcH9aIL28G0spiuL+dy3yGQZ8RlJPAyP9JW9A==", + "version": "3.288.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.288.0.tgz", + "integrity": "sha512-Fa6TV8+M665F+cnXIwqqqgXveiFasfkEYB6/ANZaCjQiwhRtWPlHeCVdhqOHmljdiVTa4gICNmqQC/DzHB/jCA==", "optional": true, "dependencies": { - "@aws-sdk/client-sso-oidc": "3.272.0", + "@aws-sdk/client-sso-oidc": "3.288.0", "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.287.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -929,9 +930,9 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.272.0.tgz", - "integrity": "sha512-W8ZVJSZRuUBg8l0JEZzUc+9fKlthVp/cdE+pFeF8ArhZelOLCiaeCrMaZAeJusaFzIpa6cmOYQAjtSMVyrwRtg==", + "version": "3.279.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.279.0.tgz", + "integrity": "sha512-RnchYRrpapTT5Hu23LOfk6e8RMVq0kUzho6xA6TJj1a4uGxkcRMvgzPipCq1P5uHu0mrkQBg9pGPEVNOUs38/Q==", "optional": true, "dependencies": { "@aws-sdk/property-provider": "3.272.0", @@ -944,14 +945,14 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.272.0.tgz", - "integrity": "sha512-U0NTcbMw6KFk7uz/avBmfxQSTREEiX6JDMH68oN/3ux4AICd2I4jHyxnloSWGuiER1FxZf1dEJ8ZTwy8Ibl21Q==", + "version": "3.287.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.287.0.tgz", + "integrity": "sha512-ZGpbPvUA+m+Lf01eTDHkXmulEPT4LphffEt6M9cHPMhwEZfzxhXLyNXyGRunraoBBzB62hKBbFM2atsoHpuIZA==", "optional": true, "dependencies": { - "@aws-sdk/config-resolver": "3.272.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/config-resolver": "3.287.0", + "@aws-sdk/credential-provider-imds": "3.287.0", + "@aws-sdk/node-config-provider": "3.287.0", "@aws-sdk/property-provider": "3.272.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" @@ -1035,9 +1036,9 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.272.0.tgz", - "integrity": "sha512-Lp5QX5bH6uuwBlIdr7w7OAcAI50ttyskb++yUr9i+SPvj6RI2dsfIBaK4mDg1qUdM5LeUdvIyqwj3XHjFKAAvA==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.282.0.tgz", + "integrity": "sha512-Z639oyTa5fZfyi4Xr64+eiAwBCxfpe9Op4Vhnr1z/RwonQM/qywydv6Ttpeq1q5uQ0nG4wTkOMpfh39g+VqIgw==", "optional": true, "dependencies": { "@aws-sdk/types": "3.272.0", @@ -1046,12 +1047,12 @@ } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.272.0.tgz", - "integrity": "sha512-ljK+R3l+Q1LIHrcR+Knhk0rmcSkfFadZ8V+crEGpABf/QUQRg7NkZMsoe814tfBO5F7tMxo8wwwSdaVNNHtoRA==", + "version": "3.287.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.287.0.tgz", + "integrity": "sha512-yXg0C3WyxyRkQstR4VCTgnEPQd/ViRz+9rEPkYNIWXPvp1l8hPygk5q9tmSD09Lg8wzm6jR6V0MSyJnbwdzq+g==", "optional": true, "dependencies": { - "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-config-provider": "3.287.0", "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, @@ -1140,9 +1141,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", + "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -1162,6 +1163,15 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/js": { + "version": "8.35.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", + "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", @@ -1300,9 +1310,9 @@ } }, "node_modules/@types/node": { - "version": "18.14.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.0.tgz", - "integrity": "sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==" + "version": "18.15.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.0.tgz", + "integrity": "sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==" }, "node_modules/@types/webidl-conversions": { "version": "7.0.0", @@ -1444,9 +1454,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.3.tgz", - "integrity": "sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz", + "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -1578,6 +1588,15 @@ "node": ">= 0.8" } }, + "node_modules/cache-manager": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-5.1.7.tgz", + "integrity": "sha512-2W43F4ruaYb7dSiCOqkKtpnmn51/3DqxbKMMTxHfLa6qtj1letd8rr17/P/c7D7wYViqQLa+LetLCoKSVwBN1w==", + "dependencies": { + "lodash.clonedeep": "^4.5.0", + "lru-cache": "^7.17.0" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1863,12 +1882,13 @@ } }, "node_modules/eslint": { - "version": "8.34.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", - "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", + "version": "8.35.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", + "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", "dev": true, "dependencies": { - "@eslint/eslintrc": "^1.4.1", + "@eslint/eslintrc": "^2.0.0", + "@eslint/js": "8.35.0", "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -1882,7 +1902,7 @@ "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", "espree": "^9.4.0", - "esquery": "^1.4.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", @@ -1985,9 +2005,9 @@ } }, "node_modules/esquery": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", - "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -2044,9 +2064,9 @@ "dev": true }, "node_modules/fast-xml-parser": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz", - "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz", + "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==", "optional": true, "dependencies": { "strnum": "^1.0.5" @@ -2557,6 +2577,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -2569,14 +2594,11 @@ "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/make-dir": { @@ -2649,9 +2671,9 @@ } }, "node_modules/minipass": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz", - "integrity": "sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", + "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==", "engines": { "node": ">=8" } @@ -2691,9 +2713,9 @@ } }, "node_modules/mongodb": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.13.0.tgz", - "integrity": "sha512-+taZ/bV8d1pYuHL4U+gSwkhmDrwkWbH1l4aah4YpmpscMwgFBkufIKxgP/G7m87/NUuQzc2Z75ZTI7ZOyqZLbw==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.14.0.tgz", + "integrity": "sha512-coGKkWXIBczZPr284tYKFLg+KbGPPLlSbdgfKAb6QqCFt5bo5VFZ50O3FFzsw4rnkqjwT6D8Qcoo9nshYKM7Mg==", "dependencies": { "bson": "^4.7.0", "mongodb-connection-string-url": "^2.5.4", @@ -2717,13 +2739,13 @@ } }, "node_modules/mongoose": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.9.2.tgz", - "integrity": "sha512-Yb9rWJhYm+7Yf839QuKx2dXcclbA0GAMxtdDiaedHsOQU+y28cD/8gKYp1wTwwyAjKesqaGfLG4ez7D9lKpwBw==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.10.2.tgz", + "integrity": "sha512-9/AbheG2PiVVBWLx3S6LgCIEQNdMppjdnp/WH9nLGjFzjJeb9LiHNPEtsOGOm8qXmuICHMdbn5iUFAsLWWvpEw==", "dependencies": { "bson": "^4.7.0", "kareem": "2.5.1", - "mongodb": "4.13.0", + "mongodb": "4.14.0", "mpath": "0.9.0", "mquery": "4.0.3", "ms": "2.1.3", @@ -2816,9 +2838,9 @@ } }, "node_modules/nodemon": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz", - "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==", + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.21.tgz", + "integrity": "sha512-djN/n2549DUtY33S7o1djRCd7dEm0kBnj9c7S9XVXqRUbuggN1MZH/Nqa+5RFQr63Fbefq37nFXAE9VU86yL1A==", "dev": true, "dependencies": { "chokidar": "^3.5.2", @@ -3090,9 +3112,9 @@ ] }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -3104,9 +3126,9 @@ } }, "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3261,6 +3283,17 @@ "node": ">=10" } }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", diff --git a/package.json b/package.json index 77b3f4ea..e064f192 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@top-gg/sdk": "^3.1.3", "axios": "^1.3.2", "big.js": "^6.2.1", + "cache-manager": "^5.1.7", "canvas": "^2.11.0", "chart.js": "^4.2.1", "discord-api-types": "^0.37.32",