diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0871ca2..594ca3b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,7 +25,7 @@ importers: version: 9.19.0(jiti@2.4.2) eslint-plugin-jest: specifier: 28.11.0 - version: 28.11.0(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)))(typescript@5.7.3) + version: 28.11.0(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(jest@29.7.0)(typescript@5.7.3) eslint-plugin-react: specifier: 7.37.4 version: 7.37.4(eslint@9.19.0(jiti@2.4.2)) @@ -43,7 +43,7 @@ importers: version: 9.1.7 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)) + version: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.7)(@types/node@22.10.7)(typescript@5.7.3)) lint-staged: specifier: 15.4.3 version: 15.4.3 @@ -109,6 +109,106 @@ importers: specifier: 11.1.0 version: 11.1.0 + services/agents: + dependencies: + '@aws-sdk/client-bedrock-runtime': + specifier: 3.744.0 + version: 3.744.0 + '@nestjs/common': + specifier: 11.0.1 + version: 11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/config': + specifier: 4.0.0 + version: 4.0.0(@nestjs/common@11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(rxjs@7.8.1) + '@nestjs/core': + specifier: 11.0.1 + version: 11.0.1(@nestjs/common@11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@11.0.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/platform-express': + specifier: 11.0.1 + version: 11.0.1(@nestjs/common@11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@11.0.1) + '@nestjs/schedule': + specifier: 5.0.1 + version: 5.0.1(@nestjs/common@11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@11.0.1) + cron: + specifier: 3.5.0 + version: 3.5.0 + reflect-metadata: + specifier: 0.2.2 + version: 0.2.2 + rxjs: + specifier: 7.8.1 + version: 7.8.1 + devDependencies: + '@eslint/eslintrc': + specifier: 3.2.0 + version: 3.2.0 + '@eslint/js': + specifier: 9.18.0 + version: 9.18.0 + '@nestjs/cli': + specifier: 11.0.0 + version: 11.0.0(@swc/cli@0.6.0(@swc/core@1.10.14)(chokidar@4.0.3))(@swc/core@1.10.14)(@types/node@22.10.7) + '@nestjs/schematics': + specifier: 11.0.0 + version: 11.0.0(chokidar@4.0.3)(typescript@5.7.3) + '@nestjs/testing': + specifier: 11.0.1 + version: 11.0.1(@nestjs/common@11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@11.0.1)(@nestjs/platform-express@11.0.1) + '@types/cron': + specifier: 2.4.3 + version: 2.4.3 + '@types/express': + specifier: 5.0.0 + version: 5.0.0 + '@types/jest': + specifier: 29.5.14 + version: 29.5.14 + '@types/node': + specifier: 22.10.7 + version: 22.10.7 + '@types/supertest': + specifier: 6.0.2 + version: 6.0.2 + eslint: + specifier: 9.18.0 + version: 9.18.0(jiti@2.4.2) + eslint-config-prettier: + specifier: 10.0.1 + version: 10.0.1(eslint@9.18.0(jiti@2.4.2)) + eslint-plugin-prettier: + specifier: 5.2.2 + version: 5.2.2(@types/eslint@9.6.1)(eslint-config-prettier@10.0.1(eslint@9.18.0(jiti@2.4.2)))(eslint@9.18.0(jiti@2.4.2))(prettier@3.4.2) + jest: + specifier: 29.7.0 + version: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)) + prettier: + specifier: 3.4.2 + version: 3.4.2 + source-map-support: + specifier: 0.5.21 + version: 0.5.21 + supertest: + specifier: 7.0.0 + version: 7.0.0 + ts-jest: + specifier: 29.2.5 + version: 29.2.5(@babel/core@7.26.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.7))(jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)))(typescript@5.7.3) + ts-loader: + specifier: 9.5.2 + version: 9.5.2(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.14)) + ts-node: + specifier: 10.9.2 + version: 10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3) + tsconfig-paths: + specifier: 4.2.0 + version: 4.2.0 + typescript: + specifier: 5.7.3 + version: 5.7.3 + typescript-eslint: + specifier: 8.20.0 + version: 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) + services/api: dependencies: '@fastify/cookie': @@ -286,7 +386,7 @@ importers: version: 1.99.9(@tanstack/react-router@1.99.9(react-dom@18.3.0(react@18.3.0))(react@18.3.0))(csstype@3.1.3)(react-dom@18.3.0(react@18.3.0))(react@18.3.0) '@tanstack/router-plugin': specifier: 1.99.11 - version: 1.99.11(@tanstack/react-router@1.99.9(react-dom@18.3.0(react@18.3.0))(react@18.3.0))(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(webpack@5.97.1(@swc/core@1.10.14)) + version: 1.99.11(@tanstack/react-router@1.99.9(react-dom@18.3.0(react@18.3.0))(react@18.3.0))(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(webpack@5.97.1) '@types/react': specifier: 19.0.8 version: 19.0.8 @@ -364,6 +464,115 @@ packages: resolution: {integrity: sha512-+eeDvbTj37Yczs3S1Hy42Nr1OG5BHORDPdY+bLIP383aTFjfTtlMIya46iNvMCYjinvnQkC4GcKdsa4ews3c9A==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@aws-crypto/crc32@5.2.0': + resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + + '@aws-crypto/util@5.2.0': + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + + '@aws-sdk/client-bedrock-runtime@3.744.0': + resolution: {integrity: sha512-kKKN6RwzlI4GRvfJ6pe3z4Rwm4FHL3BnVoe2xcP/Kr/c5dT6kZbBDDBumsg8Svb4KE6N4pWck4qr/6F9axQ2Bw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-sso@3.744.0': + resolution: {integrity: sha512-mzJxPQ9mcnNY50pi7+pxB34/Dt7PUn0OgkashHdJPTnavoriLWvPcaQCG1NEVAtyzxNdowhpi4KjC+aN1EwAeA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/core@3.744.0': + resolution: {integrity: sha512-R0XLfDDq7MAXYyDf7tPb+m0R7gmzTRRDtPNQ5jvuq8dbkefph5gFMkxZ2zSx7dfTsfYHhBPuTBsQ0c5Xjal3Vg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-env@3.744.0': + resolution: {integrity: sha512-hyjC7xqzAeERorYYjhQG1ivcr1XlxgfBpa+r4pG29toFG60mACyVzaR7+og3kgzjRFAB7D1imMxPQyEvQ1QokA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-http@3.744.0': + resolution: {integrity: sha512-k+P1Tl5ewBvVByR6hB726qFIzANgQVf2cY87hZ/e09pQYlH4bfBcyY16VJhkqYnKmv6HMdWxKHX7D8nwlc8Obg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-ini@3.744.0': + resolution: {integrity: sha512-hjEWgkF86tkvg8PIsDiB3KkTj7z8ZFGR0v0OLQYD47o17q1qfoMzZmg9wae3wXp9KzU+lZETo+8oMqX9a+7aVQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-node@3.744.0': + resolution: {integrity: sha512-4oUfRd6pe/VGmKoav17pPoOO0WP0L6YXmHqtJHSDmFUOAa+Vh0ZRljTj/yBdleRgdO6rOfdWqoGLFSFiAZDrsQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-process@3.744.0': + resolution: {integrity: sha512-m0d/pDBIaiEAAxWXt/c79RHsKkUkyPOvF2SAMRddVhhOt1GFZI4ml+3f4drmAZfXldIyJmvJTJJqWluVPwTIqQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-sso@3.744.0': + resolution: {integrity: sha512-xdMufTZOvpbDoDPI2XLu0/Rg3qJ/txpS8IJR63NsCGotHJZ/ucLNKwTcGS40hllZB8qSHTlvmlOzElDahTtx/A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.744.0': + resolution: {integrity: sha512-cNk93GZxORzqEojWfXdrPBF6a7Nu3LpPCWG5mV+lH2tbuGsmw6XhKkwpt7o+OiIP4tKCpHlvqOD8f1nmhe1KDA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-host-header@3.734.0': + resolution: {integrity: sha512-LW7RRgSOHHBzWZnigNsDIzu3AiwtjeI2X66v+Wn1P1u+eXssy1+up4ZY/h+t2sU4LU36UvEf+jrZti9c6vRnFw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-logger@3.734.0': + resolution: {integrity: sha512-mUMFITpJUW3LcKvFok176eI5zXAUomVtahb9IQBwLzkqFYOrMJvWAvoV4yuxrJ8TlQBG8gyEnkb9SnhZvjg67w==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.734.0': + resolution: {integrity: sha512-CUat2d9ITsFc2XsmeiRQO96iWpxSKYFjxvj27Hc7vo87YUHRnfMfnc8jw1EpxEwMcvBD7LsRa6vDNky6AjcrFA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-user-agent@3.744.0': + resolution: {integrity: sha512-ROUbDQHfVWiBHXd4m9E9mKj1Azby8XCs8RC8OCf9GVH339GSE6aMrPJSzMlsV1LmzPdPIypgp5qqh5NfSrKztg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/nested-clients@3.744.0': + resolution: {integrity: sha512-Mnrlh4lRY1gZQnKvN2Lh/5WXcGkzC41NM93mtn2uaqOh+DZLCXCttNCfbUesUvYJLOo3lYaOpiDsjTkPVB1yjw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/region-config-resolver@3.734.0': + resolution: {integrity: sha512-Lvj1kPRC5IuJBr9DyJ9T9/plkh+EfKLy+12s/mykOy1JaKHDpvj+XGy2YO6YgYVOb8JFtaqloid+5COtje4JTQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/token-providers@3.744.0': + resolution: {integrity: sha512-v/1+lWkDCd60Ei6oyhJqli6mTsPEVepLoSMB50vHUVlJP0fzXu/3FMje90/RzeUoh/VugZQJCEv/NNpuC6wztg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/types@3.734.0': + resolution: {integrity: sha512-o11tSPTT70nAkGV1fN9wm/hAIiLPyWX6SuGf+9JyTp7S/rC2cFWhR26MvA69nplcjNaXVzB0f+QFrLXXjOqCrg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-endpoints@3.743.0': + resolution: {integrity: sha512-sN1l559zrixeh5x+pttrnd0A3+r34r0tmPkJ/eaaMaAzXqsmKU/xYre9K3FNnsSS1J1k4PEfk/nHDTVUgFYjnw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-locate-window@3.723.0': + resolution: {integrity: sha512-Yf2CS10BqK688DRsrKI/EO6B8ff5J86NXe4C+VCysK7UOgN0l1zOTeTukZ3H8Q9tYYX3oaF1961o8vRkFm7Nmw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-user-agent-browser@3.734.0': + resolution: {integrity: sha512-xQTCus6Q9LwUuALW+S76OL0jcWtMOVu14q+GoLnWPUM7QeUw963oQcLhF7oq0CtaLLKyl4GOUfcwc773Zmwwng==} + + '@aws-sdk/util-user-agent-node@3.744.0': + resolution: {integrity: sha512-BJURjwIXhNa4heXkLC0+GcL+8wVXaU7JoyW6ckdvp93LL+sVHeR1d5FxXZHQW/pMI4E3gNlKyBqjKaT75tObNQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -1616,6 +1825,12 @@ packages: '@fastify/view': optional: true + '@nestjs/schedule@5.0.1': + resolution: {integrity: sha512-kFoel84I4RyS2LNPH6yHYTKxB16tb3auAEciFuc788C3ph6nABkUfzX5IE+unjVaRX+3GuruJwurNepMlHXpQg==} + peerDependencies: + '@nestjs/common': ^10.0.0 || ^11.0.0 + '@nestjs/core': ^10.0.0 || ^11.0.0 + '@nestjs/schematics@11.0.0': resolution: {integrity: sha512-wts8lG0GfNWw3Wk9aaG5I/wcMIAdm7HjjeThQfUZhJxeIFT82Z3F5+0cYdHH4ii2pYQGiCSrR1VcuMwPiHoecg==} peerDependencies: @@ -2717,6 +2932,194 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@smithy/abort-controller@4.0.1': + resolution: {integrity: sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==} + engines: {node: '>=18.0.0'} + + '@smithy/config-resolver@4.0.1': + resolution: {integrity: sha512-Igfg8lKu3dRVkTSEm98QpZUvKEOa71jDX4vKRcvJVyRc3UgN3j7vFMf0s7xLQhYmKa8kyJGQgUJDOV5V3neVlQ==} + engines: {node: '>=18.0.0'} + + '@smithy/core@3.1.2': + resolution: {integrity: sha512-htwQXkbdF13uwwDevz9BEzL5ABK+1sJpVQXywwGSH973AVOvisHNfpcB8A8761G6XgHoS2kHPqc9DqHJ2gp+/Q==} + engines: {node: '>=18.0.0'} + + '@smithy/credential-provider-imds@4.0.1': + resolution: {integrity: sha512-l/qdInaDq1Zpznpmev/+52QomsJNZ3JkTl5yrTl02V6NBgJOQ4LY0SFw/8zsMwj3tLe8vqiIuwF6nxaEwgf6mg==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-codec@4.0.1': + resolution: {integrity: sha512-Q2bCAAR6zXNVtJgifsU16ZjKGqdw/DyecKNgIgi7dlqw04fqDu0mnq+JmGphqheypVc64CYq3azSuCpAdFk2+A==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-browser@4.0.1': + resolution: {integrity: sha512-HbIybmz5rhNg+zxKiyVAnvdM3vkzjE6ccrJ620iPL8IXcJEntd3hnBl+ktMwIy12Te/kyrSbUb8UCdnUT4QEdA==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-config-resolver@4.0.1': + resolution: {integrity: sha512-lSipaiq3rmHguHa3QFF4YcCM3VJOrY9oq2sow3qlhFY+nBSTF/nrO82MUQRPrxHQXA58J5G1UnU2WuJfi465BA==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-node@4.0.1': + resolution: {integrity: sha512-o4CoOI6oYGYJ4zXo34U8X9szDe3oGjmHgsMGiZM0j4vtNoT+h80TLnkUcrLZR3+E6HIxqW+G+9WHAVfl0GXK0Q==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-universal@4.0.1': + resolution: {integrity: sha512-Z94uZp0tGJuxds3iEAZBqGU2QiaBHP4YytLUjwZWx+oUeohCsLyUm33yp4MMBmhkuPqSbQCXq5hDet6JGUgHWA==} + engines: {node: '>=18.0.0'} + + '@smithy/fetch-http-handler@5.0.1': + resolution: {integrity: sha512-3aS+fP28urrMW2KTjb6z9iFow6jO8n3MFfineGbndvzGZit3taZhKWtTorf+Gp5RpFDDafeHlhfsGlDCXvUnJA==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-node@4.0.1': + resolution: {integrity: sha512-TJ6oZS+3r2Xu4emVse1YPB3Dq3d8RkZDKcPr71Nj/lJsdAP1c7oFzYqEn1IBc915TsgLl2xIJNuxCz+gLbLE0w==} + engines: {node: '>=18.0.0'} + + '@smithy/invalid-dependency@4.0.1': + resolution: {integrity: sha512-gdudFPf4QRQ5pzj7HEnu6FhKRi61BfH/Gk5Yf6O0KiSbr1LlVhgjThcvjdu658VE6Nve8vaIWB8/fodmS1rBPQ==} + engines: {node: '>=18.0.0'} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@4.0.0': + resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-content-length@4.0.1': + resolution: {integrity: sha512-OGXo7w5EkB5pPiac7KNzVtfCW2vKBTZNuCctn++TTSOMpe6RZO/n6WEC1AxJINn3+vWLKW49uad3lo/u0WJ9oQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-endpoint@4.0.3': + resolution: {integrity: sha512-YdbmWhQF5kIxZjWqPIgboVfi8i5XgiYMM7GGKFMTvBei4XjNQfNv8sukT50ITvgnWKKKpOtp0C0h7qixLgb77Q==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-retry@4.0.4': + resolution: {integrity: sha512-wmxyUBGHaYUqul0wZiset4M39SMtDBOtUr2KpDuftKNN74Do9Y36Go6Eqzj9tL0mIPpr31ulB5UUtxcsCeGXsQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-serde@4.0.2': + resolution: {integrity: sha512-Sdr5lOagCn5tt+zKsaW+U2/iwr6bI9p08wOkCp6/eL6iMbgdtc2R5Ety66rf87PeohR0ExI84Txz9GYv5ou3iQ==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-stack@4.0.1': + resolution: {integrity: sha512-dHwDmrtR/ln8UTHpaIavRSzeIk5+YZTBtLnKwDW3G2t6nAupCiQUvNzNoHBpik63fwUaJPtlnMzXbQrNFWssIA==} + engines: {node: '>=18.0.0'} + + '@smithy/node-config-provider@4.0.1': + resolution: {integrity: sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==} + engines: {node: '>=18.0.0'} + + '@smithy/node-http-handler@4.0.2': + resolution: {integrity: sha512-X66H9aah9hisLLSnGuzRYba6vckuFtGE+a5DcHLliI/YlqKrGoxhisD5XbX44KyoeRzoNlGr94eTsMVHFAzPOw==} + engines: {node: '>=18.0.0'} + + '@smithy/property-provider@4.0.1': + resolution: {integrity: sha512-o+VRiwC2cgmk/WFV0jaETGOtX16VNPp2bSQEzu0whbReqE1BMqsP2ami2Vi3cbGVdKu1kq9gQkDAGKbt0WOHAQ==} + engines: {node: '>=18.0.0'} + + '@smithy/protocol-http@5.0.1': + resolution: {integrity: sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-builder@4.0.1': + resolution: {integrity: sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-parser@4.0.1': + resolution: {integrity: sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==} + engines: {node: '>=18.0.0'} + + '@smithy/service-error-classification@4.0.1': + resolution: {integrity: sha512-3JNjBfOWpj/mYfjXJHB4Txc/7E4LVq32bwzE7m28GN79+M1f76XHflUaSUkhOriprPDzev9cX/M+dEB80DNDKA==} + engines: {node: '>=18.0.0'} + + '@smithy/shared-ini-file-loader@4.0.1': + resolution: {integrity: sha512-hC8F6qTBbuHRI/uqDgqqi6J0R4GtEZcgrZPhFQnMhfJs3MnUTGSnR1NSJCJs5VWlMydu0kJz15M640fJlRsIOw==} + engines: {node: '>=18.0.0'} + + '@smithy/signature-v4@5.0.1': + resolution: {integrity: sha512-nCe6fQ+ppm1bQuw5iKoeJ0MJfz2os7Ic3GBjOkLOPtavbD1ONoyE3ygjBfz2ythFWm4YnRm6OxW+8p/m9uCoIA==} + engines: {node: '>=18.0.0'} + + '@smithy/smithy-client@4.1.3': + resolution: {integrity: sha512-A2Hz85pu8BJJaYFdX8yb1yocqigyqBzn+OVaVgm+Kwi/DkN8vhN2kbDVEfADo6jXf5hPKquMLGA3UINA64UZ7A==} + engines: {node: '>=18.0.0'} + + '@smithy/types@4.1.0': + resolution: {integrity: sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==} + engines: {node: '>=18.0.0'} + + '@smithy/url-parser@4.0.1': + resolution: {integrity: sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==} + engines: {node: '>=18.0.0'} + + '@smithy/util-base64@4.0.0': + resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-browser@4.0.0': + resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-node@4.0.0': + resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@4.0.0': + resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + engines: {node: '>=18.0.0'} + + '@smithy/util-config-provider@4.0.0': + resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-browser@4.0.4': + resolution: {integrity: sha512-Ej1bV5sbrIfH++KnWxjjzFNq9nyP3RIUq2c9Iqq7SmMO/idUR24sqvKH2LUQFTSPy/K7G4sB2m8n7YYlEAfZaw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-node@4.0.4': + resolution: {integrity: sha512-HE1I7gxa6yP7ZgXPCFfZSDmVmMtY7SHqzFF55gM/GPegzZKaQWZZ+nYn9C2Cc3JltCMyWe63VPR3tSFDEvuGjw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-endpoints@3.0.1': + resolution: {integrity: sha512-zVdUENQpdtn9jbpD9SCFK4+aSiavRb9BxEtw9ZGUR1TYo6bBHbIoi7VkrFQ0/RwZlzx0wRBaRmPclj8iAoJCLA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-hex-encoding@4.0.0': + resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-middleware@4.0.1': + resolution: {integrity: sha512-HiLAvlcqhbzhuiOa0Lyct5IIlyIz0PQO5dnMlmQ/ubYM46dPInB+3yQGkfxsk6Q24Y0n3/JmcA1v5iEhmOF5mA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-retry@4.0.1': + resolution: {integrity: sha512-WmRHqNVwn3kI3rKk1LsKcVgPBG6iLTBGC1iYOV3GQegwJ3E8yjzHytPt26VNzOWr1qu0xE03nK0Ug8S7T7oufw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-stream@4.0.2': + resolution: {integrity: sha512-0eZ4G5fRzIoewtHtwaYyl8g2C+osYOT4KClXgfdNEDAgkbe2TYPqcnw4GAWabqkZCax2ihRGPe9LZnsPdIUIHA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-uri-escape@4.0.0': + resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@4.0.0': + resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + engines: {node: '>=18.0.0'} + '@socket.io/component-emitter@3.1.2': resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} @@ -3159,6 +3562,10 @@ packages: '@types/cookiejar@2.1.5': resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==} + '@types/cron@2.4.3': + resolution: {integrity: sha512-ViRBkoZD9Rk0hGeMdd2GHGaOaZuH9mDmwsE5/Zo53Ftwcvh7h9VJc8lIt2wdgEwS4EW5lbtTX6vlE0idCLPOyA==} + deprecated: This is a stub types definition. cron provides its own type definitions, so you do not need this installed. + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -3216,6 +3623,9 @@ packages: '@types/lru-cache@5.1.1': resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} + '@types/luxon@3.4.2': + resolution: {integrity: sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==} + '@types/methods@1.1.4': resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} @@ -3284,6 +3694,9 @@ packages: '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/uuid@9.0.8': + resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -4428,6 +4841,9 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cron@3.5.0: + resolution: {integrity: sha512-0eYZqCnapmxYcV06uktql93wNWdlTmmBFP2iYz+JPVcQqlyFYcn1lFuIk4R54pkOmE7mcldTAPZv6X5XA4Q46A==} + cross-fetch@3.2.0: resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} @@ -5105,6 +5521,10 @@ packages: fast-uri@3.0.6: resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + fastify-plugin@5.0.1: resolution: {integrity: sha512-HCxs+YnRaWzCl+cWRYFnHmeRFyR5GVnJTAaCJQiYzQSDwK9MgJdyAsuL3nh0EWRCYMgQ5MeziymvmAhUHYHDUQ==} @@ -6325,6 +6745,10 @@ packages: lru_map@0.3.3: resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + luxon@3.5.0: + resolution: {integrity: sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==} + engines: {node: '>=12'} + magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} @@ -7752,6 +8176,9 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + strtok3@9.1.1: resolution: {integrity: sha512-FhwotcEqjr241ZbjFzjlIYg6c5/L/s4yBGWSMvJ9UoExiSqL+FnFA/CaeZx17WGaZMS/4SOZp8wH18jSS4R4lw==} engines: {node: '>=16'} @@ -8797,17 +9224,369 @@ snapshots: transitivePeerDependencies: - chokidar - '@babel/code-frame@7.26.2': + '@aws-crypto/crc32@5.2.0': dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.734.0 + tslib: 2.8.1 - '@babel/compat-data@7.26.5': {} + '@aws-crypto/sha256-browser@5.2.0': + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-locate-window': 3.723.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 - '@babel/core@7.26.7': + '@aws-crypto/sha256-js@5.2.0': dependencies: - '@ampproject/remapping': 2.3.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.734.0 + tslib: 2.8.1 + + '@aws-crypto/supports-web-crypto@5.2.0': + dependencies: + tslib: 2.8.1 + + '@aws-crypto/util@5.2.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-sdk/client-bedrock-runtime@3.744.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.744.0 + '@aws-sdk/credential-provider-node': 3.744.0 + '@aws-sdk/middleware-host-header': 3.734.0 + '@aws-sdk/middleware-logger': 3.734.0 + '@aws-sdk/middleware-recursion-detection': 3.734.0 + '@aws-sdk/middleware-user-agent': 3.744.0 + '@aws-sdk/region-config-resolver': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-endpoints': 3.743.0 + '@aws-sdk/util-user-agent-browser': 3.734.0 + '@aws-sdk/util-user-agent-node': 3.744.0 + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.2 + '@smithy/eventstream-serde-browser': 4.0.1 + '@smithy/eventstream-serde-config-resolver': 4.0.1 + '@smithy/eventstream-serde-node': 4.0.1 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/middleware-retry': 4.0.4 + '@smithy/middleware-serde': 4.0.2 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.4 + '@smithy/util-defaults-mode-node': 4.0.4 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-stream': 4.0.2 + '@smithy/util-utf8': 4.0.0 + '@types/uuid': 9.0.8 + tslib: 2.8.1 + uuid: 9.0.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.744.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.744.0 + '@aws-sdk/middleware-host-header': 3.734.0 + '@aws-sdk/middleware-logger': 3.734.0 + '@aws-sdk/middleware-recursion-detection': 3.734.0 + '@aws-sdk/middleware-user-agent': 3.744.0 + '@aws-sdk/region-config-resolver': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-endpoints': 3.743.0 + '@aws-sdk/util-user-agent-browser': 3.734.0 + '@aws-sdk/util-user-agent-node': 3.744.0 + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.2 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/middleware-retry': 4.0.4 + '@smithy/middleware-serde': 4.0.2 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.4 + '@smithy/util-defaults-mode-node': 4.0.4 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/core@3.744.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@smithy/core': 3.1.2 + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/signature-v4': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/util-middleware': 4.0.1 + fast-xml-parser: 4.4.1 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-env@3.744.0': + dependencies: + '@aws-sdk/core': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-http@3.744.0': + dependencies: + '@aws-sdk/core': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/property-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/util-stream': 4.0.2 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-ini@3.744.0': + dependencies: + '@aws-sdk/core': 3.744.0 + '@aws-sdk/credential-provider-env': 3.744.0 + '@aws-sdk/credential-provider-http': 3.744.0 + '@aws-sdk/credential-provider-process': 3.744.0 + '@aws-sdk/credential-provider-sso': 3.744.0 + '@aws-sdk/credential-provider-web-identity': 3.744.0 + '@aws-sdk/nested-clients': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-node@3.744.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.744.0 + '@aws-sdk/credential-provider-http': 3.744.0 + '@aws-sdk/credential-provider-ini': 3.744.0 + '@aws-sdk/credential-provider-process': 3.744.0 + '@aws-sdk/credential-provider-sso': 3.744.0 + '@aws-sdk/credential-provider-web-identity': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-process@3.744.0': + dependencies: + '@aws-sdk/core': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-sso@3.744.0': + dependencies: + '@aws-sdk/client-sso': 3.744.0 + '@aws-sdk/core': 3.744.0 + '@aws-sdk/token-providers': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-web-identity@3.744.0': + dependencies: + '@aws-sdk/core': 3.744.0 + '@aws-sdk/nested-clients': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/middleware-host-header@3.734.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-logger@3.734.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-recursion-detection@3.734.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-user-agent@3.744.0': + dependencies: + '@aws-sdk/core': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-endpoints': 3.743.0 + '@smithy/core': 3.1.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@aws-sdk/nested-clients@3.744.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.744.0 + '@aws-sdk/middleware-host-header': 3.734.0 + '@aws-sdk/middleware-logger': 3.734.0 + '@aws-sdk/middleware-recursion-detection': 3.734.0 + '@aws-sdk/middleware-user-agent': 3.744.0 + '@aws-sdk/region-config-resolver': 3.734.0 + '@aws-sdk/types': 3.734.0 + '@aws-sdk/util-endpoints': 3.743.0 + '@aws-sdk/util-user-agent-browser': 3.734.0 + '@aws-sdk/util-user-agent-node': 3.744.0 + '@smithy/config-resolver': 4.0.1 + '@smithy/core': 3.1.2 + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/hash-node': 4.0.1 + '@smithy/invalid-dependency': 4.0.1 + '@smithy/middleware-content-length': 4.0.1 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/middleware-retry': 4.0.4 + '@smithy/middleware-serde': 4.0.2 + '@smithy/middleware-stack': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.4 + '@smithy/util-defaults-mode-node': 4.0.4 + '@smithy/util-endpoints': 3.0.1 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/region-config-resolver@3.734.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.1 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.744.0': + dependencies: + '@aws-sdk/nested-clients': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/types@3.734.0': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@aws-sdk/util-endpoints@3.743.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@smithy/types': 4.1.0 + '@smithy/util-endpoints': 3.0.1 + tslib: 2.8.1 + + '@aws-sdk/util-locate-window@3.723.0': + dependencies: + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-browser@3.734.0': + dependencies: + '@aws-sdk/types': 3.734.0 + '@smithy/types': 4.1.0 + bowser: 2.11.0 + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-node@3.744.0': + dependencies: + '@aws-sdk/middleware-user-agent': 3.744.0 + '@aws-sdk/types': 3.734.0 + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.5': {} + + '@babel/core@7.26.7': + dependencies: + '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.2 '@babel/generator': 7.26.5 '@babel/helper-compilation-targets': 7.26.5 @@ -8815,10 +9594,10 @@ snapshots: '@babel/helpers': 7.26.7 '@babel/parser': 7.26.7 '@babel/template': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.7(supports-color@5.5.0) '@babel/types': 7.26.7 convert-source-map: 2.0.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -8845,13 +9624,6 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-module-imports@7.25.9': - dependencies: - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 - transitivePeerDependencies: - - supports-color - '@babel/helper-module-imports@7.25.9(supports-color@5.5.0)': dependencies: '@babel/traverse': 7.26.7(supports-color@5.5.0) @@ -8862,9 +9634,9 @@ snapshots: '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.7)': dependencies: '@babel/core': 7.26.7 - '@babel/helper-module-imports': 7.25.9 + '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.7(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -8990,18 +9762,6 @@ snapshots: '@babel/parser': 7.26.7 '@babel/types': 7.26.7 - '@babel/traverse@7.26.7': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.7 - '@babel/template': 7.25.9 - '@babel/types': 7.26.7 - debug: 4.4.0(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - '@babel/traverse@7.26.7(supports-color@5.5.0)': dependencies: '@babel/code-frame': 7.26.2 @@ -9237,7 +9997,7 @@ snapshots: '@eslint/config-array@0.19.2': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -9249,7 +10009,7 @@ snapshots: '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -10097,7 +10857,7 @@ snapshots: bufferutil: 4.0.9 cross-fetch: 4.1.0(encoding@0.1.13) date-fns: 2.30.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) eciesjs: 0.4.13 eventemitter2: 6.4.9 readable-stream: 3.6.2 @@ -10121,7 +10881,7 @@ snapshots: '@paulmillr/qr': 0.2.1 bowser: 2.11.0 cross-fetch: 4.1.0(encoding@0.1.13) - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) eciesjs: 0.4.13 eth-rpc-errors: 4.0.3 eventemitter2: 6.4.9 @@ -10144,7 +10904,7 @@ snapshots: dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.12 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) semver: 7.7.1 superstruct: 1.0.4 transitivePeerDependencies: @@ -10157,7 +10917,7 @@ snapshots: '@noble/hashes': 1.7.1 '@scure/base': 1.2.4 '@types/debug': 4.1.12 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) pony-cause: 2.1.11 semver: 7.7.1 uuid: 9.0.1 @@ -10171,7 +10931,7 @@ snapshots: '@noble/hashes': 1.7.1 '@scure/base': 1.2.4 '@types/debug': 4.1.12 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) pony-cause: 2.1.11 semver: 7.7.1 uuid: 9.0.1 @@ -10300,6 +11060,36 @@ snapshots: '@napi-rs/nice-win32-x64-msvc': 1.0.1 optional: true + '@nestjs/cli@11.0.0(@swc/cli@0.6.0(@swc/core@1.10.14)(chokidar@4.0.3))(@swc/core@1.10.14)(@types/node@22.10.7)': + dependencies: + '@angular-devkit/core': 19.1.2(chokidar@4.0.3) + '@angular-devkit/schematics': 19.1.2(chokidar@4.0.3) + '@angular-devkit/schematics-cli': 19.1.2(@types/node@22.10.7)(chokidar@4.0.3) + '@inquirer/prompts': 7.2.3(@types/node@22.10.7) + '@nestjs/schematics': 11.0.0(chokidar@4.0.3)(typescript@5.7.3) + ansis: 3.9.0 + chokidar: 4.0.3 + cli-table3: 0.6.5 + commander: 4.1.1 + fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.14)) + glob: 11.0.1 + node-emoji: 1.11.0 + ora: 5.4.1 + tree-kill: 1.2.2 + tsconfig-paths: 4.2.0 + tsconfig-paths-webpack-plugin: 4.2.0 + typescript: 5.7.3 + webpack: 5.97.1(@swc/core@1.10.14) + webpack-node-externals: 3.0.0 + optionalDependencies: + '@swc/cli': 0.6.0(@swc/core@1.10.14)(chokidar@4.0.3) + '@swc/core': 1.10.14 + transitivePeerDependencies: + - '@types/node' + - esbuild + - uglify-js + - webpack-cli + '@nestjs/cli@11.0.0(@swc/cli@0.6.0(@swc/core@1.10.7)(chokidar@4.0.3))(@swc/core@1.10.7)(@types/node@22.10.7)': dependencies: '@angular-devkit/core': 19.1.2(chokidar@4.0.3) @@ -10390,6 +11180,12 @@ snapshots: path-to-regexp: 8.2.0 tslib: 2.8.1 + '@nestjs/schedule@5.0.1(@nestjs/common@11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@11.0.1)': + dependencies: + '@nestjs/common': 11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1) + '@nestjs/core': 11.0.1(@nestjs/common@11.0.1(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@11.0.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) + cron: 3.5.0 + '@nestjs/schematics@11.0.0(chokidar@4.0.3)(typescript@5.7.3)': dependencies: '@angular-devkit/core': 19.0.1(chokidar@4.0.3) @@ -10510,7 +11306,7 @@ snapshots: '@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))(hardhat@2.22.18(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.13.1)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@5.0.10))': dependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) ethers: 6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) hardhat: 2.22.18(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.13.1)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@5.0.10) lodash.isequal: 4.5.0 @@ -10531,7 +11327,7 @@ snapshots: '@nomicfoundation/ignition-core': 0.15.9(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@nomicfoundation/ignition-ui': 0.15.9 chalk: 4.1.2 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) fs-extra: 10.1.0 hardhat: 2.22.18(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.13.1)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@5.0.10) json5: 2.2.3 @@ -10570,7 +11366,7 @@ snapshots: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 cbor: 8.1.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) hardhat: 2.22.18(bufferutil@4.0.9)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.13.1)(typescript@5.7.3))(typescript@5.7.3)(utf-8-validate@5.0.10) lodash.clonedeep: 4.5.0 picocolors: 1.1.1 @@ -10595,7 +11391,7 @@ snapshots: '@ethersproject/address': 5.6.1 '@nomicfoundation/solidity-analyzer': 0.1.2 cbor: 9.0.2 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) ethers: 6.13.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) fs-extra: 10.1.0 immer: 10.0.2 @@ -11558,6 +12354,303 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 + '@smithy/abort-controller@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/config-resolver@4.0.1': + dependencies: + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.1 + tslib: 2.8.1 + + '@smithy/core@3.1.2': + dependencies: + '@smithy/middleware-serde': 4.0.2 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-stream': 4.0.2 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/credential-provider-imds@4.0.1': + dependencies: + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + tslib: 2.8.1 + + '@smithy/eventstream-codec@4.0.1': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@smithy/types': 4.1.0 + '@smithy/util-hex-encoding': 4.0.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-browser@4.0.1': + dependencies: + '@smithy/eventstream-serde-universal': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-config-resolver@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-node@4.0.1': + dependencies: + '@smithy/eventstream-serde-universal': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-universal@4.0.1': + dependencies: + '@smithy/eventstream-codec': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/fetch-http-handler@5.0.1': + dependencies: + '@smithy/protocol-http': 5.0.1 + '@smithy/querystring-builder': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-base64': 4.0.0 + tslib: 2.8.1 + + '@smithy/hash-node@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/invalid-dependency@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/is-array-buffer@2.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/is-array-buffer@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/middleware-content-length@4.0.1': + dependencies: + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/middleware-endpoint@4.0.3': + dependencies: + '@smithy/core': 3.1.2 + '@smithy/middleware-serde': 4.0.2 + '@smithy/node-config-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + '@smithy/url-parser': 4.0.1 + '@smithy/util-middleware': 4.0.1 + tslib: 2.8.1 + + '@smithy/middleware-retry@4.0.4': + dependencies: + '@smithy/node-config-provider': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/service-error-classification': 4.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-retry': 4.0.1 + tslib: 2.8.1 + uuid: 9.0.1 + + '@smithy/middleware-serde@4.0.2': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/middleware-stack@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/node-config-provider@4.0.1': + dependencies: + '@smithy/property-provider': 4.0.1 + '@smithy/shared-ini-file-loader': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/node-http-handler@4.0.2': + dependencies: + '@smithy/abort-controller': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/querystring-builder': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/property-provider@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/protocol-http@5.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/querystring-builder@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + '@smithy/util-uri-escape': 4.0.0 + tslib: 2.8.1 + + '@smithy/querystring-parser@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/service-error-classification@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + + '@smithy/shared-ini-file-loader@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/signature-v4@5.0.1': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-middleware': 4.0.1 + '@smithy/util-uri-escape': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/smithy-client@4.1.3': + dependencies: + '@smithy/core': 3.1.2 + '@smithy/middleware-endpoint': 4.0.3 + '@smithy/middleware-stack': 4.0.1 + '@smithy/protocol-http': 5.0.1 + '@smithy/types': 4.1.0 + '@smithy/util-stream': 4.0.2 + tslib: 2.8.1 + + '@smithy/types@4.1.0': + dependencies: + tslib: 2.8.1 + + '@smithy/url-parser@4.0.1': + dependencies: + '@smithy/querystring-parser': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/util-base64@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-body-length-browser@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-body-length-node@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-buffer-from@4.0.0': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-config-provider@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-defaults-mode-browser@4.0.4': + dependencies: + '@smithy/property-provider': 4.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + bowser: 2.11.0 + tslib: 2.8.1 + + '@smithy/util-defaults-mode-node@4.0.4': + dependencies: + '@smithy/config-resolver': 4.0.1 + '@smithy/credential-provider-imds': 4.0.1 + '@smithy/node-config-provider': 4.0.1 + '@smithy/property-provider': 4.0.1 + '@smithy/smithy-client': 4.1.3 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/util-endpoints@3.0.1': + dependencies: + '@smithy/node-config-provider': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/util-hex-encoding@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-middleware@4.0.1': + dependencies: + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/util-retry@4.0.1': + dependencies: + '@smithy/service-error-classification': 4.0.1 + '@smithy/types': 4.1.0 + tslib: 2.8.1 + + '@smithy/util-stream@4.0.2': + dependencies: + '@smithy/fetch-http-handler': 5.0.1 + '@smithy/node-http-handler': 4.0.2 + '@smithy/types': 4.1.0 + '@smithy/util-base64': 4.0.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-uri-escape@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-utf8@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-utf8@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + tslib: 2.8.1 + '@socket.io/component-emitter@3.1.2': {} '@solidity-parser/parser@0.14.5': @@ -11653,6 +12746,22 @@ snapshots: '@stablelib/random': 1.0.2 '@stablelib/wipe': 1.0.1 + '@swc/cli@0.6.0(@swc/core@1.10.14)(chokidar@4.0.3)': + dependencies: + '@swc/core': 1.10.14 + '@swc/counter': 0.1.3 + '@xhmikosr/bin-wrapper': 13.0.5 + commander: 8.3.0 + fast-glob: 3.3.3 + minimatch: 9.0.5 + piscina: 4.8.0 + semver: 7.7.1 + slash: 3.0.0 + source-map: 0.7.4 + optionalDependencies: + chokidar: 4.0.3 + optional: true + '@swc/cli@0.6.0(@swc/core@1.10.7)(chokidar@4.0.3)': dependencies: '@swc/core': 1.10.7 @@ -11883,13 +12992,13 @@ snapshots: optionalDependencies: '@tanstack/react-router': 1.99.9(react-dom@18.3.0(react@18.3.0))(react@18.3.0) - '@tanstack/router-plugin@1.99.11(@tanstack/react-router@1.99.9(react-dom@18.3.0(react@18.3.0))(react@18.3.0))(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(webpack@5.97.1(@swc/core@1.10.14))': + '@tanstack/router-plugin@1.99.11(@tanstack/react-router@1.99.9(react-dom@18.3.0(react@18.3.0))(react@18.3.0))(vite@6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0))(webpack@5.97.1)': dependencies: '@babel/core': 7.26.7 '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.7) '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.7) '@babel/template': 7.25.9 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.7(supports-color@5.5.0) '@babel/types': 7.26.7 '@tanstack/router-generator': 1.99.9(@tanstack/react-router@1.99.9(react-dom@18.3.0(react@18.3.0))(react@18.3.0)) '@tanstack/router-utils': 1.99.5 @@ -11904,7 +13013,7 @@ snapshots: optionalDependencies: '@tanstack/react-router': 1.99.9(react-dom@18.3.0(react@18.3.0))(react@18.3.0) vite: 6.1.0(@types/node@22.13.1)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.38.1)(tsx@4.19.2)(yaml@2.7.0) - webpack: 5.97.1(@swc/core@1.10.14) + webpack: 5.97.1 transitivePeerDependencies: - supports-color @@ -11990,6 +13099,10 @@ snapshots: '@types/cookiejar@2.1.5': {} + '@types/cron@2.4.3': + dependencies: + cron: 3.5.0 + '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -12062,6 +13175,8 @@ snapshots: '@types/lru-cache@5.1.1': {} + '@types/luxon@3.4.2': {} + '@types/methods@1.1.4': {} '@types/mime@1.3.5': {} @@ -12135,6 +13250,8 @@ snapshots: '@types/trusted-types@2.0.7': {} + '@types/uuid@9.0.8': {} + '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.33': @@ -12158,10 +13275,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2) + '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) '@typescript-eslint/scope-manager': 8.22.0 '@typescript-eslint/type-utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2) '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2) @@ -12198,7 +13315,7 @@ snapshots: '@typescript-eslint/types': 8.20.0 '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) '@typescript-eslint/visitor-keys': 8.20.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) eslint: 9.18.0(jiti@2.4.2) typescript: 5.7.3 transitivePeerDependencies: @@ -12210,7 +13327,7 @@ snapshots: '@typescript-eslint/types': 8.22.0 '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.22.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) eslint: 9.19.0(jiti@2.4.2) typescript: 5.7.2 transitivePeerDependencies: @@ -12222,7 +13339,7 @@ snapshots: '@typescript-eslint/types': 8.22.0 '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.3) '@typescript-eslint/visitor-keys': 8.22.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) eslint: 9.19.0(jiti@2.4.2) typescript: 5.7.3 transitivePeerDependencies: @@ -12247,7 +13364,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.20.0(typescript@5.7.3) '@typescript-eslint/utils': 8.20.0(eslint@9.18.0(jiti@2.4.2))(typescript@5.7.3) - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) eslint: 9.18.0(jiti@2.4.2) ts-api-utils: 2.0.1(typescript@5.7.3) typescript: 5.7.3 @@ -12258,7 +13375,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.2) '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2) - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) eslint: 9.19.0(jiti@2.4.2) ts-api-utils: 2.0.1(typescript@5.7.2) typescript: 5.7.2 @@ -12269,7 +13386,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.22.0(typescript@5.7.3) '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) eslint: 9.19.0(jiti@2.4.2) ts-api-utils: 2.0.1(typescript@5.7.3) typescript: 5.7.3 @@ -12286,7 +13403,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.20.0 '@typescript-eslint/visitor-keys': 8.20.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -12300,7 +13417,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.22.0 '@typescript-eslint/visitor-keys': 8.22.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -12314,7 +13431,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.22.0 '@typescript-eslint/visitor-keys': 8.22.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -12328,7 +13445,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.23.0 '@typescript-eslint/visitor-keys': 8.23.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -13025,7 +14142,7 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -13253,7 +14370,7 @@ snapshots: dependencies: '@babel/core': 7.26.7 '@babel/parser': 7.26.7 - '@babel/traverse': 7.26.7 + '@babel/traverse': 7.26.7(supports-color@5.5.0) '@babel/types': 7.26.7 transitivePeerDependencies: - supports-color @@ -13883,6 +15000,11 @@ snapshots: create-require@1.1.1: {} + cron@3.5.0: + dependencies: + '@types/luxon': 3.4.2 + luxon: 3.5.0 + cross-fetch@3.2.0(encoding@0.1.13): dependencies: node-fetch: 2.7.0(encoding@0.1.13) @@ -14363,13 +15485,13 @@ snapshots: dependencies: eslint: 9.18.0(jiti@2.4.2) - eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)))(typescript@5.7.3): + eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(jest@29.7.0)(typescript@5.7.3): dependencies: '@typescript-eslint/utils': 8.23.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) eslint: 9.19.0(jiti@2.4.2) optionalDependencies: '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3) - jest: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)) + jest: 29.7.0 transitivePeerDependencies: - supports-color - typescript @@ -14445,7 +15567,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 eslint-visitor-keys: 4.2.0 @@ -14486,7 +15608,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 eslint-visitor-keys: 4.2.0 @@ -14846,6 +15968,10 @@ snapshots: fast-uri@3.0.6: {} + fast-xml-parser@4.4.1: + dependencies: + strnum: 1.0.5 + fastify-plugin@5.0.1: {} fastify@5.2.1: @@ -14950,7 +16076,7 @@ snapshots: follow-redirects@1.15.9(debug@4.4.0): optionalDependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) for-each@0.3.4: dependencies: @@ -14961,6 +16087,23 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.14)): + dependencies: + '@babel/code-frame': 7.26.2 + chalk: 4.1.2 + chokidar: 3.6.0 + cosmiconfig: 8.3.6(typescript@5.7.3) + deepmerge: 4.3.1 + fs-extra: 10.1.0 + memfs: 3.5.3 + minimatch: 3.1.2 + node-abort-controller: 3.1.1 + schema-utils: 3.3.0 + semver: 7.7.1 + tapable: 2.2.1 + typescript: 5.7.3 + webpack: 5.97.1(@swc/core@1.10.14) + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.7)): dependencies: '@babel/code-frame': 7.26.2 @@ -15301,7 +16444,7 @@ snapshots: boxen: 5.1.2 chokidar: 4.0.3 ci-info: 2.0.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) enquirer: 2.4.1 env-paths: 2.2.1 ethereum-cryptography: 1.2.0 @@ -15423,7 +16566,7 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) transitivePeerDependencies: - supports-color optional: true @@ -15440,7 +16583,7 @@ snapshots: https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -15720,7 +16863,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -16112,6 +17255,19 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 + jest@29.7.0: + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.7)(@types/node@22.10.7)(typescript@5.7.3)) + '@jest/types': 29.6.3 + import-local: 3.2.0 + jest-cli: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.7)(@types/node@22.10.7)(typescript@5.7.3)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + optional: true + jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)): dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)) @@ -16317,7 +17473,7 @@ snapshots: dependencies: chalk: 5.4.1 commander: 13.1.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) execa: 8.0.1 lilconfig: 3.1.3 listr2: 8.2.5 @@ -16427,6 +17583,8 @@ snapshots: lru_map@0.3.3: {} + luxon@3.5.0: {} + magic-string@0.30.12: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -17667,7 +18825,7 @@ snapshots: send@1.1.0: dependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) destroy: 1.2.0 encodeurl: 2.0.0 escape-html: 1.0.3 @@ -17839,7 +18997,7 @@ snapshots: socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -18091,6 +19249,8 @@ snapshots: strip-json-comments@3.1.1: {} + strnum@1.0.5: {} + strtok3@9.1.1: dependencies: '@tokenizer/token': 0.3.0 @@ -18123,7 +19283,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) fast-safe-stringify: 2.1.1 form-data: 4.0.1 formidable: 3.5.2 @@ -18229,7 +19389,6 @@ snapshots: webpack: 5.97.1(@swc/core@1.10.14) optionalDependencies: '@swc/core': 1.10.14 - optional: true terser-webpack-plugin@5.3.11(@swc/core@1.10.7)(webpack@5.97.1(@swc/core@1.10.7)): dependencies: @@ -18242,6 +19401,16 @@ snapshots: optionalDependencies: '@swc/core': 1.10.7 + terser-webpack-plugin@5.3.11(webpack@5.97.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + jest-worker: 27.5.1 + schema-utils: 4.3.0 + serialize-javascript: 6.0.2 + terser: 5.38.1 + webpack: 5.97.1 + optional: true + terser@5.38.1: dependencies: '@jridgewell/source-map': 0.3.6 @@ -18337,6 +19506,25 @@ snapshots: dependencies: typescript: 5.7.3 + ts-jest@29.2.5(@babel/core@7.26.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.7))(jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)))(typescript@5.7.3): + dependencies: + bs-logger: 0.2.6 + ejs: 3.1.10 + fast-json-stable-stringify: 2.1.0 + jest: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.10.7)(typescript@5.7.3)) + jest-util: 29.7.0 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.7.1 + typescript: 5.7.3 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.26.7 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.26.7) + ts-jest@29.2.5(@babel/core@7.26.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.7))(jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.10.7)(@types/node@22.10.7)(typescript@5.7.3)))(typescript@5.7.3): dependencies: bs-logger: 0.2.6 @@ -18356,6 +19544,16 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.7) + ts-loader@9.5.2(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.14)): + dependencies: + chalk: 4.1.2 + enhanced-resolve: 5.18.1 + micromatch: 4.0.8 + semver: 7.7.1 + source-map: 0.7.4 + typescript: 5.7.3 + webpack: 5.97.1(@swc/core@1.10.14) + ts-loader@9.5.2(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.7)): dependencies: chalk: 4.1.2 @@ -18385,7 +19583,6 @@ snapshots: yn: 3.1.1 optionalDependencies: '@swc/core': 1.10.14 - optional: true ts-node@10.9.2(@swc/core@1.10.14)(@types/node@22.13.1)(typescript@5.7.3): dependencies: @@ -18562,7 +19759,7 @@ snapshots: chalk: 4.1.2 cli-highlight: 2.1.11 dayjs: 1.11.13 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0(supports-color@5.5.0) dotenv: 16.4.7 glob: 10.4.5 mkdirp: 2.1.6 @@ -18589,7 +19786,7 @@ snapshots: typescript-eslint@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.22.0(@typescript-eslint/parser@8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.3))(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2) '@typescript-eslint/parser': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2) '@typescript-eslint/utils': 8.22.0(eslint@9.19.0(jiti@2.4.2))(typescript@5.7.2) eslint: 9.19.0(jiti@2.4.2) @@ -18883,6 +20080,37 @@ snapshots: webpack-virtual-modules@0.6.2: {} + webpack@5.97.1: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.14.0 + browserslist: 4.24.4 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.1 + es-module-lexer: 1.6.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.11(webpack@5.97.1) + watchpack: 2.4.2 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + optional: true + webpack@5.97.1(@swc/core@1.10.14): dependencies: '@types/eslint-scope': 3.7.7 @@ -18912,7 +20140,6 @@ snapshots: - '@swc/core' - esbuild - uglify-js - optional: true webpack@5.97.1(@swc/core@1.10.7): dependencies: diff --git a/services/web/src/design-system/pages/.gitkeep b/services/agents/.env.example similarity index 100% rename from services/web/src/design-system/pages/.gitkeep rename to services/agents/.env.example diff --git a/services/agents/.gitignore b/services/agents/.gitignore new file mode 100644 index 0000000..ef547fb --- /dev/null +++ b/services/agents/.gitignore @@ -0,0 +1,59 @@ +# compiled output +/dist +/node_modules +/build + +# Logs +logs +*.log +npm-debug.log* +pnpm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# OS +.DS_Store + +# Tests +/coverage +/.nyc_output + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# temp directory +.temp +.tmp + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Sqlite DB +db/ \ No newline at end of file diff --git a/services/agents/.npmrc b/services/agents/.npmrc new file mode 100644 index 0000000..abd44ad --- /dev/null +++ b/services/agents/.npmrc @@ -0,0 +1,2 @@ +save-exact = true +auto-install-peers = true \ No newline at end of file diff --git a/services/agents/.prettierrc b/services/agents/.prettierrc new file mode 100644 index 0000000..dcb7279 --- /dev/null +++ b/services/agents/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} \ No newline at end of file diff --git a/services/web/src/hooks/.gitkeep b/services/agents/README.md similarity index 100% rename from services/web/src/hooks/.gitkeep rename to services/agents/README.md diff --git a/services/agents/eslint.config.mjs b/services/agents/eslint.config.mjs new file mode 100644 index 0000000..5eb87e7 --- /dev/null +++ b/services/agents/eslint.config.mjs @@ -0,0 +1,35 @@ +// @ts-check +import eslint from '@eslint/js'; +import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + // { + // ignores: ['eslint.config.mjs'], + // }, + // eslint.configs.recommended, + // ...tseslint.configs.recommendedTypeChecked, + // eslintPluginPrettierRecommended, + // { + // languageOptions: { + // globals: { + // ...globals.node, + // ...globals.jest, + // }, + // ecmaVersion: 5, + // sourceType: 'module', + // parserOptions: { + // projectService: true, + // tsconfigRootDir: import.meta.dirname, + // }, + // }, + // }, + // { + // rules: { + // '@typescript-eslint/no-explicit-any': 'off', + // '@typescript-eslint/no-floating-promises': 'warn', + // '@typescript-eslint/no-unsafe-argument': 'warn' + // }, + // }, +); \ No newline at end of file diff --git a/services/agents/nest-cli.json b/services/agents/nest-cli.json new file mode 100644 index 0000000..f9aa683 --- /dev/null +++ b/services/agents/nest-cli.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/nest-cli", + "collection": "@nestjs/schematics", + "sourceRoot": "src", + "compilerOptions": { + "deleteOutDir": true + } +} diff --git a/services/agents/package.json b/services/agents/package.json new file mode 100644 index 0000000..a427166 --- /dev/null +++ b/services/agents/package.json @@ -0,0 +1,77 @@ +{ + "name": "agents", + "version": "0.0.1", + "description": "Agents service to run various agents", + "author": "Abdulla Faraz ", + "private": true, + "license": "MIT", + "scripts": { + "build": "nest build", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "start": "nest start", + "dev": "nest start --watch", + "start:dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest-e2e.json" + }, + "dependencies": { + "@aws-sdk/client-bedrock-runtime": "3.744.0", + "@nestjs/common": "11.0.1", + "@nestjs/config": "4.0.0", + "@nestjs/core": "11.0.1", + "@nestjs/platform-express": "11.0.1", + "@nestjs/schedule": "5.0.1", + "cron": "3.5.0", + "reflect-metadata": "0.2.2", + "rxjs": "7.8.1" + }, + "devDependencies": { + "@eslint/eslintrc": "3.2.0", + "@eslint/js": "9.18.0", + "@nestjs/cli": "11.0.0", + "@nestjs/schematics": "11.0.0", + "@nestjs/testing": "11.0.1", + "@types/cron": "2.4.3", + "@types/express": "5.0.0", + "@types/jest": "29.5.14", + "@types/node": "22.10.7", + "@types/supertest": "6.0.2", + "eslint": "9.18.0", + "eslint-config-prettier": "10.0.1", + "eslint-plugin-prettier": "5.2.2", + "jest": "29.7.0", + "prettier": "3.4.2", + "source-map-support": "0.5.21", + "supertest": "7.0.0", + "ts-jest": "29.2.5", + "ts-loader": "9.5.2", + "ts-node": "10.9.2", + "tsconfig-paths": "4.2.0", + "typescript": "5.7.3", + "typescript-eslint": "8.20.0" + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "ts" + ], + "rootDir": "src", + "testRegex": ".*\\.spec\\.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + }, + "collectCoverageFrom": [ + "**/*.(t|j)s" + ], + "coverageDirectory": "../coverage", + "testEnvironment": "node" + }, + "packageManager": "pnpm@9.15.4" +} diff --git a/services/agents/src/agents/volume.agent.spec.ts b/services/agents/src/agents/volume.agent.spec.ts new file mode 100644 index 0000000..f4b8d97 --- /dev/null +++ b/services/agents/src/agents/volume.agent.spec.ts @@ -0,0 +1,56 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { VolumeAgent } from './volume.agent'; +import { Bedrock } from '../utils/bedrock'; +import { Logger } from '@nestjs/common'; + +describe('VolumeAgent', () => { + let volumeAgent: VolumeAgent; + let bedrockClient: Bedrock; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [ + VolumeAgent, + { + provide: Bedrock, + useValue: { + query: jest.fn(), + }, + }, + { + provide: Logger, + useValue: { + log: jest.fn(), + }, + }, + ], + }).compile(); + + volumeAgent = module.get(VolumeAgent); + bedrockClient = module.get(Bedrock); + }); + + it('should be defined', () => { + expect(volumeAgent).toBeDefined(); + }); + + it('should call bedrockClient.query with the correct query', async () => { + const querySpy = jest + .spyOn(bedrockClient, 'query') + .mockResolvedValue('BTC'); + await volumeAgent.runAgent(); + expect(querySpy).toHaveBeenCalledWith( + expect.stringContaining( + 'Given the following volumes for tokens over the last 6 hours', + ), + ); + }); + + it('should call contractSwap if response is not null', async () => { + jest.spyOn(bedrockClient, 'query').mockResolvedValue('BTC'); + // eslint-disable-next-line + const contractSwapSpy = jest.spyOn(volumeAgent as any, 'contractSwap'); + await volumeAgent.runAgent(); + expect(contractSwapSpy).toHaveBeenCalledWith('BTC'); + }); +}); diff --git a/services/agents/src/agents/volume.agent.ts b/services/agents/src/agents/volume.agent.ts new file mode 100644 index 0000000..6f5949e --- /dev/null +++ b/services/agents/src/agents/volume.agent.ts @@ -0,0 +1,43 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { Bedrock } from '../utils/bedrock'; + +@Injectable() +export class VolumeAgent { + private logger = new Logger(VolumeAgent.name); + + constructor(private readonly bedrockClient: Bedrock) {} + + private async getVolumeForLast12Periods(token: string) { + this.logger.log(`Getting volume for ${token}`); + return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + } + + private async contractSwap(token: string) { + // do contract swap + this.logger.log(`Swapping to ${token}`); + } + + async runAgent() { + const tokenList = ['BTC', 'ETH', 'DOGE', 'SOL']; // max 72 tokens + + const volumelist = {}; + + for (const token of tokenList) { + const volumes = await this.getVolumeForLast12Periods(token); + this.logger.log(`Volume for ${token}: ${volumes}`); + volumelist[token] = volumes; + } + + const volumeStr = JSON.stringify(volumelist); + + const query = `Given the following volumes for tokens over the last 6 hours: ${volumeStr}, what is the best token to invest in? If nothing shows significant growth return null`; // 26 words + + const response = await this.bedrockClient.query(query); + + if (response === 'null' || response === null) { + this.logger.log('No significant growth detected'); + } else { + await this.contractSwap(response); + } + } +} diff --git a/services/agents/src/app.module.ts b/services/agents/src/app.module.ts new file mode 100644 index 0000000..f6fb4be --- /dev/null +++ b/services/agents/src/app.module.ts @@ -0,0 +1,10 @@ +import { Module } from '@nestjs/common'; +import { ScheduleModule } from '@nestjs/schedule'; +import { Runner } from './runner'; + +@Module({ + imports: [ScheduleModule.forRoot()], + providers: [Runner], + exports: [Runner], +}) +export class AppModule {} diff --git a/services/agents/src/main.ts b/services/agents/src/main.ts new file mode 100644 index 0000000..4eed155 --- /dev/null +++ b/services/agents/src/main.ts @@ -0,0 +1,12 @@ +import { NestFactory } from '@nestjs/core'; +import { AppModule } from './app.module'; +import { Runner } from './runner'; + +async function bootstrap() { + const app = await NestFactory.createApplicationContext(AppModule); + const runner = app.get(Runner); + runner.run(); + await app.close(); +} + +bootstrap().then(() => {}); diff --git a/services/agents/src/runner.ts b/services/agents/src/runner.ts new file mode 100644 index 0000000..434ef9f --- /dev/null +++ b/services/agents/src/runner.ts @@ -0,0 +1,18 @@ +import { Injectable } from '@nestjs/common'; +import { Cron, CronExpression } from '@nestjs/schedule'; +import { VolumeAgent } from './agents/volume.agent'; + +@Injectable() +export class Runner { + constructor(private readonly volumeAgent: VolumeAgent) {} + + @Cron(CronExpression.EVERY_30_MINUTES) + async handleEvery30Minutes() { + console.log('Task executed every 10 minutes'); + await this.volumeAgent.runAgent(); + } + + run() { + console.log('Task executed manually'); + } +} diff --git a/services/agents/src/utils/bedrock.ts b/services/agents/src/utils/bedrock.ts new file mode 100644 index 0000000..5739af0 --- /dev/null +++ b/services/agents/src/utils/bedrock.ts @@ -0,0 +1,47 @@ +import { Injectable, Logger } from '@nestjs/common'; +import { + BedrockRuntimeClient, + ConverseCommand, + Message, +} from '@aws-sdk/client-bedrock-runtime'; + +@Injectable() +export class Bedrock { + private logger: Logger = new Logger(Bedrock.name); + constructor() {} + + async query(userMessage: string): Promise { + this.logger.log(`User query: ${userMessage}`); + + const client = new BedrockRuntimeClient({ region: 'us-west-2' }); + const modelId = 'anthropic.claude-3-5-sonnet-20241022-v2:0'; + + const conversation: Message[] = [ + { + role: 'user', + content: [{ text: userMessage }], + }, + ]; + + const command = new ConverseCommand({ + modelId, + messages: conversation, + inferenceConfig: { maxTokens: 900, temperature: 0.5, topP: 0.9 }, + }); + + try { + const response = await client.send(command); + + const responseText = response?.output?.message?.content?.[0].text; + if (!responseText) { + this.logger.error(`ERROR: Can't get response from '${modelId}'`); + return null; + } + this.logger.log(`Model response: ${responseText}`); + return responseText; + } catch (err) { + this.logger.error(`ERROR: Can't invoke '${modelId}'. Reason: ${err}`); + return null; + } + } +} diff --git a/services/agents/test/app.e2e-spec.ts b/services/agents/test/app.e2e-spec.ts new file mode 100644 index 0000000..4df6580 --- /dev/null +++ b/services/agents/test/app.e2e-spec.ts @@ -0,0 +1,25 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { INestApplication } from '@nestjs/common'; +import * as request from 'supertest'; +import { App } from 'supertest/types'; +import { AppModule } from './../src/app.module'; + +describe('AppController (e2e)', () => { + let app: INestApplication; + + beforeEach(async () => { + const moduleFixture: TestingModule = await Test.createTestingModule({ + imports: [AppModule], + }).compile(); + + app = moduleFixture.createNestApplication(); + await app.init(); + }); + + it('/ (GET)', () => { + return request(app.getHttpServer()) + .get('/') + .expect(200) + .expect('Hello World!'); + }); +}); diff --git a/services/agents/test/jest-e2e.json b/services/agents/test/jest-e2e.json new file mode 100644 index 0000000..e9d912f --- /dev/null +++ b/services/agents/test/jest-e2e.json @@ -0,0 +1,9 @@ +{ + "moduleFileExtensions": ["js", "json", "ts"], + "rootDir": ".", + "testEnvironment": "node", + "testRegex": ".e2e-spec.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + } +} diff --git a/services/agents/tsconfig.build.json b/services/agents/tsconfig.build.json new file mode 100644 index 0000000..64f86c6 --- /dev/null +++ b/services/agents/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] +} diff --git a/services/agents/tsconfig.json b/services/agents/tsconfig.json new file mode 100644 index 0000000..2169963 --- /dev/null +++ b/services/agents/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "declaration": true, + "removeComments": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "target": "ES2021", + "sourceMap": true, + "outDir": "./dist", + "baseUrl": "./", + "incremental": true, + "skipLibCheck": true, + "strictNullChecks": true, + "forceConsistentCasingInFileNames": true, + "noImplicitAny": false, + "strictBindCallApply": false, + "noFallthroughCasesInSwitch": false + } +} diff --git a/services/web/public/robot-bear.jpeg b/services/web/public/robot-bear.jpeg new file mode 100644 index 0000000..be65c26 Binary files /dev/null and b/services/web/public/robot-bear.jpeg differ diff --git a/services/web/src/components/web3-provider.tsx b/services/web/src/components/web3-provider.tsx index e5398c0..d655103 100644 --- a/services/web/src/components/web3-provider.tsx +++ b/services/web/src/components/web3-provider.tsx @@ -1,5 +1,5 @@ import {WagmiProvider, createConfig, http} from 'wagmi'; -import {arbitrum, mainnet} from 'wagmi/chains'; +import {arbitrum} from 'wagmi/chains'; import {QueryClient, QueryClientProvider} from '@tanstack/react-query'; import {ConnectKitProvider, getDefaultConfig} from 'connectkit'; import React from 'react'; @@ -7,12 +7,9 @@ import React from 'react'; const config = createConfig( getDefaultConfig({ // Your dApps chains - chains: [mainnet, arbitrum], + chains: [arbitrum], transports: { // RPC URL for each chain - [mainnet.id]: http( - `https://eth-mainnet.g.alchemy.com/v2/${import.meta.env.VITE_ALCHEMY_ID}`, - ), [arbitrum.id]: http( `https://arb-mainnet.g.alchemy.com/v2/${import.meta.env.VITE_ALCHEMY_ID}`, ), diff --git a/services/web/src/design-system/pages/about.tsx b/services/web/src/design-system/pages/about.tsx new file mode 100644 index 0000000..6a2e65d --- /dev/null +++ b/services/web/src/design-system/pages/about.tsx @@ -0,0 +1,28 @@ +// import React from 'react'; + +import {Box, Section, Text, Strong} from '@radix-ui/themes'; + +const About = () => { + return ( + +
+ + Grand Bazaar is a Marketplace for Trading AI Agents{' '} + where users can deploy their own agents and let others invest in the + agents. + +
+
+ ); +}; + +export default About; diff --git a/services/web/src/design-system/pages/agents.tsx b/services/web/src/design-system/pages/agents.tsx new file mode 100644 index 0000000..68afd28 --- /dev/null +++ b/services/web/src/design-system/pages/agents.tsx @@ -0,0 +1,66 @@ +import {Button, Table} from '@radix-ui/themes'; + +const Agents = () => { + return ( + + + + Agent + Contract Addr. + APY % + Trades + Profitable Trades + + + + + + + Spike Catcher + 0xc0ff...4979 + 8% + 32 + 15 + + + + + + + High Volume Trader + 0x78B2...6Bb8 + 12% + 6 + 5 + + + + + + + Trend Rider + 0x94c4...0EeA + 24% + 12 + 6 + + + + + + + Swing Trader + 0x3CFB...d993 + 19% + 18 + 8 + + + + + + + ); +}; + +export default Agents; diff --git a/services/web/src/design-system/pages/deploy.tsx b/services/web/src/design-system/pages/deploy.tsx new file mode 100644 index 0000000..fd7e517 --- /dev/null +++ b/services/web/src/design-system/pages/deploy.tsx @@ -0,0 +1,123 @@ +import { + Box, + Card, + Inset, + Text, + Strong, + Flex, + Grid, + Button, +} from '@radix-ui/themes'; +import {RocketIcon} from '@radix-ui/react-icons'; +import {useAccount, useConnect, useWalletClient} from 'wagmi'; +import {http, createConfig} from 'wagmi'; +import {arbitrum} from 'wagmi/chains'; +import {useEffect, useState} from 'react'; +import {injected} from 'wagmi/connectors'; + +const config = createConfig({ + chains: [arbitrum], + transports: { + [arbitrum.id]: http(), + }, +}); + +const Deploy = () => { + const [active, setActive] = useState(false); + const [accountAddress, setAccountAddress] = useState(); + // eslint-disable-next-line + const [walletClient, setWalletClient] = useState(); + + const {connect} = useConnect(); + const {address: account, isConnected, connector} = useAccount(); + const {data: client} = useWalletClient({ + config, + connector: connector, + }); + + useEffect(() => { + if (client) { + setWalletClient(client); + } + }, [client]); + + useEffect(() => { + if (!active && isConnected) { + setActive(true); + } else { + setActive(false); + connect({connector: connector || injected()}); + setAccountAddress(account); + } + }, [account, isConnected]); + + // const [hash, setHash] = useState(); + // const { + // data: deployTx, + // isError, + // isLoading, + // } = useTransaction({ + // hash, + // }) + + const useDeployTheAIAgentWallet = async () => { + console.log('>>> 3'); + // const usdtTokenAddress = '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9'; + + console.log('>>> 4'); + console.log('operatorAddress', accountAddress); + alert(`Deploying contract from account: ${accountAddress}`); + console.log('wallet client', walletClient); + }; + + return ( + + + + + Bold typography + + + + + Deploy Your AI Agent + + + + If you have an AI agent that you want to deploy, and make + available for others to invest in, you can do so here. + + + + Click the below button and approve the transaction for the + trading contract to deploy. + + + +
+ +
+
+
+
+
+ ); +}; + +export default Deploy; diff --git a/services/web/src/design-system/templates/header.tsx b/services/web/src/design-system/templates/header.tsx index f1ae6e6..2cf967a 100644 --- a/services/web/src/design-system/templates/header.tsx +++ b/services/web/src/design-system/templates/header.tsx @@ -22,8 +22,8 @@ const Header = () => { - - Deploy your own AI bot + {' '} + Deploy your own AI agent diff --git a/services/web/src/main.tsx b/services/web/src/main.tsx index e251967..737a3de 100644 --- a/services/web/src/main.tsx +++ b/services/web/src/main.tsx @@ -8,13 +8,14 @@ import {indexRoute} from './routes'; import {aboutRoute} from './routes/about.tsx'; import {rootRoute} from './routes/__root.tsx'; import {Web3Provider} from './components/web3-provider.tsx'; +import {deployRoute} from './routes/deploy.tsx'; const root = ReactDOM.createRoot( document.getElementById('root') as HTMLElement, ); // Build the route tree -const routeTree = rootRoute.addChildren([indexRoute, aboutRoute]); +const routeTree = rootRoute.addChildren([indexRoute, aboutRoute, deployRoute]); // Create the router instance const router = createRouter({routeTree}); diff --git a/services/web/src/routeTree.gen.ts b/services/web/src/routeTree.gen.ts index 73d88e5..14da767 100644 --- a/services/web/src/routeTree.gen.ts +++ b/services/web/src/routeTree.gen.ts @@ -11,11 +11,18 @@ // Import Routes import {Route as rootRoute} from './routes/__root'; +import {Route as DeployImport} from './routes/deploy'; import {Route as AboutImport} from './routes/about'; import {Route as IndexImport} from './routes/index'; // Create/Update Routes +const DeployRoute = DeployImport.update({ + id: '/deploy', + path: '/deploy', + getParentRoute: () => rootRoute, +} as any); + const AboutRoute = AboutImport.update({ id: '/about', path: '/about', @@ -46,6 +53,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AboutImport; parentRoute: typeof rootRoute; }; + '/deploy': { + id: '/deploy'; + path: '/deploy'; + fullPath: '/deploy'; + preLoaderRoute: typeof DeployImport; + parentRoute: typeof rootRoute; + }; } } @@ -54,36 +68,41 @@ declare module '@tanstack/react-router' { export interface FileRoutesByFullPath { '/': typeof IndexRoute; '/about': typeof AboutRoute; + '/deploy': typeof DeployRoute; } export interface FileRoutesByTo { '/': typeof IndexRoute; '/about': typeof AboutRoute; + '/deploy': typeof DeployRoute; } export interface FileRoutesById { __root__: typeof rootRoute; '/': typeof IndexRoute; '/about': typeof AboutRoute; + '/deploy': typeof DeployRoute; } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath; - fullPaths: '/' | '/about'; + fullPaths: '/' | '/about' | '/deploy'; fileRoutesByTo: FileRoutesByTo; - to: '/' | '/about'; - id: '__root__' | '/' | '/about'; + to: '/' | '/about' | '/deploy'; + id: '__root__' | '/' | '/about' | '/deploy'; fileRoutesById: FileRoutesById; } export interface RootRouteChildren { IndexRoute: typeof IndexRoute; AboutRoute: typeof AboutRoute; + DeployRoute: typeof DeployRoute; } const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, AboutRoute: AboutRoute, + DeployRoute: DeployRoute, }; export const routeTree = rootRoute @@ -97,7 +116,8 @@ export const routeTree = rootRoute "filePath": "__root.tsx", "children": [ "/", - "/about" + "/about", + "/deploy" ] }, "/": { @@ -105,6 +125,9 @@ export const routeTree = rootRoute }, "/about": { "filePath": "about.tsx" + }, + "/deploy": { + "filePath": "deploy.tsx" } } } diff --git a/services/web/src/routes/__root.tsx b/services/web/src/routes/__root.tsx index ce28604..a7c1187 100644 --- a/services/web/src/routes/__root.tsx +++ b/services/web/src/routes/__root.tsx @@ -33,7 +33,11 @@ export const rootRoute = createRootRoute({ style={{justifyContent: 'center', alignItems: 'center'}} > + {/* Outlet for nested routes */} + + + {/* -------------------------------- */} diff --git a/services/web/src/routes/about.tsx b/services/web/src/routes/about.tsx index 0ba8b7a..011dfc5 100644 --- a/services/web/src/routes/about.tsx +++ b/services/web/src/routes/about.tsx @@ -1,8 +1,9 @@ import {createRoute} from '@tanstack/react-router'; import {rootRoute} from './__root.tsx'; +import About from '../design-system/pages/about.tsx'; export const aboutRoute = createRoute({ getParentRoute: () => rootRoute, path: '/about', - component: () =>
About Us
, + component: About, }); diff --git a/services/web/src/routes/deploy.tsx b/services/web/src/routes/deploy.tsx new file mode 100644 index 0000000..68327a0 --- /dev/null +++ b/services/web/src/routes/deploy.tsx @@ -0,0 +1,9 @@ +import {createRoute} from '@tanstack/react-router'; +import {rootRoute} from './__root.tsx'; +import Deploy from '../design-system/pages/deploy.tsx'; + +export const deployRoute = createRoute({ + getParentRoute: () => rootRoute, + path: '/deploy', + component: () => , +}); diff --git a/services/web/src/routes/index.tsx b/services/web/src/routes/index.tsx index 391a45f..d3ffbe1 100644 --- a/services/web/src/routes/index.tsx +++ b/services/web/src/routes/index.tsx @@ -1,9 +1,10 @@ import {createRoute} from '@tanstack/react-router'; import {rootRoute} from './__root.tsx'; +import Agents from '../design-system/pages/agents.tsx'; // Define child routes export const indexRoute = createRoute({ getParentRoute: () => rootRoute, path: '/', - component: () =>
Home Page
, + component: Agents, });