diff --git a/.cache/derived-token-addresses.json b/.cache/derived-token-addresses.json index b13e654..6cf6ab8 100644 --- a/.cache/derived-token-addresses.json +++ b/.cache/derived-token-addresses.json @@ -6426,5 +6426,29 @@ "0x412675f102a39217dd04a118bbd98688298efb56-11155111-issuance": { "meta": {}, "content": "0x69E87FF2a5bc3553275e86B3b84088a6cc00E96B" + }, + "0x773b24ecfc134d3d0cc213eca0f8cdf0e17f94fa-11155111-token": { + "meta": {}, + "content": "0x065775C7aB4E60ad1776A30DCfB15325d231Ce4F" + }, + "0x773b24ecfc134d3d0cc213eca0f8cdf0e17f94fa-11155111-issuance": { + "meta": {}, + "content": "0xf356a47b1C5107680DaA77812caceA616B67d914" + }, + "0x0f631d41b436883396b322961b1889a556d20b39-11155111-token": { + "meta": {}, + "content": "0x065775C7aB4E60ad1776A30DCfB15325d231Ce4F" + }, + "0x0f631d41b436883396b322961b1889a556d20b39-11155111-issuance": { + "meta": {}, + "content": "0x914C50e86C389d3E8132cD2Cc096dd50aCeF4c36" + }, + "0x00fa96aa2ca129f2786fe8a7bb16e55c2b114b19-11155111-token": { + "meta": {}, + "content": "0x065775C7aB4E60ad1776A30DCfB15325d231Ce4F" + }, + "0x00fa96aa2ca129f2786fe8a7bb16e55c2b114b19-11155111-issuance": { + "meta": {}, + "content": "0xa2A8258225CdD051267Be5CdBe7BE3d10d0dcF79" } } diff --git a/.cache/token-details.json b/.cache/token-details.json index b521886..ad3acf8 100644 --- a/.cache/token-details.json +++ b/.cache/token-details.json @@ -6100,5 +6100,32 @@ "decimals": 18, "address": "0x69E87FF2a5bc3553275e86B3b84088a6cc00E96B" } + }, + "0xf356a47b1c5107680daa77812cacea616b67d914-11155111": { + "meta": {}, + "content": { + "name": "USP", + "symbol": "V2USP", + "decimals": 18, + "address": "0xf356a47b1C5107680DaA77812caceA616B67d914" + } + }, + "0x914c50e86c389d3e8132cd2cc096dd50acef4c36-11155111": { + "meta": {}, + "content": { + "name": "ayn25", + "symbol": "AYN25", + "decimals": 18, + "address": "0x914C50e86C389d3E8132cD2Cc096dd50aCeF4c36" + } + }, + "0xa2a8258225cdd051267be5cdbe7be3d10d0dcf79-11155111": { + "meta": {}, + "content": { + "name": "test lts", + "symbol": "TST", + "decimals": 18, + "address": "0xa2A8258225CdD051267Be5CdBe7BE3d10d0dcF79" + } } } diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml index b31e3a3..425ac98 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/ci-cd.yml @@ -139,11 +139,11 @@ jobs: - name: Create Task Definition id: task-def run: | - MIGRATE_SETUP='node -e "require('\''./generated/src/db/Migrations.bs.js'\'').runUpMigrations(true, true)"' - MIGRATE_UP='node -e "require('\''./generated/src/db/Migrations.bs.js'\'').runUpMigrations(true)"' - MIGRATE_DOWN='node -e "require('\''./generated/src/db/Migrations.bs.js'\'').runDownMigrations(true)"' + MIGRATE_SETUP='node -e "require('\''./generated/src/db/Migrations.res.js'\'').runUpMigrations(true, true)"' + MIGRATE_UP='node -e "require('\''./generated/src/db/Migrations.res.js'\'').runUpMigrations(true)"' + MIGRATE_DOWN='node -e "require('\''./generated/src/db/Migrations.res.js'\'').runDownMigrations(true)"' GRANT_PERMISSIONS='pnpm ts-node scripts/grant-aggregate-permissions.ts' - RUN_INDEXER='TUI_OFF=true pnpm ts-node generated/src/Index.bs.js' + RUN_INDEXER='TUI_OFF=true pnpm ts-node generated/src/Index.res.js' case "${{ inputs.env }}" in "SCHEMA_CHANGED") @@ -251,15 +251,15 @@ jobs: --deployment-group-name ${{ env.REPO_NAME }}-${{ env.PLATFORM }}-dg \ --query 'deployments[0]' \ --output text) - + echo "Waiting for deployment $DEPLOYMENT_ID to complete..." - + while true; do STATUS=$(aws deploy get-deployment \ --deployment-id $DEPLOYMENT_ID \ --query 'deploymentInfo.status' \ --output text) - + if [[ "$STATUS" == "Succeeded" ]]; then echo "Deployment completed successfully!" break @@ -271,7 +271,7 @@ jobs: --output json exit 1 fi - + echo "Deployment status: $STATUS. Waiting..." sleep 30 done @@ -332,7 +332,6 @@ jobs: --region ${{ env.REGION }} echo "Successfully updated HTTPS listener to forward to HTTP target group" - - name: Slack Notification uses: act10ns/slack@v1 diff --git a/package.json b/package.json index 672b47b..5c78635 100644 --- a/package.json +++ b/package.json @@ -2,20 +2,15 @@ "name": "indexer", "version": "0.9.31", "scripts": { - "dev": "pnpm ts-node scripts/parse-schema.ts pre && (DEBUG=* env $(cat .env | xargs) envio dev & pid=$!; trap 'kill $pid; exit' SIGINT; pnpm ts-node scripts/parse-schema.ts post & wait $pid)", + "dev": "pnpm ts-node scripts/parse-schema.ts pre && (TUI_OFF=true DEBUG=* env $(cat .env | xargs) envio dev & pid=$!; trap 'kill $pid; exit' SIGINT; pnpm ts-node scripts/parse-schema.ts post & wait $pid)", "watch": "tsc --watch --noEmit -p tsconfig.json", "start": "TUI_OFF=true pnpm ts-node generated/src/Index.bs.js", - "start:pm2": "pm2 restart envio || pm2 start 'pnpm start' --name envio", "clean": "rm -rf build", "build": "pnpm clean && tsc --build tsconfig.build.json && pnpm ts-add-js-extension --dir=build/src", "compile": "node -e \"const readline = require('readline').createInterface({input:process.stdin,output:process.stdout});readline.question('Select environment (dev/prod) [prod]: ', env => {const endpoint = (env||'prod').toLowerCase()==='dev'?'https://dev.indexer.inverter.network/v1/graphql':'https://indexer.inverter.network/v1/graphql';console.log('Using endpoint:',endpoint);require('child_process').execSync('genql --endpoint \\\"' + endpoint + '\\\" --output graphql/src/gen && prettier --write graphql/src/gen/**/*.ts && eslint --fix graphql/src/gen/**/*.ts',{stdio:'inherit'});readline.close()})\"", "codegen": "pnpm ts-node scripts/parse-schema.ts pre && (envio codegen & pid=$!; ts-node scripts/parse-schema.ts post; wait $pid)", "postcodegen": "echo '// @ts-nocheck' | cat - generated/src/Types.ts > temp && mv temp generated/src/Types.ts", "grant:agg-permissions": "ts-node scripts/grant-aggregate-permissions.ts", - "prod": "pnpm codegen && docker-compose --file generated/docker-compose.yaml up -d && pnpm migrate:setup && pnpm start:pm2", - "prod:update": "pnpm codegen && pnpm start:pm2", - "prod:migrate": "pnpm codegen && pnpm migrate:up && pnpm start:pm2", - "prod:fresh": "pnpm migrate:down && pnpm prod", "migrate:setup": "pnpm -C generated run db-setup && pnpm grant:agg-permissions", "migrate:up": "pnpm -C generated run db-up", "migrate:down": "pnpm -C generated run db-down", @@ -44,8 +39,9 @@ "viem": "^2.21.0" }, "dependencies": { - "envio": "^2.19.0", + "envio": "^2.24.0", "geckoterm": "^0.2.4", + "node-fetch": "^3.3.2", "node-ts-cache": "^4.4.0", "node-ts-cache-storage-memory": "^4.4.0", "node-ts-cache-storage-node-fs": "^4.4.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bd2b423..0c47e73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,11 +12,14 @@ importers: .: dependencies: envio: - specifier: ^2.19.0 - version: 2.19.0(typescript@5.8.3)(zod@3.24.4) + specifier: ^2.24.0 + version: 2.24.0(typescript@5.8.3) geckoterm: specifier: ^0.2.4 version: 0.2.4(typescript@5.8.3) + node-fetch: + specifier: ^3.3.2 + version: 3.3.2 node-ts-cache: specifier: ^4.4.0 version: 4.4.0 @@ -28,7 +31,7 @@ importers: version: 4.4.0 viem: specifier: ^2.21.0 - version: 2.21.0(typescript@5.8.3)(zod@3.24.4) + version: 2.21.0(typescript@5.8.3) optionalDependencies: generated: specifier: ./generated @@ -45,13 +48,13 @@ importers: version: 6.3.3 '@types/bun': specifier: ^1.2.13 - version: 1.2.13 + version: 1.2.17 '@types/debug': specifier: ^4.1.12 version: 4.1.12 '@types/lodash': specifier: ^4.17.16 - version: 4.17.16 + version: 4.17.18 '@types/node': specifier: 20.8.8 version: 20.8.8 @@ -60,13 +63,13 @@ importers: version: 2.6.12 debug: specifier: ^4.4.0 - version: 4.4.0 + version: 4.4.1 eslint-plugin-import-x: specifier: 4.6.1 - version: 4.6.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + version: 4.6.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) eslint-plugin-prettier: specifier: ^5.2.3 - version: 5.4.0(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3) + version: 5.5.1(eslint@9.29.0(jiti@2.4.2))(prettier@3.6.1) husky: specifier: ^9.1.7 version: 9.1.7 @@ -75,7 +78,7 @@ importers: version: 15.5.2 prettier: specifier: ^3.5.3 - version: 3.5.3 + version: 3.6.1 standard-version: specifier: ^9.5.0 version: 9.5.0 @@ -90,7 +93,7 @@ importers: version: 4.41.0 typescript-eslint: specifier: ^8.26.0 - version: 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) + version: 8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) generated: dependencies: @@ -98,11 +101,8 @@ importers: specifier: 1.4.0 version: 1.4.0 '@envio-dev/hypersync-client': - specifier: 0.6.3 - version: 0.6.3 - '@glennsl/rescript-fetch': - specifier: 0.2.0 - version: 0.2.0 + specifier: 0.6.5 + version: 0.6.5 '@rescript/react': specifier: 0.12.1 version: 0.12.1(react-dom@19.1.0(react@18.2.0))(react@18.2.0) @@ -115,6 +115,9 @@ importers: dotenv: specifier: 16.4.5 version: 16.4.5 + envio: + specifier: 2.24.0 + version: 2.24.0(typescript@5.8.3) ethers: specifier: 6.8.0 version: 6.8.0 @@ -133,15 +136,9 @@ importers: js-sdsl: specifier: 4.4.2 version: 4.4.2 - node-fetch: - specifier: 2.7.0 - version: 2.7.0 pino: specifier: 8.16.1 version: 8.16.1 - pino-pretty: - specifier: 10.2.3 - version: 10.2.3 postgres: specifier: 3.4.1 version: 3.4.1 @@ -160,12 +157,12 @@ importers: rescript-schema: specifier: 9.3.0 version: 9.3.0(rescript@11.1.3) - root: - specifier: ../. - version: link:.. + ts-node: + specifier: 10.9.1 + version: 10.9.1(@types/node@20.8.8)(typescript@5.8.3) viem: specifier: 2.21.0 - version: 2.21.0(typescript@5.8.3)(zod@3.24.4) + version: 2.21.0(typescript@5.8.3) yargs: specifier: 17.7.2 version: 17.7.2 @@ -190,7 +187,7 @@ importers: version: 3.0.0 ts-add-js-extension: specifier: ^1.6.5 - version: 1.6.5 + version: 1.6.6 tsc-alias: specifier: ^1.8.11 version: 1.8.16 @@ -300,44 +297,44 @@ packages: resolution: {integrity: sha512-eCSBUTgl8KbPyxky8cecDRLCYu2C1oFV4AZ72bEsI+TxXEvaljaL2kgttfzfu7gW+M89eCz55s49uF2t+YMTWA==} engines: {node: '>=10'} - '@envio-dev/hypersync-client-darwin-arm64@0.6.3': - resolution: {integrity: sha512-w4OLJaq3lD03iXPJxLnPpoxOduvzCfEe2nYtamvIRLPB2SlbxnB5EF5dSyFs6WKh1x4PMsksQOUKeCcOtQPZow==} + '@envio-dev/hypersync-client-darwin-arm64@0.6.5': + resolution: {integrity: sha512-BjFmDFd+7QKuEkjlvwQjKy9b+ZWidkZHyKPjKSDg6u3KJe+fr+uY3rsW9TXNscUxJvl8YxJ2mZl0svOH7ukTyQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@envio-dev/hypersync-client-darwin-x64@0.6.3': - resolution: {integrity: sha512-zh98zCbm2cse/iIzyMs1YCcA1iI1U/j4Yex1xBVaEa1ogzQSK9peS6M+NygzdmlwPqr7K9rUQ/U56ICRl67fWw==} + '@envio-dev/hypersync-client-darwin-x64@0.6.5': + resolution: {integrity: sha512-XT1l6bfsXgZqxh8BZbPoP/3Zk0Xvwzr/ZKVmzXR5ZhPxDgEVUJMg4Rd1oy8trd1K+uevqOr2DbuIGvM7k2hb8A==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@envio-dev/hypersync-client-linux-arm64-gnu@0.6.3': - resolution: {integrity: sha512-5pI0N6W7W0L7LpgN76BAWRsC+NPOvrlvBEq8IjlBUS47vqZALvcJj3gYNkm466tUBQ4q4tF1x48k7MFKtoO8aw==} + '@envio-dev/hypersync-client-linux-arm64-gnu@0.6.5': + resolution: {integrity: sha512-MPTXagjE8/XQhNiZokIJWYqDcizf++TKOjbfYgCzlS6jzwgmeZs6WYcdYFC3FSaJyc9GX4diJ4GKOgbpR4XWtw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@envio-dev/hypersync-client-linux-x64-gnu@0.6.3': - resolution: {integrity: sha512-jL3sxWVyTJuKdO5y/0tu1EtWSox+nJdpmr7rdVW1w0gLk4ewzWORp9cl5pXkpqM4MUsjJz+NkcQKsUquGYBkKg==} + '@envio-dev/hypersync-client-linux-x64-gnu@0.6.5': + resolution: {integrity: sha512-DUDY19T2O+ciniP8RHWEv6ziaCdVkkVVLhfXiovpLy+oR1K/+h7osUHD1HCPolibaU3V2EDpqTDhKBtvPXUGaQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@envio-dev/hypersync-client-linux-x64-musl@0.6.3': - resolution: {integrity: sha512-4rAh9x3PEWIweih731lWVEUGm+qrIHouElqZgXfTcZS6KkPeDnSYKVw10K5EyDuDtZla/NccEr0pJmcvpui5Ew==} + '@envio-dev/hypersync-client-linux-x64-musl@0.6.5': + resolution: {integrity: sha512-VolsHvPrk5PAdHN0ht1iowwXz7bwJO0L5qDuw3eSKF4qHuAzlwImB1CRhJrMIaE8McsDnN6fSlqDeTPRmzS/Ug==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@envio-dev/hypersync-client-win32-x64-msvc@0.6.3': - resolution: {integrity: sha512-AINzLdjqU+y6ZiHnxorjFlrGNIw/AAJ80YXABYzokvGhDTF9qupjR1gdZo4sQEumgrRyg7fiG8QnsZVEm6V/zA==} + '@envio-dev/hypersync-client-win32-x64-msvc@0.6.5': + resolution: {integrity: sha512-D+bkkWbCsbgaTrhyVdXHysKUCVzFpkWoxmaHnm2anad7+yKKfx15afYirtZMTKc7CLkYqganghN4QsBsEHl3Iw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@envio-dev/hypersync-client@0.6.3': - resolution: {integrity: sha512-Lr5WyMZBK1cI++kAQLM/zd62NfUM60A3KWTKgeNew4NOghfoY5YZr99C7vo+CMYePXskYBR+ul+5iNPoHqkFrw==} + '@envio-dev/hypersync-client@0.6.5': + resolution: {integrity: sha512-mii+ponVo5ZmVOlEtJxyugGHuIuzYp5bVfr88mCuRwcWZIkNrWfad/aAW6H7YNe63E0gq0ePtRDrkLzlpAUuGQ==} engines: {node: '>= 10'} '@eslint-community/eslint-utils@4.7.0': @@ -350,32 +347,36 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.20.0': - resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + '@eslint/config-array@0.20.1': + resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.2.2': - resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} + '@eslint/config-helpers@0.2.3': + resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.13.0': - resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.15.1': + resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.26.0': - resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} + '@eslint/js@9.29.0': + resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.8': - resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} + '@eslint/plugin-kit@0.3.3': + resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/busboy@2.1.1': @@ -386,9 +387,6 @@ packages: resolution: {integrity: sha512-Etrdo9uPGXokGWml6agJsxoalz6eOicJ6X82YnL61WBHcJKFZ871BoSfCyCT1dxmXH60q+DDYxgZBCEbMivj4Q==} hasBin: true - '@glennsl/rescript-fetch@0.2.0': - resolution: {integrity: sha512-0tsEqJ/6/WBm02prM4RYG+qpnNTaB8QKKIeQHXdDaE4C5YfA/nzjxMNW3CjsGIaEgyrAmmIXFS0kx24UjvOI6A==} - '@graphql-tools/graphql-file-loader@7.5.17': resolution: {integrity: sha512-hVwwxPf41zOYgm4gdaZILCYnKB9Zap7Ys9OhY1hbwuAuC4MMNY9GpUjoTU3CQc3zUiPoYStyRtUGkHSJZ3HxBw==} peerDependencies: @@ -426,6 +424,7 @@ packages: '@hey-api/client-fetch@0.7.3': resolution: {integrity: sha512-nysIXMag9nr5ENy+47G0AYsegdT7vT6S4KLfY7NVgM6HsyZ0DrhCZvz5nP70M16x9i860SrnXhjpcuHx0g5sDQ==} + deprecated: Starting with v0.73.0, this package is bundled directly inside @hey-api/openapi-ts. '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} @@ -461,10 +460,6 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@modelcontextprotocol/sdk@1.11.2': - resolution: {integrity: sha512-H9vwztj5OAqHg9GockCQC06k1natgcxWQSRpQcPJf6i5+MWBzfKkRtxGbjQf0X2ihii0ffLZCRGbYV2f2bjNCQ==} - engines: {node: '>=18'} - '@noble/curves@1.2.0': resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} @@ -495,8 +490,8 @@ packages: resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@pkgr/core@0.2.4': - resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} + '@pkgr/core@0.2.7': + resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} '@rescript/react@0.12.1': @@ -526,8 +521,8 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@types/bun@1.2.13': - resolution: {integrity: sha512-u6vXep/i9VBxoJl3GjZsl/BFIsvML8DfVDO0RYLEwtSZSp981kEO1V5NwRcO1CPJ7AmvpbnDCiMKo3JvbDEjAg==} + '@types/bun@1.2.17': + resolution: {integrity: sha512-l/BYs/JYt+cXA/0+wUhulYJB6a6p//GTPiJ7nV+QHa8iiId4HZmnu/3J/SowP5g0rTiERY2kfGKXEK5Ehltx4Q==} '@types/conventional-commits-parser@5.0.1': resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==} @@ -538,14 +533,14 @@ packages: '@types/doctrine@0.0.9': resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/lodash@4.17.16': - resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==} + '@types/lodash@4.17.18': + resolution: {integrity: sha512-KJ65INaxqxmU6EoCiJmRPZC9H9RVWCRd349tXM2M3O5NA7cY6YL7c0bHAHQ93NOfTObEQ004kd2QVHs/r0+m4g==} '@types/minimist@1.2.5': resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} @@ -568,51 +563,63 @@ packages: '@types/yoga-layout@1.9.2': resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} - '@typescript-eslint/eslint-plugin@8.32.0': - resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==} + '@typescript-eslint/eslint-plugin@8.35.0': + resolution: {integrity: sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + '@typescript-eslint/parser': ^8.35.0 eslint: ^8.57.0 || ^9.0.0 typescript: ^5.7.2 - '@typescript-eslint/parser@8.32.0': - resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} + '@typescript-eslint/parser@8.35.0': + resolution: {integrity: sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^5.7.2 - '@typescript-eslint/scope-manager@8.32.0': - resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} + '@typescript-eslint/project-service@8.35.0': + resolution: {integrity: sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: ^5.7.2 - '@typescript-eslint/type-utils@8.32.0': - resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} + '@typescript-eslint/scope-manager@8.35.0': + resolution: {integrity: sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.35.0': + resolution: {integrity: sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: ^5.7.2 + + '@typescript-eslint/type-utils@8.35.0': + resolution: {integrity: sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^5.7.2 - '@typescript-eslint/types@8.32.0': - resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} + '@typescript-eslint/types@8.35.0': + resolution: {integrity: sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.32.0': - resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==} + '@typescript-eslint/typescript-estree@8.35.0': + resolution: {integrity: sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: ^5.7.2 - '@typescript-eslint/utils@8.32.0': - resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} + '@typescript-eslint/utils@8.35.0': + resolution: {integrity: sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ^5.7.2 - '@typescript-eslint/visitor-keys@8.32.0': - resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} + '@typescript-eslint/visitor-keys@8.35.0': + resolution: {integrity: sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@urql/core@5.1.1': @@ -641,10 +648,6 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - accepts@2.0.0: - resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} - engines: {node: '>= 0.6'} - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -654,8 +657,8 @@ packages: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@8.14.1: - resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} hasBin: true @@ -765,15 +768,11 @@ packages: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@2.2.0: - resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} - engines: {node: '>=18'} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -785,8 +784,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bun-types@1.2.13: - resolution: {integrity: sha512-rRjA1T6n7wto4gxhAO/ErZEtOXyEZEmnIHQfl0Dt1QQSB4QV0iP6BZ9/YB5fZaHFQ2dwHFrmPaRQ9GGMX01k9Q==} + bun-types@1.2.17: + resolution: {integrity: sha512-ElC7ItwT3SCQwYZDYoAH+q6KT4Fxjl8DtZ6qDulUFBmXA8YB4xo+l54J9ZJN+k2pphfn9vk7kfubeSd5QfTVJQ==} bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} @@ -924,10 +923,6 @@ packages: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} - content-disposition@1.0.0: - resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} - engines: {node: '>= 0.6'} - content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} @@ -1022,25 +1017,13 @@ packages: cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - cookie-signature@1.2.2: - resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} - engines: {node: '>=6.6.0'} - cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} - cosmiconfig-typescript-loader@6.1.0: resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} engines: {node: '>=v18'} @@ -1073,6 +1056,10 @@ packages: resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} engines: {node: '>=12'} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + date-fns@3.3.1: resolution: {integrity: sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==} @@ -1098,8 +1085,8 @@ packages: supports-color: optional: true - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1197,43 +1184,39 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enhanced-resolve@5.18.1: - resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + enhanced-resolve@5.18.2: + resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} engines: {node: '>=10.13.0'} env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} - envio-darwin-arm64@2.19.0: - resolution: {integrity: sha512-Luc+hNP3CSfjXajLHr8R0QUt16euf566NuEFYx/C/vfd4EvMpaXp/qSydhAAUnmsqAS0KOwtGu8u8hbzFT0CVg==} + envio-darwin-arm64@2.24.0: + resolution: {integrity: sha512-F1iuYTPtjUpkzYwC0rVoGjOi/iOV1UFCWExpdtFrPhA8+VBI/N2BseLHF9ZKTvBcSSuM5c/4Ynq3gvEW3IiUvg==} cpu: [arm64] os: [darwin] - envio-darwin-x64@2.19.0: - resolution: {integrity: sha512-eYT/jW/SyGqRHDl7luT5vCQeCDzhSQlVVEgf6IwWWXr/RJx0KhqUepcWGftX2ZFLQJm16vmvFfhniNz0Fq0ncg==} + envio-darwin-x64@2.24.0: + resolution: {integrity: sha512-xbRDj4yph9ture0P2UQp+DrlNbJhAwaN5KW+6v/69ikqqn60QizLRm2Rjx4v7Rja75aLUf4f1PaDZt8wJul5UA==} cpu: [x64] os: [darwin] - envio-linux-arm64@2.19.0: - resolution: {integrity: sha512-BZTIsjlRv3S20s/RCM8QkboJkT2CkBcuzVCw4KcuV1+AnqLU9guUYumCmFz6/ztZmu9G6LSz9IeRQWWgDIFPIQ==} + envio-linux-arm64@2.24.0: + resolution: {integrity: sha512-MQj4TeUHIQOzPndrt4bcChCiQk0beHNZCO/e0q4NXylLPfyULf6PDHRr2eNZKqaTtqiDJdPrGjIXSxX/VT1rMg==} cpu: [arm64] os: [linux] - envio-linux-x64@2.19.0: - resolution: {integrity: sha512-mudtMWQFZPdjhCdg+z9WiGQFuqGpS+rYxF1RSS2A2NK0r0vnS3Vtixclma6kJ/mlby7sfBbOvXgTaZBTIU6Ezw==} + envio-linux-x64@2.24.0: + resolution: {integrity: sha512-7fVTdKEClIaSU6FFdRyHQhheCe3Ct2CeMao5jJoYBcd9Y/Zr+/9wkw8KOqYNOQrMYo9SwJyrWZ2KoQLGYk/M0w==} cpu: [x64] os: [linux] - envio@2.19.0: - resolution: {integrity: sha512-LZqUS9YsV8ElyBzuxyhQ0vr1AThI6hyKS8PfIar1bqGr7yKivsY2NcEnRjCftjzHfbKUytAmYcsRPhSIiBA9tQ==} + envio@2.24.0: + resolution: {integrity: sha512-xyo0mJc/+lAP0Og36Mdbn1m5xHXJXYjZ5E8s4eJQwjS3FFsEi8Z7lQc6qCHZjYtdRdGoGK2RLBMdEh5t+TRvrA==} hasBin: true environment@1.1.0: @@ -1287,8 +1270,8 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-prettier@5.4.0: - resolution: {integrity: sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==} + eslint-plugin-prettier@5.5.1: + resolution: {integrity: sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -1301,20 +1284,20 @@ packages: eslint-config-prettier: optional: true - eslint-scope@8.3.0: - resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + eslint-visitor-keys@4.2.1: + resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.26.0: - resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} + eslint@9.29.0: + resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1323,8 +1306,8 @@ packages: jiti: optional: true - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + espree@10.4.0: + resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esquery@1.6.0: @@ -1362,32 +1345,14 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - eventsource-parser@3.0.1: - resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==} - engines: {node: '>=18.0.0'} - - eventsource@3.0.7: - resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} - engines: {node: '>=18.0.0'} - execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - express-rate-limit@7.5.0: - resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} - engines: {node: '>= 16'} - peerDependencies: - express: ^4.11 || 5 || ^5.0.0-beta.1 - express@4.19.2: resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} - express@5.1.0: - resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} - engines: {node: '>= 18'} - fast-copy@3.0.2: resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} @@ -1424,6 +1389,10 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} @@ -1440,10 +1409,6 @@ packages: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} - finalhandler@2.1.0: - resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} - engines: {node: '>= 0.8'} - find-up@2.1.0: resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} engines: {node: '>=4'} @@ -1471,10 +1436,14 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - form-data@4.0.2: - resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + form-data@4.0.3: + resolution: {integrity: sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==} engines: {node: '>= 6'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -1483,10 +1452,6 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -1532,8 +1497,8 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-tsconfig@4.10.0: - resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} git-raw-commits@2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} @@ -1662,10 +1627,6 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1673,6 +1634,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -1796,9 +1761,6 @@ packages: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} - is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2004,10 +1966,6 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - media-typer@1.1.0: - resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} - engines: {node: '>= 0.8'} - meow@12.1.1: resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} engines: {node: '>=16.10'} @@ -2019,10 +1977,6 @@ packages: merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - merge-descriptors@2.0.0: - resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} - engines: {node: '>=18'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2042,18 +1996,10 @@ packages: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime-types@3.0.1: - resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} - engines: {node: '>= 0.6'} - mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} @@ -2123,21 +2069,17 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - negotiator@1.0.0: - resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} - engines: {node: '>= 0.6'} - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} node-ts-cache-storage-memory@4.4.0: resolution: {integrity: sha512-eG8tFF4C1/RBmx52cS/dEu63l+Cn+Z6mz16nuTJwNyvtvDHWjsKKM3hg77PA7ddgf2ztaCyen8ZMQnLy191S4g==} @@ -2296,10 +2238,6 @@ packages: path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - path-to-regexp@8.2.0: - resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} - engines: {node: '>=16'} - path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -2350,10 +2288,6 @@ packages: engines: {node: '>=12.0.0'} hasBin: true - pkce-challenge@5.0.0: - resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} - engines: {node: '>=16.20.0'} - plimit-lit@1.6.1: resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} engines: {node: '>=12'} @@ -2375,8 +2309,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.1: + resolution: {integrity: sha512-5xGWRa90Sp2+x1dQtNpIpeOQpTDBs9cZDmA/qs2vDNN2i18PdapqY7CmBeyLlMuGqXJRIOPaCaVZTLNQRWUH/A==} engines: {node: '>=14'} hasBin: true @@ -2401,8 +2335,8 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} @@ -2446,10 +2380,6 @@ packages: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - raw-body@3.0.0: - resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} - engines: {node: '>= 0.8'} - react-devtools-core@4.28.5: resolution: {integrity: sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==} @@ -2598,10 +2528,6 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - router@2.2.0: - resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} - engines: {node: '>= 18'} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -2635,8 +2561,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true @@ -2644,18 +2570,10 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} - send@1.2.0: - resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} - engines: {node: '>= 18'} - serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} - serve-static@2.2.0: - resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} - engines: {node: '>= 18'} - set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -2670,8 +2588,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.2: - resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} side-channel-list@1.0.0: @@ -2824,12 +2742,12 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - synckit@0.11.4: - resolution: {integrity: sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==} + synckit@0.11.8: + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} engines: {node: ^14.18.0 || >=16.0.0} - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + tapable@2.2.2: + resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} engines: {node: '>=6'} tdigest@0.1.2: @@ -2866,15 +2784,12 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} - ts-add-js-extension@1.6.5: - resolution: {integrity: sha512-ijPXEuexDZorzkqBRGwYSS9tyqJYhhCvK92qIRussMnQD7FC4b38aL58XDI5OhLMQUR5fAyA9FCQmV+RCRfukA==} + ts-add-js-extension@1.6.6: + resolution: {integrity: sha512-rPOBNrOULi/CjVHraGrDa0vuWDmuMszmIXGNaGe2UGfrBH0/bZWTTsh82uQ+INKp9cJYziKNTCG2knzBlWvW4A==} hasBin: true ts-api-utils@2.1.0: @@ -2950,15 +2865,11 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} - typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript-eslint@8.32.0: - resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==} + typescript-eslint@8.35.0: + resolution: {integrity: sha512-uEnz70b7kBz6eg/j0Czy6K5NivaYopgxRjsnAJ2Fx5oTLo3wefTHIbL7AkQr1+7tJCRVpTs/wiM8JR/11Loq9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3033,15 +2944,13 @@ packages: typescript: optional: true + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + webauthn-p256@0.0.5: resolution: {integrity: sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg==} - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} @@ -3138,9 +3047,9 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.7.1: - resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} - engines: {node: '>= 14'} + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} hasBin: true yargs-parser@18.1.3: @@ -3183,14 +3092,6 @@ packages: resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} engines: {node: '>=8'} - zod-to-json-schema@3.24.5: - resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} - peerDependencies: - zod: ^3.24.1 - - zod@3.24.4: - resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} - snapshots: '@0no-co/graphql.web@1.1.2(graphql@16.11.0)': @@ -3249,7 +3150,7 @@ snapshots: '@commitlint/is-ignored@19.8.1': dependencies: '@commitlint/types': 19.8.1 - semver: 7.7.1 + semver: 7.7.2 '@commitlint/lint@19.8.1': dependencies: @@ -3329,59 +3230,63 @@ snapshots: dependencies: '@elastic/ecs-helpers': 1.1.0 - '@envio-dev/hypersync-client-darwin-arm64@0.6.3': + '@envio-dev/hypersync-client-darwin-arm64@0.6.5': optional: true - '@envio-dev/hypersync-client-darwin-x64@0.6.3': + '@envio-dev/hypersync-client-darwin-x64@0.6.5': optional: true - '@envio-dev/hypersync-client-linux-arm64-gnu@0.6.3': + '@envio-dev/hypersync-client-linux-arm64-gnu@0.6.5': optional: true - '@envio-dev/hypersync-client-linux-x64-gnu@0.6.3': + '@envio-dev/hypersync-client-linux-x64-gnu@0.6.5': optional: true - '@envio-dev/hypersync-client-linux-x64-musl@0.6.3': + '@envio-dev/hypersync-client-linux-x64-musl@0.6.5': optional: true - '@envio-dev/hypersync-client-win32-x64-msvc@0.6.3': + '@envio-dev/hypersync-client-win32-x64-msvc@0.6.5': optional: true - '@envio-dev/hypersync-client@0.6.3': + '@envio-dev/hypersync-client@0.6.5': optionalDependencies: - '@envio-dev/hypersync-client-darwin-arm64': 0.6.3 - '@envio-dev/hypersync-client-darwin-x64': 0.6.3 - '@envio-dev/hypersync-client-linux-arm64-gnu': 0.6.3 - '@envio-dev/hypersync-client-linux-x64-gnu': 0.6.3 - '@envio-dev/hypersync-client-linux-x64-musl': 0.6.3 - '@envio-dev/hypersync-client-win32-x64-msvc': 0.6.3 + '@envio-dev/hypersync-client-darwin-arm64': 0.6.5 + '@envio-dev/hypersync-client-darwin-x64': 0.6.5 + '@envio-dev/hypersync-client-linux-arm64-gnu': 0.6.5 + '@envio-dev/hypersync-client-linux-x64-gnu': 0.6.5 + '@envio-dev/hypersync-client-linux-x64-musl': 0.6.5 + '@envio-dev/hypersync-client-win32-x64-msvc': 0.6.5 - '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(jiti@2.4.2))': dependencies: - eslint: 9.26.0(jiti@2.4.2) + eslint: 9.29.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.20.0': + '@eslint/config-array@0.20.1': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.0 + debug: 4.4.1 minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.2.2': {} + '@eslint/config-helpers@0.2.3': {} + + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 - '@eslint/core@0.13.0': + '@eslint/core@0.15.1': dependencies: '@types/json-schema': 7.0.15 '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.0 - espree: 10.3.0 + debug: 4.4.1 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -3391,13 +3296,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.26.0': {} + '@eslint/js@9.29.0': {} '@eslint/object-schema@2.1.6': {} - '@eslint/plugin-kit@0.2.8': + '@eslint/plugin-kit@0.3.3': dependencies: - '@eslint/core': 0.13.0 + '@eslint/core': 0.15.1 levn: 0.4.1 '@fastify/busboy@2.1.1': {} @@ -3421,8 +3326,6 @@ snapshots: transitivePeerDependencies: - enquirer - '@glennsl/rescript-fetch@0.2.0': {} - '@graphql-tools/graphql-file-loader@7.5.17(graphql@16.11.0)': dependencies: '@graphql-tools/import': 6.7.18(graphql@16.11.0) @@ -3497,21 +3400,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@modelcontextprotocol/sdk@1.11.2': - dependencies: - content-type: 1.0.5 - cors: 2.8.5 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - express: 5.1.0 - express-rate-limit: 7.5.0(express@5.1.0) - pkce-challenge: 5.0.0 - raw-body: 3.0.0 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) - transitivePeerDependencies: - - supports-color - '@noble/curves@1.2.0': dependencies: '@noble/hashes': 1.3.2 @@ -3538,7 +3426,7 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@pkgr/core@0.2.4': {} + '@pkgr/core@0.2.7': {} '@rescript/react@0.12.1(react-dom@19.1.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -3566,9 +3454,9 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@types/bun@1.2.13': + '@types/bun@1.2.17': dependencies: - bun-types: 1.2.13 + bun-types: 1.2.17 '@types/conventional-commits-parser@5.0.1': dependencies: @@ -3580,11 +3468,11 @@ snapshots: '@types/doctrine@0.0.9': {} - '@types/estree@1.0.7': {} + '@types/estree@1.0.8': {} '@types/json-schema@7.0.15': {} - '@types/lodash@4.17.16': {} + '@types/lodash@4.17.18': {} '@types/minimist@1.2.5': {} @@ -3593,7 +3481,7 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: '@types/node': 20.8.8 - form-data: 4.0.2 + form-data: 4.0.3 '@types/node@18.15.13': {} @@ -3605,82 +3493,97 @@ snapshots: '@types/yoga-layout@1.9.2': {} - '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.35.0(@typescript-eslint/parser@8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.32.0 - eslint: 9.26.0(jiti@2.4.2) + '@typescript-eslint/parser': 8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.35.0 + '@typescript-eslint/type-utils': 8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.35.0 + eslint: 9.29.0(jiti@2.4.2) graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/parser@8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.35.0 + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.35.0 + debug: 4.4.1 + eslint: 9.29.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.35.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.32.0 - debug: 4.4.0 - eslint: 9.26.0(jiti@2.4.2) + '@typescript-eslint/tsconfig-utils': 8.35.0(typescript@5.8.3) + '@typescript-eslint/types': 8.35.0 + debug: 4.4.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.32.0': + '@typescript-eslint/scope-manager@8.35.0': dependencies: - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/visitor-keys': 8.32.0 + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/visitor-keys': 8.35.0 - '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.35.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - debug: 4.4.0 - eslint: 9.26.0(jiti@2.4.2) + typescript: 5.8.3 + + '@typescript-eslint/type-utils@8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1 + eslint: 9.29.0(jiti@2.4.2) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.32.0': {} + '@typescript-eslint/types@8.35.0': {} - '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.35.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/visitor-keys': 8.32.0 - debug: 4.4.0 + '@typescript-eslint/project-service': 8.35.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.35.0(typescript@5.8.3) + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/visitor-keys': 8.35.0 + debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.1 + semver: 7.7.2 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': + '@typescript-eslint/utils@8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.35.0 + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.8.3) + eslint: 9.29.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.32.0': + '@typescript-eslint/visitor-keys@8.35.0': dependencies: - '@typescript-eslint/types': 8.32.0 - eslint-visitor-keys: 4.2.0 + '@typescript-eslint/types': 8.35.0 + eslint-visitor-keys: 4.2.1 '@urql/core@5.1.1(graphql@16.11.0)': dependencies: @@ -3694,10 +3597,9 @@ snapshots: jsonparse: 1.3.1 through: 2.3.8 - abitype@1.0.5(typescript@5.8.3)(zod@3.24.4): + abitype@1.0.5(typescript@5.8.3): optionalDependencies: typescript: 5.8.3 - zod: 3.24.4 abort-controller@3.0.0: dependencies: @@ -3708,20 +3610,15 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - accepts@2.0.0: + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: - mime-types: 3.0.1 - negotiator: 1.0.0 - - acorn-jsx@5.3.2(acorn@8.14.1): - dependencies: - acorn: 8.14.1 + acorn: 8.15.0 acorn-walk@8.3.4: dependencies: - acorn: 8.14.1 + acorn: 8.15.0 - acorn@8.14.1: {} + acorn@8.15.0: {} add-stream@1.0.0: {} @@ -3821,26 +3718,12 @@ snapshots: transitivePeerDependencies: - supports-color - body-parser@2.2.0: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.0 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - on-finished: 2.4.1 - qs: 6.14.0 - raw-body: 3.0.0 - type-is: 2.0.1 - transitivePeerDependencies: - - supports-color - - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: + brace-expansion@2.0.2: dependencies: balanced-match: 1.0.2 @@ -3855,7 +3738,7 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bun-types@1.2.13: + bun-types@1.2.17: dependencies: '@types/node': 20.8.8 @@ -4006,10 +3889,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - content-disposition@1.0.0: - dependencies: - safe-buffer: 5.2.1 - content-type@1.0.5: {} conventional-changelog-angular@5.0.13: @@ -4143,19 +4022,10 @@ snapshots: cookie-signature@1.0.6: {} - cookie-signature@1.2.2: {} - cookie@0.6.0: {} - cookie@0.7.2: {} - core-util-is@1.0.3: {} - cors@2.8.5: - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - cosmiconfig-typescript-loader@6.1.0(@types/node@20.8.8)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): dependencies: '@types/node': 20.8.8 @@ -4184,6 +4054,8 @@ snapshots: dargs@8.1.0: {} + data-uri-to-buffer@4.0.1: {} + date-fns@3.3.1: {} dateformat@3.0.3: {} @@ -4198,7 +4070,7 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.4.0: + debug@4.4.1: dependencies: ms: 2.1.3 @@ -4268,42 +4140,44 @@ snapshots: encodeurl@1.0.2: {} - encodeurl@2.0.0: {} - - end-of-stream@1.4.4: + end-of-stream@1.4.5: dependencies: once: 1.4.0 - enhanced-resolve@5.18.1: + enhanced-resolve@5.18.2: dependencies: graceful-fs: 4.2.11 - tapable: 2.2.1 + tapable: 2.2.2 env-paths@2.2.1: {} - envio-darwin-arm64@2.19.0: + envio-darwin-arm64@2.24.0: optional: true - envio-darwin-x64@2.19.0: + envio-darwin-x64@2.24.0: optional: true - envio-linux-arm64@2.19.0: + envio-linux-arm64@2.24.0: optional: true - envio-linux-x64@2.19.0: + envio-linux-x64@2.24.0: optional: true - envio@2.19.0(typescript@5.8.3)(zod@3.24.4): + envio@2.24.0(typescript@5.8.3): dependencies: - '@envio-dev/hypersync-client': 0.6.3 + '@envio-dev/hypersync-client': 0.6.5 + bignumber.js: 9.1.2 + pino: 8.16.1 + pino-pretty: 10.2.3 + prom-client: 15.0.0 rescript: 11.1.3 rescript-schema: 9.3.0(rescript@11.1.3) - viem: 2.21.0(typescript@5.8.3)(zod@3.24.4) + viem: 2.21.0(typescript@5.8.3) optionalDependencies: - envio-darwin-arm64: 2.19.0 - envio-darwin-x64: 2.19.0 - envio-linux-arm64: 2.19.0 - envio-linux-x64: 2.19.0 + envio-darwin-arm64: 2.24.0 + envio-darwin-x64: 2.24.0 + envio-linux-arm64: 2.24.0 + envio-linux-x64: 2.24.0 transitivePeerDependencies: - bufferutil - typescript @@ -4349,66 +4223,65 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.6.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): + eslint-plugin-import-x@4.6.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): dependencies: '@types/doctrine': 0.0.9 - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - debug: 4.4.0 + '@typescript-eslint/scope-manager': 8.35.0 + '@typescript-eslint/utils': 8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1 doctrine: 3.0.0 - enhanced-resolve: 5.18.1 - eslint: 9.26.0(jiti@2.4.2) + enhanced-resolve: 5.18.2 + eslint: 9.29.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - get-tsconfig: 4.10.0 + get-tsconfig: 4.10.1 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.1 + semver: 7.7.2 stable-hash: 0.0.4 tslib: 2.8.1 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-prettier@5.4.0(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3): + eslint-plugin-prettier@5.5.1(eslint@9.29.0(jiti@2.4.2))(prettier@3.6.1): dependencies: - eslint: 9.26.0(jiti@2.4.2) - prettier: 3.5.3 + eslint: 9.29.0(jiti@2.4.2) + prettier: 3.6.1 prettier-linter-helpers: 1.0.0 - synckit: 0.11.4 + synckit: 0.11.8 - eslint-scope@8.3.0: + eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} + eslint-visitor-keys@4.2.1: {} - eslint@9.26.0(jiti@2.4.2): + eslint@9.29.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.20.0 - '@eslint/config-helpers': 0.2.2 - '@eslint/core': 0.13.0 + '@eslint/config-array': 0.20.1 + '@eslint/config-helpers': 0.2.3 + '@eslint/core': 0.14.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.26.0 - '@eslint/plugin-kit': 0.2.8 + '@eslint/js': 9.29.0 + '@eslint/plugin-kit': 0.3.3 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 - '@modelcontextprotocol/sdk': 1.11.2 - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0 + debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -4423,17 +4296,16 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - zod: 3.24.4 optionalDependencies: jiti: 2.4.2 transitivePeerDependencies: - supports-color - espree@10.3.0: + espree@10.4.0: dependencies: - acorn: 8.14.1 - acorn-jsx: 5.3.2(acorn@8.14.1) - eslint-visitor-keys: 4.2.0 + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 esquery@1.6.0: dependencies: @@ -4468,12 +4340,6 @@ snapshots: events@3.3.0: {} - eventsource-parser@3.0.1: {} - - eventsource@3.0.7: - dependencies: - eventsource-parser: 3.0.1 - execa@8.0.1: dependencies: cross-spawn: 7.0.6 @@ -4486,10 +4352,6 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - express-rate-limit@7.5.0(express@5.1.0): - dependencies: - express: 5.1.0 - express@4.19.2: dependencies: accepts: 1.3.8 @@ -4526,38 +4388,6 @@ snapshots: transitivePeerDependencies: - supports-color - express@5.1.0: - dependencies: - accepts: 2.0.0 - body-parser: 2.2.0 - content-disposition: 1.0.0 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.2.2 - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 2.1.0 - fresh: 2.0.0 - http-errors: 2.0.0 - merge-descriptors: 2.0.0 - mime-types: 3.0.1 - on-finished: 2.4.1 - once: 1.4.0 - parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.14.0 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.0 - serve-static: 2.2.0 - statuses: 2.0.1 - type-is: 2.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - fast-copy@3.0.2: {} fast-deep-equal@3.1.3: {} @@ -4593,6 +4423,11 @@ snapshots: dependencies: reusify: 1.1.0 + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 @@ -4617,17 +4452,6 @@ snapshots: transitivePeerDependencies: - supports-color - finalhandler@2.1.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - find-up@2.1.0: dependencies: locate-path: 2.0.0 @@ -4659,19 +4483,22 @@ snapshots: flatted@3.3.3: {} - form-data@4.0.2: + form-data@4.0.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 + hasown: 2.0.2 mime-types: 2.1.35 + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + forwarded@0.2.0: {} fresh@0.5.2: {} - fresh@2.0.0: {} - fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -4721,7 +4548,7 @@ snapshots: get-stream@8.0.1: {} - get-tsconfig@4.10.0: + get-tsconfig@4.10.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -4857,14 +4684,12 @@ snapshots: dependencies: safer-buffer: 2.1.2 - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - ieee754@1.2.1: {} ignore@5.3.2: {} + ignore@7.0.5: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -4985,8 +4810,6 @@ snapshots: is-plain-obj@1.1.0: {} - is-promise@4.0.0: {} - is-stream@3.0.0: {} is-text-path@1.0.1: @@ -5064,14 +4887,14 @@ snapshots: dependencies: chalk: 5.4.1 commander: 13.1.0 - debug: 4.4.0 + debug: 4.4.1 execa: 8.0.1 lilconfig: 3.1.3 listr2: 8.3.3 micromatch: 4.0.8 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.7.1 + yaml: 2.8.0 transitivePeerDependencies: - supports-color @@ -5178,8 +5001,6 @@ snapshots: media-typer@0.3.0: {} - media-typer@1.1.0: {} - meow@12.1.1: {} meow@8.1.2: @@ -5198,8 +5019,6 @@ snapshots: merge-descriptors@1.0.1: {} - merge-descriptors@2.0.0: {} - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -5213,16 +5032,10 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.54.0: {} - mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mime-types@3.0.1: - dependencies: - mime-db: 1.54.0 - mime@1.6.0: {} mimic-fn@2.1.0: {} @@ -5235,15 +5048,15 @@ snapshots: minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimatch@5.1.6: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 2.0.2 minimist-options@4.1.0: dependencies: @@ -5273,24 +5086,26 @@ snapshots: negotiator@0.6.3: {} - negotiator@1.0.0: {} - neo-async@2.6.2: {} - node-fetch@2.7.0: + node-domexception@1.0.0: {} + + node-fetch@3.3.2: dependencies: - whatwg-url: 5.0.0 + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 node-ts-cache-storage-memory@4.4.0: dependencies: - debug: 4.4.0 + debug: 4.4.1 node-ts-cache: 4.4.0 transitivePeerDependencies: - supports-color node-ts-cache-storage-node-fs@4.4.0: dependencies: - debug: 4.4.0 + debug: 4.4.1 node-ts-cache: 4.4.0 transitivePeerDependencies: - supports-color @@ -5298,7 +5113,7 @@ snapshots: node-ts-cache@4.4.0: dependencies: bluebird: 3.7.2 - debug: 4.4.0 + debug: 4.4.1 redis: 3.1.2 transitivePeerDependencies: - supports-color @@ -5314,7 +5129,7 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.1 - semver: 7.7.1 + semver: 7.7.2 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: @@ -5438,8 +5253,6 @@ snapshots: path-to-regexp@0.1.7: {} - path-to-regexp@8.2.0: {} - path-type@3.0.0: dependencies: pify: 3.0.0 @@ -5477,7 +5290,7 @@ snapshots: minimist: 1.2.8 on-exit-leak-free: 2.1.2 pino-abstract-transport: 1.2.0 - pump: 3.0.2 + pump: 3.0.3 readable-stream: 4.7.0 secure-json-parse: 2.7.0 sonic-boom: 3.8.1 @@ -5501,8 +5314,6 @@ snapshots: pinst@3.0.0: {} - pkce-challenge@5.0.0: {} - plimit-lit@1.6.1: dependencies: queue-lit: 1.5.2 @@ -5517,7 +5328,7 @@ snapshots: prettier@2.8.8: {} - prettier@3.5.3: {} + prettier@3.6.1: {} process-nextick-args@2.0.1: {} @@ -5541,9 +5352,9 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - pump@3.0.2: + pump@3.0.3: dependencies: - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 once: 1.4.0 punycode@2.3.1: {} @@ -5575,16 +5386,9 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-body@3.0.0: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - unpipe: 1.0.0 - react-devtools-core@4.28.5: dependencies: - shell-quote: 1.8.2 + shell-quote: 1.8.3 ws: 7.5.10 transitivePeerDependencies: - bufferutil @@ -5736,16 +5540,6 @@ snapshots: dependencies: glob: 7.2.3 - router@2.2.0: - dependencies: - debug: 4.4.0 - depd: 2.0.0 - is-promise: 4.0.0 - parseurl: 1.3.3 - path-to-regexp: 8.2.0 - transitivePeerDependencies: - - supports-color - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -5771,7 +5565,7 @@ snapshots: semver@6.3.1: {} - semver@7.7.1: {} + semver@7.7.2: {} send@0.18.0: dependencies: @@ -5791,22 +5585,6 @@ snapshots: transitivePeerDependencies: - supports-color - send@1.2.0: - dependencies: - debug: 4.4.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - serve-static@1.15.0: dependencies: encodeurl: 1.0.2 @@ -5816,15 +5594,6 @@ snapshots: transitivePeerDependencies: - supports-color - serve-static@2.2.0: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 1.2.0 - transitivePeerDependencies: - - supports-color - set-blocking@2.0.0: {} setprototypeof@1.2.0: {} @@ -5835,7 +5604,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.2: {} + shell-quote@1.8.3: {} side-channel-list@1.0.0: dependencies: @@ -5936,7 +5705,7 @@ snapshots: figures: 3.2.0 find-up: 5.0.0 git-semver-tags: 4.1.1 - semver: 7.7.1 + semver: 7.7.2 stringify-package: 1.0.1 yargs: 16.2.0 @@ -6002,12 +5771,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - synckit@0.11.4: + synckit@0.11.8: dependencies: - '@pkgr/core': 0.2.4 - tslib: 2.8.1 + '@pkgr/core': 0.2.7 - tapable@2.2.1: {} + tapable@2.2.2: {} tdigest@0.1.2: dependencies: @@ -6040,11 +5808,9 @@ snapshots: toidentifier@1.0.1: {} - tr46@0.0.3: {} - trim-newlines@3.0.1: {} - ts-add-js-extension@1.6.5: + ts-add-js-extension@1.6.6: dependencies: typescript: 5.8.3 @@ -6060,7 +5826,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.8.8 - acorn: 8.14.1 + acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 @@ -6074,7 +5840,7 @@ snapshots: dependencies: chokidar: 3.6.0 commander: 9.5.0 - get-tsconfig: 4.10.0 + get-tsconfig: 4.10.1 globby: 11.1.0 mylas: 2.1.13 normalize-path: 3.0.0 @@ -6111,20 +5877,14 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: - dependencies: - content-type: 1.0.5 - media-typer: 1.1.0 - mime-types: 3.0.1 - typedarray@0.0.6: {} - typescript-eslint@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): + typescript-eslint@8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) - eslint: 9.26.0(jiti@2.4.2) + '@typescript-eslint/eslint-plugin': 8.35.0(@typescript-eslint/parser@8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.35.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.29.0(jiti@2.4.2) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -6171,14 +5931,14 @@ snapshots: vary@1.1.2: {} - viem@2.21.0(typescript@5.8.3)(zod@3.24.4): + viem@2.21.0(typescript@5.8.3): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.4.0 '@noble/hashes': 1.4.0 '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 - abitype: 1.0.5(typescript@5.8.3)(zod@3.24.4) + abitype: 1.0.5(typescript@5.8.3) isows: 1.0.4(ws@8.17.1) webauthn-p256: 0.0.5 ws: 8.17.1 @@ -6189,18 +5949,13 @@ snapshots: - utf-8-validate - zod + web-streams-polyfill@3.3.3: {} + webauthn-p256@0.0.5: dependencies: '@noble/curves': 1.4.0 '@noble/hashes': 1.4.0 - webidl-conversions@3.0.1: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - which-module@2.0.1: {} which@2.0.2: @@ -6262,7 +6017,7 @@ snapshots: yallist@4.0.0: {} - yaml@2.7.1: {} + yaml@2.8.0: {} yargs-parser@18.1.3: dependencies: @@ -6316,9 +6071,3 @@ snapshots: yoga-layout-prebuilt@1.10.0: dependencies: '@types/yoga-layout': 1.9.2 - - zod-to-json-schema@3.24.5(zod@3.24.4): - dependencies: - zod: 3.24.4 - - zod@3.24.4: {} diff --git a/src/mappings/funding-manager/bonding-curve/fee.ts b/src/mappings/funding-manager/bonding-curve/fee.ts index fc8fd5d..9484a58 100644 --- a/src/mappings/funding-manager/bonding-curve/fee.ts +++ b/src/mappings/funding-manager/bonding-curve/fee.ts @@ -52,6 +52,7 @@ BondingCurve.SellFeeUpdated.handler( BondingCurve.ProjectCollateralFeeWithdrawn.handler( handlerErrorWrapper(async ({ event, context }) => { const id = `${event.chainId}-${event.srcAddress}` + const bc = (await context.BondingCurve.get(id))! const module_id = bc.id @@ -111,6 +112,7 @@ BondingCurve.ProjectCollateralFeeWithdrawn.handler( BondingCurve.ProtocolFeeMinted.handler( handlerErrorWrapper(async ({ event, context }) => { const id = `${event.chainId}-${event.srcAddress}` + const bc = (await context.BondingCurve.get(id))! const module_id = bc.id @@ -181,6 +183,7 @@ BondingCurve.ProtocolFeeMinted.handler( BondingCurve.ProtocolFeeTransferred.handler( handlerErrorWrapper(async ({ event, context }) => { const id = `${event.chainId}-${event.srcAddress}` + const bc = (await context.BondingCurve.get(id))! const module_id = bc.id diff --git a/src/mappings/funding-manager/bonding-curve/init.ts b/src/mappings/funding-manager/bonding-curve/init.ts index 18b561f..6cb41fb 100644 --- a/src/mappings/funding-manager/bonding-curve/init.ts +++ b/src/mappings/funding-manager/bonding-curve/init.ts @@ -2,6 +2,8 @@ import { BondingCurve } from 'generated' import { deriveTokenAddress, + getIssPriceFromCol, + getStaticPriceCOL, handlerErrorWrapper, updateBondingCurve, updateToken, @@ -24,15 +26,16 @@ BondingCurve.ModuleInitialized.handler( } ) - const { id: collateralToken_id } = await updateToken({ - event, - context, - derivedType: 'token', - properties: { - address: collateralTokenAddress, - }, - triggerTotalSupply: true, - }) + const { id: collateralToken_id, priceUSD: collateralTokenPriceUSD } = + await updateToken({ + event, + context, + derivedType: 'token', + properties: { + address: collateralTokenAddress, + }, + triggerTotalSupply: true, + }) const { derivedAddress: issuanceTokenAddress } = await deriveTokenAddress({ address, @@ -40,12 +43,22 @@ BondingCurve.ModuleInitialized.handler( derivesTo: 'issuance', }) + const priceCOL = await getStaticPriceCOL({ + event, + }) + + const issuanceTokenPriceUSD = getIssPriceFromCol( + priceCOL, + collateralTokenPriceUSD + ) + const { id: issuanceToken_id } = await updateToken({ event, context, derivedType: 'issuance', properties: { address: issuanceTokenAddress, + priceUSD: issuanceTokenPriceUSD, }, triggerTotalSupply: true, }) diff --git a/src/mappings/funding-manager/bonding-curve/swap.ts b/src/mappings/funding-manager/bonding-curve/swap.ts index 71ad946..1e56566 100644 --- a/src/mappings/funding-manager/bonding-curve/swap.ts +++ b/src/mappings/funding-manager/bonding-curve/swap.ts @@ -24,6 +24,7 @@ import { BondingCurve.TokensBought.handler( handlerErrorWrapper(async ({ event, context }) => { const id = `${event.chainId}-${event.srcAddress}` + const bc = await context.BondingCurve.get(id) const issuanceToken_id = bc!.issuanceToken_id! @@ -132,6 +133,7 @@ BondingCurve.TokensBought.handler( BondingCurve.TokensSold.handler( handlerErrorWrapper(async ({ event, context }) => { const id = `${event.chainId}-${event.srcAddress}` + const bc = (await context.BondingCurve.get(id))! const issuanceToken_id = bc.issuanceToken_id diff --git a/src/mappings/logic-module/manual-external-price-setter.ts b/src/mappings/logic-module/manual-external-price-setter.ts index 131cbbd..dbdfcf6 100644 --- a/src/mappings/logic-module/manual-external-price-setter.ts +++ b/src/mappings/logic-module/manual-external-price-setter.ts @@ -1,10 +1,9 @@ import { LM_ManualExternalPriceSetter_v1 } from 'generated' -import { - formatUnitsToBD, - handlerErrorWrapper, - MARKET_DEBUG, - ZERO_BD, -} from '../../utils' +import { formatUnitsToBD, handlerErrorWrapper, ZERO_BD } from '../../utils' + +import d from 'debug' + +const debug = d('logic-module:manual-external-price-setter') LM_ManualExternalPriceSetter_v1.ModuleInitialized.handler( handlerErrorWrapper(async ({ event, context }) => { @@ -49,7 +48,7 @@ LM_ManualExternalPriceSetter_v1.RedemptionPriceSet.handler( ) if (priceCOL.isZero()) { - MARKET_DEBUG()(`PriceCOL is Zero. ID: ${id} @ RedemptionPriceSet`, { + debug(`PriceCOL is Zero. ID: ${id} @ RedemptionPriceSet`, { eventParamsPrice_: event.params.price_, collateralTokenDecimals: collateralToken?.decimals, }) @@ -97,7 +96,7 @@ LM_ManualExternalPriceSetter_v1.IssuancePriceSet.handler( ) if (priceISS.isZero()) { - MARKET_DEBUG()(`PriceISS is Zero. ID: ${id} @ IssuancePriceSet`, { + debug(`PriceISS is Zero. ID: ${id} @ IssuancePriceSet`, { eventParamsPrice_: event.params.price_, collateralTokenDecimals: collateralToken?.decimals, }) diff --git a/src/utils/base.ts b/src/utils/base.ts index 2325709..ddd4c3b 100644 --- a/src/utils/base.ts +++ b/src/utils/base.ts @@ -4,7 +4,10 @@ import path from 'path' import { formatUnits, keccak256 } from 'viem' import { moduleTitles, ZERO_BD } from './constants' import { BigDecimal } from 'generated' -import { MARKET_DEBUG } from './debug' + +import d from 'debug' + +export const debug = d('utils:base') export function createDirIfNotExists(dir: string) { const fullPath = path.join(process.cwd(), dir) @@ -42,9 +45,7 @@ export const formatUnitsToBD = ( const result = BigDecimal(formatUnits(BigInt(value), decimals)) if (result.isNaN()) { - MARKET_DEBUG()( - `formatUnitsToBD is NaN -> value: ${value}, decimals: ${decimals}` - ) + debug(`formatUnitsToBD is NaN -> value: ${value}, decimals: ${decimals}`) } return result diff --git a/src/utils/debug.ts b/src/utils/debug.ts deleted file mode 100644 index aea2565..0000000 --- a/src/utils/debug.ts +++ /dev/null @@ -1,5 +0,0 @@ -import debug from 'debug' - -export const MARKET_DEBUG = () => debug('MARKET_DEBUG') -export const TOKEN_DEBUG = () => debug('TOKEN_DEBUG') -export const UTIL_DEBUG = () => debug('UTIL_DEBUG') diff --git a/src/utils/funding-manager/bonding-curve.ts b/src/utils/funding-manager/bonding-curve.ts index 1b3c63c..c966c3c 100644 --- a/src/utils/funding-manager/bonding-curve.ts +++ b/src/utils/funding-manager/bonding-curve.ts @@ -1,7 +1,12 @@ -import { eventLog, handlerContext } from 'generated' +import { BigDecimal, eventLog, handlerContext } from 'generated' import { BondingCurve_t } from 'generated/src/db/Entities.gen' import { Writable } from 'type-fest' import { ZERO_BD } from '../constants' +import { getPublicClient } from '../rpc' +import { CacheContainer } from 'node-ts-cache' +import { MemoryStorage } from 'node-ts-cache-storage-memory' + +const midTermColPriceCache = new CacheContainer(new MemoryStorage()) export const updateBondingCurve = async ({ event, @@ -59,3 +64,51 @@ export const updateBondingCurve = async ({ }) } } + +/** + * Retrieves the static price of the collateral token in BigDecimal + * @param event - The event that triggered the update + * @returns The static price of the collateral token in BigDecimal + */ +export const getStaticPriceCOL = async ({ + event, +}: { + event: eventLog +}) => { + const address = event.srcAddress as `0x${string}` + const chainId = event.chainId + + const cacheKey = `${chainId}-${address}` + + const cachedPrice = await midTermColPriceCache.getItem(cacheKey) + + if (cachedPrice) return BigDecimal(cachedPrice) + + const publicClient = getPublicClient(chainId) + + if (!publicClient) return ZERO_BD + + const getStaticPriceForBuyingAbi = [ + { + type: 'function', + name: 'getStaticPriceForBuying', + inputs: [], + outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }], + stateMutability: 'view', + }, + ] as const + + const staticPriceForBuyingInPPM = await publicClient.readContract({ + address, + abi: getStaticPriceForBuyingAbi, + functionName: 'getStaticPriceForBuying', + }) + + const priceCOL = BigDecimal(`${staticPriceForBuyingInPPM}`).div(1000000) + + await midTermColPriceCache.setItem(cacheKey, priceCOL.toString(), { + ttl: 2 * 60, // 2 minutes + }) + + return priceCOL +} diff --git a/src/utils/funding-manager/index.ts b/src/utils/funding-manager/index.ts index a03a1d5..0fbb294 100644 --- a/src/utils/funding-manager/index.ts +++ b/src/utils/funding-manager/index.ts @@ -2,7 +2,9 @@ import { Swap_t, Token_t } from 'generated/src/db/Entities.gen' import { eventLog, handlerContext } from 'generated' import { ZERO_BD } from '../constants' import { formatUnitsToBD } from '../base' -import { MARKET_DEBUG } from '../debug' +import d from 'debug' + +const debug = d('utils:funding-manager') export * from './bonding-curve' export * from './oracle-price' @@ -25,7 +27,7 @@ export const getQtyAndPrice = ( if (priceCOL.isNaN()) priceCOL = ZERO_BD if (amountCOL.isNaN() || amountISS.isNaN() || priceCOL.isNaN()) { - MARKET_DEBUG()( + debug( `getQtyAndPrice has NaN -> amountCOL: ${amountCOL.toString()}, amountISS: ${amountISS.toString()}, priceCOL: ${priceCOL.toString()}` ) } diff --git a/src/utils/funding-manager/oracle-price.ts b/src/utils/funding-manager/oracle-price.ts index 38d47a4..2802dc4 100644 --- a/src/utils/funding-manager/oracle-price.ts +++ b/src/utils/funding-manager/oracle-price.ts @@ -6,7 +6,10 @@ import { SourceTokenType_t } from 'generated/src/db/Enums.gen' import { eventLog, handlerContext } from 'generated' import { Writable, SetOptional } from 'type-fest' -import { ZERO_BD, UTIL_DEBUG } from '..' +import { ZERO_BD } from '..' +import d from 'debug' + +const debug = d('utils:funding-manager:oracle-price') export const updateOraclePrice = async ({ event, @@ -133,7 +136,7 @@ export const updateOraclePriceOrder = async ({ (await context.OraclePriceOrder.get(id)) as Writable if (!data?.id) { - UTIL_DEBUG()( + debug( `updateOraclePriceOrder: was called before createOraclePriceOrder ID: ${id} }`, { data, properties } ) diff --git a/src/utils/handler-error-wrapper.ts b/src/utils/handler-error-wrapper.ts index be2dd5c..f7ac0a6 100644 --- a/src/utils/handler-error-wrapper.ts +++ b/src/utils/handler-error-wrapper.ts @@ -9,7 +9,25 @@ export const handlerErrorWrapper = }: { event: eventLog context: handlerContext - }) => Promise + }) => Promise, + options?: { + onError?: ({ + error, + event, + context, + }: { + error: unknown + event: eventLog + context: handlerContext + }) => void | Promise + onFinally?: ({ + event, + context, + }: { + event: eventLog + context: handlerContext + }) => void | Promise + } ) => async ({ event, @@ -22,6 +40,23 @@ export const handlerErrorWrapper = return await handler({ event, context }) } catch (error) { logger.error(`Error in handler`, event, error) + + if (options?.onError) { + try { + await options.onError({ error, event, context }) + } catch (onErrorError) { + logger.error(`Error in onError callback`, onErrorError) + } + } + return + } finally { + if (options?.onFinally) { + try { + await options.onFinally({ event, context }) + } catch (onFinallyError) { + logger.error(`Error in onFinally callback`, onFinallyError) + } + } } } diff --git a/src/utils/index.ts b/src/utils/index.ts index afc51e0..f605b21 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -5,7 +5,7 @@ export * from './constants' export * from './factory' export * from './rpc' export * from './base' -export * from './debug' export * from './misc' export * from './handler-error-wrapper' export * from './logger' +export * from './lock-manager' diff --git a/src/utils/lock-manager.ts b/src/utils/lock-manager.ts new file mode 100644 index 0000000..71ee360 --- /dev/null +++ b/src/utils/lock-manager.ts @@ -0,0 +1,122 @@ +import { CacheContainer } from 'node-ts-cache' +import { MemoryStorage } from 'node-ts-cache-storage-memory' + +/** + * Simple signal manager for coordinating event processing + */ + +// Default TTL: 2 seconds (short wait for fresh prices) +const DEFAULT_TTL = 2 + +// Cache storage +const cache = new CacheContainer(new MemoryStorage()) + +// Signal data stored in cache +interface SignalData { + promise: Promise + resolve: () => void + timestamp: number +} + +// Track recent signals +interface RecentSignal { + timestamp: number +} + +/** + * Create a deferred signal that will wait for a signal() call + * @param id - The unique identifier + * @param namespace - Optional namespace + * @param ttl - Time to live in seconds (default: 2) + * @returns Promise that resolves when signaled or after timeout + */ +export async function createDeferredSignal( + id: string, + namespace = 'default', + ttl = DEFAULT_TTL +): Promise { + const key = `${namespace}:${id}` + const recentKey = `recent:${key}` + + // Check if there was a recent signal first + const recentSignal = await cache.getItem(recentKey) + if (recentSignal) { + console.log( + `[createDeferredSignal] Found recent signal for: ${key}, resolving immediately` + ) + await cache.setItem(recentKey, null, { ttl: 0 }) // Clean up + return Promise.resolve() + } + + // Check if signal already exists + const existing = await cache.getItem(key) + if (existing) { + // Return existing promise if still valid + const age = Date.now() - existing.timestamp + if (age < ttl * 1000) { + return existing.promise + } + } + + // Create new deferred signal + let resolve: () => void + const promise = new Promise((res) => { + resolve = res + + // Auto-resolve after TTL + setTimeout(() => { + res() + cache.setItem(key, null, { ttl: 0 }) + }, ttl * 1000) + }) + + const signalData: SignalData = { + promise, + resolve: resolve!, + timestamp: Date.now(), + } + + await cache.setItem(key, signalData, { ttl }) + return promise +} + +/** + * Signal a waiting deferred signal + * @param id - The unique identifier + * @param namespace - Optional namespace + */ +export async function signal(id: string, namespace = 'default'): Promise { + const key = `${namespace}:${id}` + const recentKey = `recent:${key}` + + // Store as recent signal + const recentSignal: RecentSignal = { timestamp: Date.now() } + await cache.setItem(recentKey, recentSignal, { ttl: 5 }) + + // Get waiting signal + const signalData = await cache.getItem(key) + if (signalData) { + // Resolve the promise and clean up + signalData.resolve() + await cache.setItem(key, null, { ttl: 0 }) + } + + return Promise.resolve() +} + +/** + * Check if there's a recent signal without waiting + * @param id - The unique identifier + * @param namespace - Optional namespace + * @returns true if a recent signal exists, false otherwise + */ +export async function hasRecentSignal( + id: string, + namespace = 'default' +): Promise { + const key = `${namespace}:${id}` + const recentKey = `recent:${key}` + + const recentSignal = await cache.getItem(recentKey) + return !!recentSignal +} diff --git a/src/utils/token/derive-token-address.ts b/src/utils/token/derive-token-address.ts index fa6e7da..38eafea 100644 --- a/src/utils/token/derive-token-address.ts +++ b/src/utils/token/derive-token-address.ts @@ -3,8 +3,10 @@ import { getPublicClient } from '../rpc' import { CacheContainer } from 'node-ts-cache' import { NodeFsStorage } from 'node-ts-cache-storage-node-fs' import { createDirIfNotExists } from '../base' -import { TOKEN_DEBUG } from '../debug' import { SourceTokenType_t } from 'generated/src/db/Enums.gen' +import d from 'debug' + +const debug = d('utils:token:derive-token-address') const longTermCacheDir = createDirIfNotExists('.cache') @@ -97,7 +99,7 @@ export async function deriveTokenAddress({ functionName: 'issuanceToken', }) } catch (error) { - TOKEN_DEBUG()(`Try unwrapping issuance token failed`) + debug(`Try unwrapping issuance token failed`) } // Return the fmIssuanceToken if it exists, else return the address @@ -125,7 +127,7 @@ export async function deriveTokenAddress({ break } } catch (error: any) { - TOKEN_DEBUG()( + debug( `Failed to derive @ derivesTo: ${derivesTo}, chainId: ${chainId}, address: ${address}`, error?.message ?? error?.cause ?? error ) @@ -137,12 +139,12 @@ export async function deriveTokenAddress({ tokenAddress = await handleToken() derivedType = 'token' } catch (error) { - TOKEN_DEBUG()(`@ auto-derive collateral token address failed`, error) + debug(`@ auto-derive collateral token address failed`, error) try { tokenAddress = await handleIssuance() derivedType = 'issuance' } catch (error) { - TOKEN_DEBUG()( + debug( `Failed to derive @ auto-derive collateral & issuance token address: chainId: ${chainId}, address: ${address}`, error ) diff --git a/src/utils/token/get-price-usd.ts b/src/utils/token/get-price-usd.ts index 887387a..5b08cfb 100644 --- a/src/utils/token/get-price-usd.ts +++ b/src/utils/token/get-price-usd.ts @@ -139,7 +139,7 @@ export async function getPriceUSD({ } await midTermUsdPriceCache.setItem(cacheKey, usdPrice.toString(), { - ttl: 10 * 60 * 1000, // 10 minutes + ttl: 10 * 60, // 10 minutes }) return usdPrice diff --git a/tests/get-collateral-price.test.ts b/tests/get-collateral-price.test.ts new file mode 100644 index 0000000..0929044 --- /dev/null +++ b/tests/get-collateral-price.test.ts @@ -0,0 +1,48 @@ +import { describe, expect, it } from 'bun:test' +import { formatUnitsToBD, getIssPriceFromCol, getPublicClient } from './utils' +import { BigDecimal } from './utils' + +describe('#GET_COLLATERAL_PRICE', () => { + // CONSTANTS + // -------------------------------------------------- + const POL_PRICE_USD = BigDecimal('0.176') + const fm_address = '0x4b2502ad254855AC83990998695c6fD16c2CeeD9' as const + + const publicClient = getPublicClient(137)! + + const getStaticPriceForBuyingAbi = [ + { + type: 'function', + name: 'getStaticPriceForBuying', + inputs: [], + outputs: [{ name: '', type: 'uint256', internalType: 'uint256' }], + stateMutability: 'view', + }, + ] as const + + // VARIABLES + // -------------------------------------------------- + + it(`1. Should get the collateral price in correct format`, async () => { + const staticPriceForBuyingInPPM = await publicClient.readContract({ + address: fm_address, + abi: getStaticPriceForBuyingAbi, + functionName: 'getStaticPriceForBuying', + }) + + console.log( + 'staticPriceForBuyingInPPM', + staticPriceForBuyingInPPM.toString() + ) + + const priceCOL = BigDecimal(`${staticPriceForBuyingInPPM}`).div(1000000) + + console.log('priceCOL', priceCOL.toString()) + + const priceISS = getIssPriceFromCol(priceCOL, POL_PRICE_USD) + + console.log('priceISS', priceISS.toString()) + + expect(priceISS.toNumber()).toBeGreaterThan(0.05) + }) +}) diff --git a/tests/utils.ts b/tests/utils.ts index 65b5dfe..b798f2b 100644 --- a/tests/utils.ts +++ b/tests/utils.ts @@ -1,4 +1,17 @@ import BigNumber from 'bignumber.js' +import { createPublicClient, http, formatUnits } from 'viem' +import type { Chain } from 'viem' + +import { + optimismSepolia, + polygonAmoy, + baseSepolia, + gnosisChiado, + polygonZkEvm, + polygonZkEvmCardona, + sepolia, + polygon, +} from 'viem/chains' // Implementation of BigDecimal to avoid dependency on 'generated' export const BigDecimal = (value: string | number | BigNumber): BigNumber => { @@ -8,3 +21,54 @@ export const BigDecimal = (value: string | number | BigNumber): BigNumber => { // Implementation of ZERO_BD to avoid dependency on '../src/utils' export const ZERO_BD = BigDecimal('0') export const ONE_BD = BigDecimal('1') + +export const formatUnitsToBD = ( + value: number | string | bigint, + decimals?: number +) => { + if (!decimals) return ZERO_BD + + const result = BigDecimal(formatUnits(BigInt(value), decimals)) + + return result +} + +export const getIssPriceFromCol = ( + // @ts-expect-error - BigDecimal is not a number + priceCOL?: BigDecimal | number, + // @ts-expect-error - BigDecimal is not a number + colPriceUSD?: BigDecimal | number +) => { + if (typeof priceCOL === 'number') { + priceCOL = BigDecimal(priceCOL) + } + + if (typeof colPriceUSD === 'number') { + colPriceUSD = BigDecimal(colPriceUSD) + } + + return (priceCOL ?? ZERO_BD).times(colPriceUSD ?? ZERO_BD) +} + +export const chains = [ + optimismSepolia, + polygonAmoy, + baseSepolia, + gnosisChiado, + polygonZkEvm, + polygonZkEvmCardona, + sepolia, + polygon, +] + +export const publicClients = chains.map((chain) => + createPublicClient({ + chain: chain as Chain, + transport: http(`https://rpc.inverter.network/main/evm/${chain.id}`), + batch: { multicall: true }, + cacheTime: 60 * 1000, // 1 minute + }) +) + +export const getPublicClient = (chainId: number) => + publicClients.find((client) => client.chain.id === chainId)