diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 70d8bba1..bf740ad8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: - name: Use supported Node.js Version uses: actions/setup-node@v6 with: - node-version: 24 + node-version: '24.20.0' registry-url: 'https://registry.npmjs.org' cache: 'pnpm' - name: Restore cached dependencies diff --git a/.gitignore b/.gitignore index b6d61a6a..53c13fc9 100644 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,6 @@ web/backend/openapi.json # profiles watt-admin-*.html + +# SSRT +.plt \ No newline at end of file diff --git a/README.md b/README.md index f4ac3e74..f0e00082 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,10 @@ Select a runtime: (Use arrow keys) If only one runtime is running, it will be selected automatically. +With Watt v4, Watt Admin enables metrics on the selected runtime before starting the dashboard, without restarting workers or replacing existing metrics options. This requires a Watt version that supports `PATCH /api/v1/metrics`. Changes are in-memory only and are not reverted when the dashboard closes. + +The Watt packages are pinned to `4.0.0-alpha.2`. + ### Custom Port Run Watt Admin on a different port: @@ -104,7 +108,7 @@ The generated HTML file contains everything you need for offline analysis—perf ### Prerequisites -- Node.js 18 or higher +- Node.js 24.20.0 or higher - A running Platformatic runtime to monitor ### Setup diff --git a/lib/start.d.ts b/lib/start.d.ts index d8c092a9..60808c1d 100644 --- a/lib/start.d.ts +++ b/lib/start.d.ts @@ -1,3 +1,3 @@ import type { RuntimeApiClient } from '@platformatic/control' -export declare function start (client: RuntimeApiClient, selectedRuntime: string): Promise +export declare function start (client: RuntimeApiClient, selectedRuntime: number | string): Promise diff --git a/lib/start.js b/lib/start.js index e19e914f..21cb2442 100644 --- a/lib/start.js +++ b/lib/start.js @@ -24,6 +24,9 @@ export async function start (client, selectedRuntime) { process.env.WATT_ADMIN_PORT = port || 4042 + // Enable collection on the selected runtime without replacing its existing metrics options. + await client.updateRuntimeMetricsConfig(Number(selectedRuntime), { enabled: true }) + const requestRecord = async (mode) => { return await request(`${entrypointUrl}/api/record/${selectedRuntime}`, { method: 'POST', @@ -53,12 +56,17 @@ export async function start (client, selectedRuntime) { const cwd = process.cwd() const root = join(import.meta.dirname, '..') process.chdir(root) - const server = await create('watt.json', undefined, { - setupSignals: false, - isProduction: true - }) - entrypointUrl = await server.start() - process.chdir(cwd) + let server + try { + server = await create('watt.config.js', undefined, { + setupSignals: false, + isProduction: true + }) + const urls = await server.start() + entrypointUrl = urls['composer:0'] + } finally { + process.chdir(cwd) + } if (record) { async function shutdown () { diff --git a/package.json b/package.json index 724b48e8..b3dd27cc 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,9 @@ "type": "module", "name": "@platformatic/watt-admin", "version": "1.3.0", + "engines": { + "node": ">=24.20.0" + }, "repository": { "url": "https://github.com/platformatic/watt-admin" }, @@ -29,13 +32,13 @@ "@fastify/type-provider-json-schema-to-ts": "^5.0.0", "@fastify/websocket": "^11.2.0", "@inquirer/prompts": "^8.0.0", - "@platformatic/control": "^3.36.0", - "@platformatic/gateway": "^3.36.0", - "@platformatic/runtime": "^3.36.0", - "@platformatic/service": "^3.36.0", + "@platformatic/control": "4.0.0-alpha.2", + "@platformatic/gateway": "4.0.0-alpha.2", + "@platformatic/runtime": "4.0.0-alpha.2", + "@platformatic/service": "4.0.0-alpha.2", "@platformatic/ui-components": "^0.20.0", - "@platformatic/vite": "^3.11.0", - "@platformatic/wattpm-pprof-capture": "^3.36.0", + "@platformatic/vite": "4.0.0-alpha.2", + "@platformatic/wattpm-pprof-capture": "4.0.0-alpha.2", "@scalar/api-reference-react": "^0.9.0", "@vitejs/plugin-react": "^5.0.4", "amaro": "^1.1.4", @@ -56,7 +59,7 @@ "use-error-boundary": "^2.0.6", "vite": "^7.1.9", "vite-plugin-singlefile": "^2.3.0", - "wattpm": "^3.36.0", + "wattpm": "4.0.0-alpha.2", "zustand": "^5.0.8" }, "devDependencies": { @@ -82,4 +85,4 @@ "bin": { "watt-admin": "cli.js" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3719f46b..ddb6826f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,32 +18,32 @@ importers: specifier: ^8.0.0 version: 8.3.2(@types/node@24.12.0) '@platformatic/control': - specifier: ^3.36.0 - version: 3.41.0 + specifier: 4.0.0-alpha.2 + version: 4.0.0-alpha.2(supports-color@7.2.0) '@platformatic/gateway': - specifier: ^3.36.0 - version: 3.41.0(chokidar@3.6.0)(typescript@5.9.3) + specifier: 4.0.0-alpha.2 + version: 4.0.0-alpha.2(chokidar@3.6.0)(supports-color@7.2.0) '@platformatic/runtime': - specifier: ^3.36.0 - version: 3.41.0 + specifier: 4.0.0-alpha.2 + version: 4.0.0-alpha.2(supports-color@7.2.0) '@platformatic/service': - specifier: ^3.36.0 - version: 3.41.0(typescript@5.9.3) + specifier: 4.0.0-alpha.2 + version: 4.0.0-alpha.2(supports-color@7.2.0) '@platformatic/ui-components': specifier: ^0.20.0 version: 0.20.0 '@platformatic/vite': - specifier: ^3.11.0 - version: 3.41.0 + specifier: 4.0.0-alpha.2 + version: 4.0.0-alpha.2(supports-color@7.2.0) '@platformatic/wattpm-pprof-capture': - specifier: ^3.36.0 - version: 3.41.0 + specifier: 4.0.0-alpha.2 + version: 4.0.0-alpha.2 '@scalar/api-reference-react': specifier: ^0.9.0 - version: 0.9.9(change-case@5.4.4)(react@19.2.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) + version: 0.9.9(change-case@5.4.4)(react@19.2.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) '@vitejs/plugin-react': specifier: ^5.0.4 - version: 5.2.0(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2)) + version: 5.2.0(supports-color@7.2.0)(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2)) amaro: specifier: ^1.1.4 version: 1.1.8 @@ -99,8 +99,8 @@ importers: specifier: ^2.3.0 version: 2.3.2(rollup@4.59.0)(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2)) wattpm: - specifier: ^3.36.0 - version: 3.41.0 + specifier: 4.0.0-alpha.2 + version: 4.0.0-alpha.2(supports-color@7.2.0) zustand: specifier: ^5.0.8 version: 5.0.12(@types/react@19.2.14)(react@19.2.4) @@ -128,7 +128,7 @@ importers: version: 8.18.1 eslint: specifier: ^9.37.0 - version: 9.39.4(jiti@1.21.7) + version: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) fastify-tsconfig: specifier: ^3.0.0 version: 3.0.0 @@ -140,7 +140,7 @@ importers: version: 1.2.0 neostandard: specifier: ^0.13.0 - version: 0.13.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) + version: 0.13.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) playwright: specifier: ^1.56.0 version: 1.58.2 @@ -155,7 +155,7 @@ importers: version: 5.9.3 vitest: specifier: ^4.0.0 - version: 4.1.0(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2)) + version: 4.1.0(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2)) ws: specifier: ^8.19.0 version: 8.19.0 @@ -234,10 +234,18 @@ packages: resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.28.5': resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} @@ -251,6 +259,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.29.9': + resolution: {integrity: sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-transform-react-jsx-self@7.27.1': resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} engines: {node: '>=6.9.0'} @@ -279,6 +292,10 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} + engines: {node: '>=6.9.0'} + '@codemirror/autocomplete@6.20.1': resolution: {integrity: sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==} @@ -528,14 +545,11 @@ packages: '@fastify/basic-auth@6.2.0': resolution: {integrity: sha512-Ao9Jf8TyW8v7p3CPy++c+E3qcCDeWfAlSIfFo0CsKrfvm81i0OCpnobIMwaSSkg/At0rzsLzbJPDWrgNru0G1w==} - '@fastify/cors@10.1.0': - resolution: {integrity: sha512-MZyBCBJtII60CU9Xme/iE4aEy8G7QpzGR8zkdXZkDFt7ElEMachbE61tfhAG/bvSaULlqlf0huMT12T7iqEmdQ==} - - '@fastify/deepmerge@1.3.0': - resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} + '@fastify/cors@11.3.1': + resolution: {integrity: sha512-gZXNzd6FLHzOIfvoK4+Az3Wko2V6Y0MIsLxpyo4AEYl7a9q1JBPwPaxLea4nkr++8FCiJiPpYYo6E02uZW0dqw==} - '@fastify/deepmerge@2.0.2': - resolution: {integrity: sha512-3wuLdX5iiiYeZWP6bQrjqhrcvBIf0NHbQH1Ur1WbHvoiuTYUEItgygea3zs8aHpiitn0lOB8gX20u1qO+FDm7Q==} + '@fastify/deepmerge@3.2.2': + resolution: {integrity: sha512-155eqA/WMQdN6gUD4RrhS2K0Pcz2Ou9pQ86L0sipOpP9ONbTA6oYw/hW4VdBjR4egcDHqmWUK9x80oUX7S1mDQ==} '@fastify/error@4.2.0': resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==} @@ -546,8 +560,8 @@ packages: '@fastify/forwarded@3.0.1': resolution: {integrity: sha512-JqDochHFqXs3C3Ml3gOY58zM7OqO9ENqPo0UqAjAjH8L01fRZqwX9iLeX34//kiJubF7r2ZQHtBRU36vONbLlw==} - '@fastify/http-proxy@11.4.1': - resolution: {integrity: sha512-sMYEIB0c7qCYutpZyS12c8xnVgmEMSUUVU2XjcNq2JzHf6Hta1BWcpnG5FXxR3WEm48uZNCi0MxnIYtwjwd21Q==} + '@fastify/http-proxy@11.6.4': + resolution: {integrity: sha512-JPsbLX9D5X5yES1A6M2yx1i2PGf8eNyKT48j+6pgLIwxfRYpj1MEzR1CwASRvqdZOWhcPmdsZiIKehSgioW6ww==} '@fastify/merge-json-schemas@0.1.1': resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} @@ -558,14 +572,14 @@ packages: '@fastify/proxy-addr@5.1.0': resolution: {integrity: sha512-INS+6gh91cLUjB+PVHfu1UqcB76Sqtpyp7bnL+FYojhjygvOPA9ctiD/JDKsyD9Xgu4hUhCSJBPig/w7duNajw==} - '@fastify/reply-from@12.6.1': - resolution: {integrity: sha512-J95lfqd6wWhAF5Lx1Tt2Htaite/Bmk9bEAsGFR8+YakjCdgOPK+WX9IUeRXUX4e7bdf23rP/+xPPf/vICAs73Q==} + '@fastify/reply-from@12.7.1': + resolution: {integrity: sha512-F26CIcy6PKqyhsTwQI7p5UwH5vrv2yz7BOqAnkHTmNVSU9J+vmRh8CNfOk/ZD8AjcKbiyRkNl6Lb3AuJdxIADQ==} '@fastify/send@4.1.0': resolution: {integrity: sha512-TMYeQLCBSy2TOFmV95hQWkiTYgC/SEx7vMdV+wnZVX4tt8VBLKzmH8vV9OzJehV0+XBfg+WxPMt5wp+JBUKsVw==} - '@fastify/static@8.3.0': - resolution: {integrity: sha512-yKxviR5PH1OKNnisIzZKmgZSus0r2OZb8qCSbqmw34aolT4g3UlzYfeBRym+HJ1J471CR8e2ldNub4PubD1coA==} + '@fastify/static@10.1.6': + resolution: {integrity: sha512-f3x9XisI+y6AIhIfA/+Q3SFsuXeqNNk5HQh5htgHsPxmMLb4pLFskV6eFaLSW3IbI4azrS5np+/tkzXNH99LyQ==} '@fastify/static@9.0.0': resolution: {integrity: sha512-r64H8Woe/vfilg5RTy7lwWlE8ZZcTrc3kebYFMEUBrMqlydhQyoiExQXdYAy2REVpST/G35+stAM8WYp1WGmMA==} @@ -579,8 +593,8 @@ packages: '@fastify/under-pressure@9.0.3': resolution: {integrity: sha512-uWzyFn9ThgGgynxyoX/kqgLtPtNBXXvQgN3U8fSRPNBS1y5mEZC/uCBRx03hXm9PDsQwTGN7qt83ItsHVQ0L4A==} - '@fastify/view@10.0.2': - resolution: {integrity: sha512-tGjXFyDUMj5a+E8BBrQ2wpsVnpOfMq3cqy4WD8pnjWPE/HGNItBASUPoPUcX/QjPhxfuZZTYv2XdCmKXdcMZPw==} + '@fastify/view@12.0.1': + resolution: {integrity: sha512-f5iQVXSUVtWIJ+DfGzQ+hoD6390X2QRibmOfs4LxToxupmAMz4bnHnEQoE4VMqL+yqRlsKY17gOW0CEL5W0HKg==} '@fastify/websocket@11.2.0': resolution: {integrity: sha512-3HrDPbAG1CzUCqnslgJxppvzaAZffieOVbLp1DAy1huCSynUWPifSvfdEDUR8HlJLp3sp1A36uOM2tJogADS8w==} @@ -788,9 +802,8 @@ packages: '@internationalized/number@3.6.5': resolution: {integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==} - '@isaacs/cliui@9.0.0': - resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} - engines: {node: '>=18'} + '@iovalkey/commands@0.1.0': + resolution: {integrity: sha512-/B9W4qKSSITDii5nkBCHyPkIkAi+ealUtr1oqBJsLxjSRLka4pxun2VvMNSmcwgAMxgXtQfl0qRv7TE+udPJzg==} '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -848,6 +861,36 @@ packages: '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} + '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': + resolution: {integrity: sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==} + cpu: [arm64] + os: [darwin] + + '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.4': + resolution: {integrity: sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==} + cpu: [x64] + os: [darwin] + + '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.4': + resolution: {integrity: sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==} + cpu: [arm64] + os: [linux] + + '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.4': + resolution: {integrity: sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==} + cpu: [arm] + os: [linux] + + '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.4': + resolution: {integrity: sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==} + cpu: [x64] + os: [linux] + + '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4': + resolution: {integrity: sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==} + cpu: [x64] + os: [win32] + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -860,276 +903,270 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@opentelemetry/api-logs@0.203.0': - resolution: {integrity: sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ==} + '@opentelemetry/api-logs@0.219.0': + resolution: {integrity: sha512-FFx7YnaYJlIjqWW/AG/yAZ0L/NEY724PipXXXQLdtZPbLwBGbUMTGL1i/esI56TWfTUXxhLfpgrnWJCG8aUJyg==} engines: {node: '>=8.0.0'} - '@opentelemetry/api-logs@0.206.0': - resolution: {integrity: sha512-yIVDu9jX//nV5wSMLZLdHdb1SKHIMj9k+wQVFtln5Flcgdldz9BkHtavvExQiJqBZg2OpEEJEZmzQazYztdz2A==} + '@opentelemetry/api-logs@0.220.0': + resolution: {integrity: sha512-CmVa4ImJ+ynfrPMNaAXHET6Bhb44SwzmfyVJFq9ni2jgXJR/l7C6gfVFddNmHP+ZOkP9cf4f9DBe68qVLTHc9w==} engines: {node: '>=8.0.0'} '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} - '@opentelemetry/context-async-hooks@2.0.1': - resolution: {integrity: sha512-XuY23lSI3d4PEqKA+7SLtAgwqIfc6E/E9eAQWLN1vlpC53ybO3o6jW4BsXo1xvz9lYyyWItfQDDLzezER01mCw==} + '@opentelemetry/api@1.9.1': + resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} + engines: {node: '>=8.0.0'} + + '@opentelemetry/configuration@0.219.0': + resolution: {integrity: sha512-wXZUYv4ngu43nA4WEhuXNacm46LW+17LRM8nKyIhBzroRA24PBYjMnakwzR/w777nFUB5xlgsYTTeuXxumZM1Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/api': ^1.9.0 - '@opentelemetry/core@2.0.1': - resolution: {integrity: sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw==} + '@opentelemetry/context-async-hooks@2.8.0': + resolution: {integrity: sha512-/3FIraneMcng67SUJCxvyInk/oxzwsxyadufk0wwfOBLf5wqtAGX4MoQASwSbndBPeARzBryUM9Azr5kHIdWLw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@2.1.0': - resolution: {integrity: sha512-RMEtHsxJs/GiHHxYT58IY57UXAQTuUnZVco6ymDEqTNlJKTimM4qPUPVe8InNFyBjhHBEAx4k3Q8LtNayBsbUQ==} + '@opentelemetry/core@2.12.0': + resolution: {integrity: sha512-1HsSAuvT4/my0QrXWsyXFdWjKaPeCHsismKZgEEIb8NK13LP6DrMRlsUbvD/0F9mDWK3xDom9AMv3IscxgOnOQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@2.6.0': - resolution: {integrity: sha512-HLM1v2cbZ4TgYN6KEOj+Bbj8rAKriOdkF9Ed3tG25FoprSiQl7kYc+RRT6fUZGOvx0oMi5U67GoFdT+XUn8zEg==} + '@opentelemetry/core@2.8.0': + resolution: {integrity: sha512-hd1Lfh8p545nNz+jq1Ejfz+Mn1hyLuxYn1YzTfFNrxr8urEWMNQLPf1Th8kjOH+HxwawCrtgBp8JpBUR4ZSgww==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/exporter-logs-otlp-grpc@0.203.0': - resolution: {integrity: sha512-g/2Y2noc/l96zmM+g0LdeuyYKINyBwN6FJySoU15LHPLcMN/1a0wNk2SegwKcxrRdE7Xsm7fkIR5n6XFe3QpPw==} + '@opentelemetry/core@2.9.0': + resolution: {integrity: sha512-m2nckMT80NnmjTYSPjJQObBJ+8dgkoajEOUbznL8AHZ3T3yHRk2P7gI1PhEBc1+lOnrYE9UWrWHqJDsmqjmNbw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: - '@opentelemetry/api': ^1.3.0 + '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/exporter-logs-otlp-grpc@0.206.0': - resolution: {integrity: sha512-kJKxKBaGwqWop95d6tcluz260IWwIgOG0BH8oVm6429tg8LxY2PJb7Om8d5s+5vOFM8DkUYCnIpn9d/13/RcKQ==} + '@opentelemetry/exporter-logs-otlp-grpc@0.219.0': + resolution: {integrity: sha512-7SvzDCIclHWAcCwZ1MTOLcwn4BVNPGI3QxS/DJraPNe1TTL+4TvUBq5zeQV8tsnYvtDN7wKW2qocVmaCP2l7sQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-logs-otlp-http@0.203.0': - resolution: {integrity: sha512-s0hys1ljqlMTbXx2XiplmMJg9wG570Z5lH7wMvrZX6lcODI56sG4HL03jklF63tBeyNwK2RV1/ntXGo3HgG4Qw==} + '@opentelemetry/exporter-logs-otlp-grpc@0.220.0': + resolution: {integrity: sha512-s0sRPCSlXYqlgObOpCftomJllp3LfUL9FobQ5csg2172ydVhSEnu1ptpsVBJadazs5nUNp7vDuLE03FAFWTLOQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-logs-otlp-http@0.206.0': - resolution: {integrity: sha512-VWcHEnS+1kN+sQTAdCgSn2anqHPxY1/e52fhpe2mcSnEaXI1srFf3RU5DAu7hzQO6T9DPQzOKG8kc76vCtyYDw==} + '@opentelemetry/exporter-logs-otlp-http@0.219.0': + resolution: {integrity: sha512-mhl2HL6GmZI8b8PwPfqMws/5ovJfbRTxwc9Y5agVVHiQ+e5SL1btsFr/kJDgt7YCexDtsUn5HAreHQO9szFS0A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-logs-otlp-proto@0.203.0': - resolution: {integrity: sha512-nl/7S91MXn5R1aIzoWtMKGvqxgJgepB/sH9qW0rZvZtabnsjbf8OQ1uSx3yogtvLr0GzwD596nQKz2fV7q2RBw==} + '@opentelemetry/exporter-logs-otlp-http@0.220.0': + resolution: {integrity: sha512-8186thl+pTw64iz/qEEen5oJZoZ/gO73XruChdaGlYdWOdBIQ42r+vHLf6a7vIDqTD4b8ZOoMlyxptanECaI9A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-logs-otlp-proto@0.206.0': - resolution: {integrity: sha512-CsYNXJwkn1qCXJGE+/JvvYucAjL8rpaxa2hnl+tDP6M5E0O3UVa8zG4ZUEebjr5J5Nc32egvslEZx5rgNOp3lQ==} + '@opentelemetry/exporter-logs-otlp-proto@0.219.0': + resolution: {integrity: sha512-Ayw4Gf71PS9jhBVaYywa4WsajnqfDehMkTdVH3TSAVHqPcsAv/AhH/wTNRYNt99szeYr6Gbd/D6RjZD77wAxHg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-grpc@0.203.0': - resolution: {integrity: sha512-FCCj9nVZpumPQSEI57jRAA89hQQgONuoC35Lt+rayWY/mzCAc6BQT7RFyFaZKJ2B7IQ8kYjOCPsF/HGFWjdQkQ==} + '@opentelemetry/exporter-logs-otlp-proto@0.220.0': + resolution: {integrity: sha512-8LZAxdJ0ENDAFwr4j0oY35mHBltiSzvlhdQAPGiC7p9VnxtuSq4SW1gfBAdW6t6hiQG6OwUl8w7KHaOdJPKHWg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-http@0.203.0': - resolution: {integrity: sha512-HFSW10y8lY6BTZecGNpV3GpoSy7eaO0Z6GATwZasnT4bEsILp8UJXNG5OmEsz4SdwCSYvyCbTJdNbZP3/8LGCQ==} + '@opentelemetry/exporter-metrics-otlp-grpc@0.219.0': + resolution: {integrity: sha512-6LaaSrPxK5L55bXevWajvOMxGOpNm0n12tG53TeZaUeNzXwLPg6d2KCC1zAlGsojan+xRG71mA4Qqs9K2VVrKQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-metrics-otlp-proto@0.203.0': - resolution: {integrity: sha512-OZnhyd9npU7QbyuHXFEPVm3LnjZYifuKpT3kTnF84mXeEQ84pJJZgyLBpU4FSkSwUkt/zbMyNAI7y5+jYTWGIg==} + '@opentelemetry/exporter-metrics-otlp-http@0.219.0': + resolution: {integrity: sha512-6CaDRbMVHZSDWzNXwrR8y/H4B/Z1eMNnkHiPQlTx3Ojz2OHY4X/aff/UC4P/3pHUQSuTfi3oh2UsPPZppw+Vrg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-prometheus@0.203.0': - resolution: {integrity: sha512-2jLuNuw5m4sUj/SncDf/mFPabUxMZmmYetx5RKIMIQyPnl6G6ooFzfeE8aXNRf8YD1ZXNlCnRPcISxjveGJHNg==} + '@opentelemetry/exporter-metrics-otlp-proto@0.219.0': + resolution: {integrity: sha512-DUS7XyIiEnoeccQUvuKy0G2/YqeKhpN8FVIrGbrLNIVMj10yeIFLRzRv0tibCI2kXXvlTTABVexGAk78wHk2ug==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-grpc@0.203.0': - resolution: {integrity: sha512-322coOTf81bm6cAA8+ML6A+m4r2xTCdmAZzGNTboPXRzhwPt4JEmovsFAs+grpdarObd68msOJ9FfH3jxM6wqA==} + '@opentelemetry/exporter-prometheus@0.219.0': + resolution: {integrity: sha512-TxOnJ85eWJY5JyOJsNMXiRTYlkDcOv0u3KbXEzWCc+tUS9sjL/BC6BcdxZ0B9r2OFVqsrZFXUzSD2sZUy42Ucw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-http@0.203.0': - resolution: {integrity: sha512-ZDiaswNYo0yq/cy1bBLJFe691izEJ6IgNmkjm4C6kE9ub/OMQqDXORx2D2j8fzTBTxONyzusbaZlqtfmyqURPw==} + '@opentelemetry/exporter-trace-otlp-grpc@0.219.0': + resolution: {integrity: sha512-BkDNv1UD6BscW19MxbAxVmSYSSFuyeqR6buV2/HTYqA7GrR0EbTFzqG6h86T3PtXmpdbsWjMGLDdjG2rikG27Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-trace-otlp-proto@0.203.0': - resolution: {integrity: sha512-1xwNTJ86L0aJmWRwENCJlH4LULMG2sOXWIVw+Szta4fkqKVY50Eo4HoVKKq6U9QEytrWCr8+zjw0q/ZOeXpcAQ==} + '@opentelemetry/exporter-trace-otlp-http@0.219.0': + resolution: {integrity: sha512-9t6SvBXXBEjOBcIzgozvBbd3jWrv3Gt3ngGhl1fhdZ/zRc7oZDVOFEqbi2zlBpW9BXhgDMKv422J0DL/3iQWfw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-zipkin@2.0.1': - resolution: {integrity: sha512-a9eeyHIipfdxzCfc2XPrE+/TI3wmrZUDFtG2RRXHSbZZULAny7SyybSvaDvS77a7iib5MPiAvluwVvbGTsHxsw==} + '@opentelemetry/exporter-trace-otlp-proto@0.219.0': + resolution: {integrity: sha512-lF/LUBfhOFmxJa+SQsLN7ziV4MHa2pyKgOM6JNehSOfU+npjM4gwm9oIKEJrzrWcexMcqydiyoFy0XCb1Ql3wQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: - '@opentelemetry/api': ^1.0.0 + '@opentelemetry/api': ^1.3.0 - '@opentelemetry/exporter-zipkin@2.6.0': - resolution: {integrity: sha512-AFP77OQMLfw/Jzh6WT2PtrywstNjdoyT9t9lYrYdk1s4igsvnMZ8DkZKCwxsItC01D+4Lydgrb+Wy0bAvpp8xg==} + '@opentelemetry/exporter-zipkin@2.8.0': + resolution: {integrity: sha512-Mj84UkEa17BK2o903VTXW3wM8CrSZexGs4tRGVZVIMM9ni1T6TuGx5IrRfoWKAbshx42D5/kc7YV+axypLPYyA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/instrumentation-http@0.203.0': - resolution: {integrity: sha512-y3uQAcCOAwnO6vEuNVocmpVzG3PER6/YZqbPbbffDdJ9te5NkHEkfSMNzlC3+v7KlE+WinPGc3N7MR30G1HY2g==} + '@opentelemetry/instrumentation-http@0.219.0': + resolution: {integrity: sha512-nNt1fqpyah/OKjNHdEOu8xLwISppRU2qJuF8aR+fCcftVwdFkPgtworBLA+TI1HU2iF508jcQBF2gerWczJAXg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-undici@0.14.0': - resolution: {integrity: sha512-2HN+7ztxAReXuxzrtA3WboAKlfP5OsPA57KQn2AdYZbJ3zeRPcLXyW4uO/jpLE6PLm0QRtmeGCmfYpqRlwgSwg==} + '@opentelemetry/instrumentation-undici@0.29.0': + resolution: {integrity: sha512-SnA+0XgGc595jtnwFVfWy7Vgfr5hle4D5YKIlm0U4z8aK9YoCZVUn1xAkVZ2evaJyykiDF50FBzr1XZ0uj8CPA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.7.0 - '@opentelemetry/instrumentation@0.203.0': - resolution: {integrity: sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ==} + '@opentelemetry/instrumentation@0.219.0': + resolution: {integrity: sha512-X5t7I8GyIO9rmGHwoedZLREpQqrF1WW2nxzNNym6HOKpFiE+rvqV3ngC0xcZVO2YwIGf3KKmRdWrYwdwz3H9RQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-exporter-base@0.203.0': - resolution: {integrity: sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ==} + '@opentelemetry/otlp-exporter-base@0.219.0': + resolution: {integrity: sha512-zvIxQX/AZUVKDU+hCuYx+7UkiP7GRdnk1ZbFQRYzHvYp47cAWR4j3IhoPhV9KaeXEv2xdGq3IA6PnpzDmLcmSA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-exporter-base@0.206.0': - resolution: {integrity: sha512-Rv54oSNKMHYS5hv+H5EGksfBUtvPQWFTK+Dk6MjJun9tOijCsFJrhRFvAqg5d67TWSMn+ZQYRKIeXh5oLVrpAQ==} + '@opentelemetry/otlp-exporter-base@0.220.0': + resolution: {integrity: sha512-CXYo8UD5Mn9YbgebO2EL4wejtA+gxLmLiu6HCk2KH2BR7XhFN6/6p1UlCb23DYCjeYkndevLHuejCCN1yx4+OQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-grpc-exporter-base@0.203.0': - resolution: {integrity: sha512-te0Ze1ueJF+N/UOFl5jElJW4U0pZXQ8QklgSfJ2linHN0JJsuaHG8IabEUi2iqxY8ZBDlSiz1Trfv5JcjWWWwQ==} + '@opentelemetry/otlp-grpc-exporter-base@0.219.0': + resolution: {integrity: sha512-iIk/s8QQu39zpTrRRmsW/Eg3SE2+Hg8tLWepr2FLRgmwUpNd0IpCTLJEHJ77hpt4hgIS8MAh44UYI4xQPZwWlw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-grpc-exporter-base@0.206.0': - resolution: {integrity: sha512-IA8EDbrB8OKtidMqErBY8sUc9mh03LOXuNPwp4/rdPrxSt45g1gBuZMovRXdEWfRyKKbF2E7MdipT2m11bs6SQ==} + '@opentelemetry/otlp-grpc-exporter-base@0.220.0': + resolution: {integrity: sha512-/eIkBPMBTIvM3x/0mDX4aJeSkYifYClnBPr68PL1h5LV4VQv4+SV6CGrpiZ4fIWDnobVmhTWCm1J/QRdAWUfvA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-transformer@0.203.0': - resolution: {integrity: sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A==} + '@opentelemetry/otlp-transformer@0.219.0': + resolution: {integrity: sha512-aaYKAyXhw9VchKZVGOopD3Gw/kPsyrX2c6IQ0AW32mTjqmZOh5Y6Gf5OYqTNqVktAeBjmFinhyFaCwW6GYK9YQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/otlp-transformer@0.206.0': - resolution: {integrity: sha512-Li2Cik1WnmNbU2mmTnw7DxvRiXhMcnAuTfAclP8y/zy7h5+GrLDpTZ+Z0XUs+Q3MLkb/h3ry4uFrC/z+2a6X7g==} + '@opentelemetry/otlp-transformer@0.220.0': + resolution: {integrity: sha512-lXGrv7KXZ0gNH9SVNUaa6vv6phVYGvJxfXAlMbzbakiXru75f5MZl8Z7oqiMMQD77riVHJCFlQvbZs/VVN2/4A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/propagator-b3@2.0.1': - resolution: {integrity: sha512-Hc09CaQ8Tf5AGLmf449H726uRoBNGPBL4bjr7AnnUpzWMvhdn61F78z9qb6IqB737TffBsokGAK1XykFEZ1igw==} + '@opentelemetry/propagator-b3@2.8.0': + resolution: {integrity: sha512-SazlvuSKi5533rPHTW2TwBwdMakhjZST4SYs0YauuvfGDkT13KbG1gJS75hV0uWVeevhtVP9sAIlaZLTHdSbMg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/propagator-jaeger@2.0.1': - resolution: {integrity: sha512-7PMdPBmGVH2eQNb/AtSJizQNgeNTfh6jQFqys6lfhd6P4r+m/nTh3gKPPpaCXVdRQ+z93vfKk+4UGty390283w==} + '@opentelemetry/propagator-jaeger@2.8.0': + resolution: {integrity: sha512-Xnz9zZvvQzUw+9DrOn0MomR7BxFCkA2pcfXBQuHC28ndJpSbjLs7knzYb05kw5SyCjSsEWombkZMgGcJSk8JVg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/resources@2.0.1': - resolution: {integrity: sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw==} + '@opentelemetry/resources@2.12.0': + resolution: {integrity: sha512-+rSRoOdln6NhXTVcBdHSlZxJDNzwxadeweK2ltZO3tVtfp6aklABc06xclDk6ovRR+EiGgIcSbh/6NgjFhnb3A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/resources@2.1.0': - resolution: {integrity: sha512-1CJjf3LCvoefUOgegxi8h6r4B/wLSzInyhGP2UmIBYNlo4Qk5CZ73e1eEyWmfXvFtm1ybkmfb2DqWvspsYLrWw==} + '@opentelemetry/resources@2.8.0': + resolution: {integrity: sha512-qmXQ27ilDbUK/vGMqwL8D4/rhn76C+sherM4wTbjlfknR8Nvfc/hCxjRJPhkzZzUsPiNg16SA31NxMabwttRjg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/resources@2.6.0': - resolution: {integrity: sha512-D4y/+OGe3JSuYUCBxtH5T9DSAWNcvCb/nQWIga8HNtXTVPQn59j0nTBAgaAXxUVBDl40mG3Tc76b46wPlZaiJQ==} + '@opentelemetry/resources@2.9.0': + resolution: {integrity: sha512-jyA5MBLQ+Dkl3+JsZkUoUvL7yHvU64kLsvpXKarWm6347Sl1t1bXFTFykUePNpT5WH5pm9a2Qtt03iIYQhZ1Fg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-logs@0.203.0': - resolution: {integrity: sha512-vM2+rPq0Vi3nYA5akQD2f3QwossDnTDLvKbea6u/A2NZ3XDkPxMfo/PNrDoXhDUD/0pPo2CdH5ce/thn9K0kLw==} + '@opentelemetry/sdk-logs@0.219.0': + resolution: {integrity: sha512-s6lTKRakaPClvKoWHRChxnXjDMkM/TQ30ff78jN6EBGf7MI7VzANE5PU3f4z9qDUudWjvZjOLHG0rBnBKYvoXA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' - '@opentelemetry/sdk-logs@0.206.0': - resolution: {integrity: sha512-SQ2yTmqe4Mw9RI3a/glVkfjWPsXh6LySvnljXubiZq4zu+UP8NMJt2j82ZsYb+KpD7Eu+/41/7qlJnjdeVjz7Q==} + '@opentelemetry/sdk-logs@0.220.0': + resolution: {integrity: sha512-WywcTkQtv2iNmt+6y5Kcd4rzvx9bLVsBa2Nwcmg01IUaBTkTow3W4d9KE5vNBpEDtb9tp21WcRBY/lANRrApYA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.4.0 <1.10.0' - '@opentelemetry/sdk-metrics@2.0.1': - resolution: {integrity: sha512-wf8OaJoSnujMAHWR3g+/hGvNcsC16rf9s1So4JlMiFaFHiE4HpIA3oUh+uWZQ7CNuK8gVW/pQSkgoa5HkkOl0g==} + '@opentelemetry/sdk-metrics@2.8.0': + resolution: {integrity: sha512-UDBGaj6W0Rgy5rTTaoxs8gVGF/aGkAKyjurJv7se6wjRxJu7FoquTLT/vt54DZfo4crbprYfhX/SOK9+BPw1qg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.9.0 <1.10.0' - '@opentelemetry/sdk-metrics@2.1.0': - resolution: {integrity: sha512-J9QX459mzqHLL9Y6FZ4wQPRZG4TOpMCyPOh6mkr/humxE1W2S3Bvf4i75yiMW9uyed2Kf5rxmLhTm/UK8vNkAw==} + '@opentelemetry/sdk-metrics@2.9.0': + resolution: {integrity: sha512-Xx8RGS4H5XEBl01WuCreMIpiah9cCXMbSkeuIePPdD2cUpq/vUzYmj8E/MK1OsbOc93FuAD4jfn2WOacKwLn7Q==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.9.0 <1.10.0' - '@opentelemetry/sdk-node@0.203.0': - resolution: {integrity: sha512-zRMvrZGhGVMvAbbjiNQW3eKzW/073dlrSiAKPVWmkoQzah9wfynpVPeL55f9fVIm0GaBxTLcPeukWGy0/Wj7KQ==} + '@opentelemetry/sdk-node@0.219.0': + resolution: {integrity: sha512-NWLpWLEb8gV3+JBHYoIrktbM385wyHpRJoh3J/4Q52d4PR+AlPMNGJT3DzBUrDSUEVbKAXoHR+EDAPxtiNcj8g==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-base@2.0.1': - resolution: {integrity: sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ==} + '@opentelemetry/sdk-trace-base@2.8.0': + resolution: {integrity: sha512-mhU4jp+vW0mGbFRd+GeXHvmfA4aDqWjBjLC3pE5XMpLs0IE2ryYb019Ts2AQrOq67gaTF25D91+fgvEHDZEnuQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-base@2.1.0': - resolution: {integrity: sha512-uTX9FBlVQm4S2gVQO1sb5qyBLq/FPjbp+tmGoxu4tIgtYGmBYB44+KX/725RFDe30yBSaA9Ml9fqphe1hbUyLQ==} + '@opentelemetry/sdk-trace-node@2.8.0': + resolution: {integrity: sha512-nZt9OGufioAc3AfoLTqA9bsAeaMJAictYDdI2VcNQ+PmT+3rfKjAZDZvgPfd8VPX0O5Bw1hdQF6kDK8VSpZiWg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: - '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/sdk-trace-base@2.6.0': - resolution: {integrity: sha512-g/OZVkqlxllgFM7qMKqbPV9c1DUPhQ7d4n3pgZFcrnrNft9eJXZM2TNHTPYREJBrtNdRytYyvwjgL5geDKl3EQ==} + '@opentelemetry/sdk-trace@2.9.0': + resolution: {integrity: sha512-sGA19HvtrrSKYsseHphluH6j3p6Xa3fqc7c7y8f/7mYWejc1lyDFcpSdD1kYa50HCLUeEo4zA5bW0pniaPszuw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-node@2.0.1': - resolution: {integrity: sha512-UhdbPF19pMpBtCWYP5lHbTogLWx9N0EBxtdagvkn5YtsAnCBZzL7SjktG+ZmupRgifsHMjwUaCCaVmqGfSADmA==} - engines: {node: ^18.19.0 || >=20.6.0} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - - '@opentelemetry/semantic-conventions@1.36.0': - resolution: {integrity: sha512-TtxJSRD8Ohxp6bKkhrm27JRHAxPczQA7idtcTOMYI+wQRRrfgqxHv1cFbCApcSnNjtXkmzFozn6jQtFrOmbjPQ==} - engines: {node: '>=14'} - - '@opentelemetry/semantic-conventions@1.40.0': - resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==} + '@opentelemetry/semantic-conventions@1.41.1': + resolution: {integrity: sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA==} engines: {node: '>=14'} '@phosphor-icons/core@2.1.1': @@ -1138,46 +1175,51 @@ packages: '@pinojs/redact@0.4.0': resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} - '@platformatic/basic@3.41.0': - resolution: {integrity: sha512-6zr42yzT/WogtVwp0y34WfHwYGGOWIfpuSgqQkcWc187saLkQUcGwHbxikeIG3I1/S+SbVE6hef4VBmgYDYUAA==} - engines: {node: '>=22.19.0'} + '@platformatic/basic@4.0.0-alpha.2': + resolution: {integrity: sha512-xaTcL+VcHxBGiMLKfYAf5mvMUkB9L1OxLIkD3vl5NLJOBWejg4Z0ahp9NVnYcMjv0TuN6PlG+vRD00odqD19Hw==} + engines: {node: '>=24.20.0'} - '@platformatic/control@3.41.0': - resolution: {integrity: sha512-ytNHiVHu1dFqjPhu0oBUxH7s/c0KdLa6Y3WuqOIj/LxpSO0TkTXgN1UEQ+yDTQRkisvb2COnfwXDTcDrKCHCYQ==} - engines: {node: '>=22.19.0'} + '@platformatic/control@4.0.0-alpha.2': + resolution: {integrity: sha512-1HYv4cd8Luz22POIU5tOKvQpnrM/4RiWDUrJNyqjsjeBUmp56xj60cDeXRi5yTmfehoI2iGMMxXlzQ1E5podDg==} + engines: {node: '>=24.20.0'} - '@platformatic/fastify-openapi-glue@5.1.0': - resolution: {integrity: sha512-R5bHPQast/w5p+I+/Y5X1r+A8Fxqn7z0etWeaSYrFkbLvvGTEFGvldu0QGXnKjHo6XQo0P2o6D6gNr5uc36ZEA==} + '@platformatic/dynamic-buffer@0.4.0': + resolution: {integrity: sha512-eCL++LyBjSsqalm4I67dl+gVqLSKd6gPYCieD72S5KqqAkmSAgAYNHt+lL+iVXssWPSfbuIJ5PEwpn5JVD73Xw==} + engines: {node: '>= 22.19.0'} - '@platformatic/foundation@3.41.0': - resolution: {integrity: sha512-3KRd2DzZPGnq1crArmpv/2ukUyDwua0BG0SK0wmJzr6ZjbGUeQGHZ3bTzGiW/CRURZnheMawyWzLRKZ3BEIBnw==} - engines: {node: '>=22.19.0'} + '@platformatic/fastify-openapi-glue@5.2.0': + resolution: {integrity: sha512-5Syxh9EHCcxwrTvqRm2jv9Lpw7AUni3EWK95/5aFtIFAtz+POxlCbMaHcz3rdAD+D44nd1ZGqWa6wZ6dKNTqlg==} - '@platformatic/gateway@3.41.0': - resolution: {integrity: sha512-QAsIg/0nK+Wsw3x706hAl5y9Cnckvm6dK0KigeaeIr+2hQ+I/TQ8GmwLxn5/dMKxZ5uWcGm3Y88i2N3FpD+gMg==} - engines: {node: '>=22.19.0'} + '@platformatic/foundation@4.0.0-alpha.2': + resolution: {integrity: sha512-6KzKv6Rfm3aEBexcHRmO4hwhFogZoLQPkPnNDPb8AFX4u8ulYvPGXPyalGaepakpvQtx+KJpanyR83AzYBVfGQ==} + engines: {node: '>=24.20.0'} - '@platformatic/generators@3.41.0': - resolution: {integrity: sha512-3wNIX0LXmkS34VofrX+NLkW0zCJAHLDTVPG6oQnTpsC2kJQBz9DMvYgNZPIA1oNNSuYoQL0+V4+Qj4AV1gzyyA==} - engines: {node: '>=22.19.0'} + '@platformatic/gateway@4.0.0-alpha.2': + resolution: {integrity: sha512-nFokvfykp4YBNdKUvlZVUpxm4326O1M+tbclTufuVDbnMwWYz5UHSSjjoxhl45ajEElqIvgKOEduvYrVkQsGMg==} + engines: {node: '>=24.20.0'} + + '@platformatic/generators@4.0.0-alpha.2': + resolution: {integrity: sha512-bk6rSAmwTMbezauBpvclKkz5S2uVOTaXHBsMJNspfqwBTv9Ca6MtcrX00yw0WXt8JI6JoMwrpm5/CBYOctA9zA==} + engines: {node: '>=24.20.0'} - '@platformatic/graphql-composer@0.10.1': - resolution: {integrity: sha512-c10wlGoAOgD8dMP1HyyCOK5qUi9o+TPlMZ1fj0AL8D49aDKZczkMsR6V+rNa4jPrujxWPGQlylJNEgF7HXOGsg==} + '@platformatic/globals@4.0.0-alpha.2': + resolution: {integrity: sha512-FnDBQ+LvZB4lWZVXJmJtyh7uDsIAFzdAEMu5xfLyHV5Rq0tBKSjf5RuKhlU8geSSEon38EiKgXtFlicgdYMWqQ==} + engines: {node: '>=24.20.0'} '@platformatic/http-metrics@0.3.0': resolution: {integrity: sha512-e+wQJDCd9v7yKeV4u30ibAe5uGB14k+jDw1w9FqsM3tDgFY0UEHb24hJR9j2bVa6091e+ppGy3L4LhyUR92M0w==} - '@platformatic/itc@3.41.0': - resolution: {integrity: sha512-wrGVupCHmvLXRl/7A0I+T0Nrc2avUqvYXeg3mK3UpbA9QoR9bki9NOHtznqs7nC97HPDXiDp1+bfldT4GvVu/g==} - engines: {node: '>=22.19.0'} + '@platformatic/itc@4.0.0-alpha.2': + resolution: {integrity: sha512-1Qb9gp42zt6YI6hIAe0wosAPUQcsYbS6ehcxQG/l0er1l9xM2IxYDc84XLyLsHEYDS+avV5osTjSE/Oxhkz/qA==} + engines: {node: '>=24.20.0'} - '@platformatic/metrics@3.41.0': - resolution: {integrity: sha512-m2NPVOhxmhKV8F2K+vR0qvPky+o8p6UhkyE8Z0+FH19p5gKNH/FHj9u3c0tLkXZsCIqM2hEgvC/M79QTUgQClw==} - engines: {node: '>=22.19.0'} + '@platformatic/metrics@4.0.0-alpha.2': + resolution: {integrity: sha512-1V/f11R3TvDAzCQMv8Umtafj0xZXOJaxFFe0T19QyiSqRrdW6dw6o/P4zK7PyPfH70F2oxixU6AQy5dtCQljWw==} + engines: {node: '>=24.20.0'} - '@platformatic/node@3.41.0': - resolution: {integrity: sha512-GxYivknEhCoI+66yf7dLOcJXnig1U4kSE1IORUDm3V3OsWJZYfSZcFNDp05KZVEBuDEQJHH34CT23ckq7fogvQ==} - engines: {node: '>=22.19.0'} + '@platformatic/node@4.0.0-alpha.2': + resolution: {integrity: sha512-rwe1BazFydflvW4SfaAJJCDcz0a+6DZhrJ+QD5hfXoGocVdga5uEejYtxb6NIoKjCzFQZrXZ6+jelJIwAhM2PQ==} + engines: {node: '>=24.20.0'} '@platformatic/openapi-schema-validator@3.0.0': resolution: {integrity: sha512-SHEY5v1Q5EliMaIpXdPCye0QkhFVOoHkEqA8v9qkrO1PqvVOcpii1WqEHYrZZB430sEmrHqEWZInt15EUsR7mw==} @@ -1186,40 +1228,40 @@ packages: resolution: {integrity: sha512-O7NfmdBWAm1QJ0LMrtcyCSgWmA+FQEiCyRqvouccmyAuydwLxLdmhcTTW3sEmO5f7bRfXpUVVgTtnFbIqEiHyw==} engines: {node: ^20 || ^22 || >=24} - '@platformatic/promotel@0.1.0': - resolution: {integrity: sha512-PpbXGiGef+zW9LAbD3JP1ehTDhRXXcrBz+cg1fd5kZamMqqf3leXSjOBlagqxaMk8e1M1GggnmB4RxGBvoAcGQ==} - engines: {node: '>=18'} + '@platformatic/promotel@0.2.2': + resolution: {integrity: sha512-9EbMS+JobHs+guSNVw7n1cOEskR38hMyulCLe7B5bewx0n6fhiCFJz+VybMsUKfCIDD4Ov9HH8gvW5PzS1xb5w==} + engines: {node: '>=20.18.1'} hasBin: true - '@platformatic/runtime@3.41.0': - resolution: {integrity: sha512-WGf/+D2T2FKupe0788ZJeyX1sNOnEVzYrDkCK7KqnSYDFSkcQ3vefMszFWJXFxlTxsVHyMGm1MkpzvFiDkNpRQ==} - engines: {node: '>=22.19.0'} + '@platformatic/runtime@4.0.0-alpha.2': + resolution: {integrity: sha512-t22F5ttuygEd6DjrK8R+dFUC6eKWPmmUAiryG4TvzS4/xelwR15RGfkn7/7A0N5ue+kVr1SJf1HgA7JxRON6PA==} + engines: {node: '>=24.20.0'} - '@platformatic/scalar-theme@3.41.0': - resolution: {integrity: sha512-HAjtV/hkytH/pZy05rKIJBVFxrLxg/vA01RIGOaQlny8R+Es0Q6E1nz2qUum0uhzp6m6MEXKcEJHbjxyJKWYkQ==} - engines: {node: '>=22.19.0'} + '@platformatic/scalar-theme@4.0.0-alpha.2': + resolution: {integrity: sha512-lelOuhcJVYzNcYRaSAAbfyVxj3owJX7i+5p15EO9MGlJrGHVFyLPT579o7byJQX6bGCFRQSIxZ1rp89lVdWSbw==} + engines: {node: '>=24.20.0'} - '@platformatic/service@3.41.0': - resolution: {integrity: sha512-9BG+J7nujWPpoHTgGQ+QYSuqCgBhtpIrDcjSuALbquXbZBwgZzeNfckofSZ5HPXH2hcgYHpXUV17a8X1cBiftA==} - engines: {node: '>=22.19.0'} + '@platformatic/service@4.0.0-alpha.2': + resolution: {integrity: sha512-srObG2TU8bNAvesqUr1BaYXbnSc0LDoT3qKo3oQxKJvILN7oqxzDxNDMk4gzNtb7sqvpP+Ri24xkwdQpZnI67A==} + engines: {node: '>=24.20.0'} - '@platformatic/telemetry@3.41.0': - resolution: {integrity: sha512-c7TVD5/81eAcSzIu+gCg3DcmjbJzi9SJZWGl7G9VrAuIb/lGzab742VBqilM4IVdPLFvNb8oz4Wf54455scVHw==} - engines: {node: '>=22.19.0'} + '@platformatic/tracing@4.0.0-alpha.2': + resolution: {integrity: sha512-e8ITuFxH65PliJydaVw9+OZfJodDP4QjOfeTSsqsw72diyntbGIoLMDxCI8/Z8rQWSIZFdlmv4rb/hSxPFJGTg==} + engines: {node: '>=24.20.0'} '@platformatic/ui-components@0.20.0': resolution: {integrity: sha512-X+hgvyrYltN0ZquwYFjVaHianvMcGMgxH/Rzf9hfAljm1eIK9C3nA/P00UZqJZgGEoNkJ1xlQvSYTLtVWhRtBA==} - '@platformatic/undici-cache-memory@0.8.4': - resolution: {integrity: sha512-/JVfPhyUW0GQkmr5lGAGOgh0lpJbTcLG8VB2uNqgNgH1fhPPFAM0l4pLSyeDzpTj2r/GJPLqhzvCgangnSHfoQ==} + '@platformatic/undici-cache-memory@0.9.0': + resolution: {integrity: sha512-ub1oMcewDpZD5PLFyfXeZYVe3aQBZXVwZ3wUssjvErdavBex+aptvps9UGDDD0k6L1KNlCCJZE74WrxRNGiewg==} - '@platformatic/vite@3.41.0': - resolution: {integrity: sha512-phqgdBzuv0dloMDe/IXZjno7XDvoIuF27h3IhaUmHUsDeAqyVQuij5fday0ZRwHJy8b0seS4kSxM7Y8OBN+OFw==} - engines: {node: '>=22.19.0'} + '@platformatic/vite@4.0.0-alpha.2': + resolution: {integrity: sha512-FkyK6ITtTOhGnWJMxYDm37E4SG8+EysL2M4QToySncznhrTr0knelGrEwh9gpfnPwBocfLMOcfdvMiCAQ4nPHw==} + engines: {node: '>=24.20.0'} - '@platformatic/wattpm-pprof-capture@3.41.0': - resolution: {integrity: sha512-ozyjP9Mx5anwPjIX8Wy+gjT/TQoWmtJxUx2AepcHQ2UY878S05Uq/ckwQqB9LhEc2CvJh/8JWFgdncH9wmt/OQ==} - engines: {node: '>=22.19.0'} + '@platformatic/wattpm-pprof-capture@4.0.0-alpha.2': + resolution: {integrity: sha512-5C8Ximg6jnmU34CKU5oF0nXTI8tJUWOKCacgEadS7TRq9rjJ0LLpR3CiDLhIDFOC83ipwO5H9RwwERbidZaYzQ==} + engines: {node: '>=24.20.0'} '@playwright/test@1.58.2': resolution: {integrity: sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==} @@ -1426,6 +1468,10 @@ packages: resolution: {integrity: sha512-56CM8CVlpEJKajNj35gpIrusTZncZ/gvwNgWUKbpJd2kGEPe0p6Z0I2hmkm0Q8MFcXTuGHPQ0DdeaKZCeFnzgw==} engines: {node: '>=22'} + '@scalar/client-side-rendering@0.3.2': + resolution: {integrity: sha512-HXgfSnSQSLaTZupSmN2w4O1Gv0wXdFl+GtrZHQEoNQ4HSzgCtk9fKcmSVxaZiPjyx6eon/x3Ic+Ka5T4tXskyA==} + engines: {node: '>=22'} + '@scalar/code-highlight@0.3.0': resolution: {integrity: sha512-JAOnQ6ckPexNGomA065Gs8xYs01BZO45R+Oc/kgnEr6D02T2+cA7lo9nGr6WXKWniWghSzfngS8h+RjtNfo9aA==} engines: {node: '>=22'} @@ -1434,26 +1480,22 @@ packages: resolution: {integrity: sha512-5gEQa31t7mMZlH4Jjx5XmXmxcWwWpNMVYWAYOA/oFfgXarvPq3WUhtR/Df/b3PC9ibzfevHU5CPgtl0A9rhKrA==} engines: {node: '>=22'} - '@scalar/core@0.3.14': - resolution: {integrity: sha512-Fjgscu148WY1g28VNVZikQxGX8iwronPttIoCf7ayausnVMWX6s6wOZm0D3StNbxqMl2js8FQ/s0GlfCAG6XEg==} - engines: {node: '>=20'} - '@scalar/draggable@0.4.0': resolution: {integrity: sha512-oLCtH8OAPnhGdr6R77s777KUahZFBF/igiF2h1QmCzvYQMIpV/ZNUgA3V3WPBK4kWP8tFWOXB403Lv00ikxRig==} engines: {node: '>=22'} - '@scalar/fastify-api-reference@1.34.6': - resolution: {integrity: sha512-s3cMsbPW3vw+5m3jWBcMtnPdrVBNrlDZK2CV2PPrhQNf3Gcs/xi5mS/42hffJiLmyeIJ+6C/Lzuph1WPOxaBPw==} - engines: {node: '>=20'} - - '@scalar/helpers@0.0.8': - resolution: {integrity: sha512-9A1CxL3jV7Kl9wGu86/cR/wiJN6J+3tK4WuW3252s2gF+upXsgQRx9WLhFF3xifOP1irIGusitZBiojiKmUSVg==} - engines: {node: '>=20'} + '@scalar/fastify-api-reference@1.62.5': + resolution: {integrity: sha512-ONTdXYnwqTGupz4f+8tWuEN9LW2sqXjXC2/63Vf3kZPJKIjDOssk/0WznLaRvVDoJOZUTKWdNd9wi67/uA5+fA==} + engines: {node: '>=22'} '@scalar/helpers@0.4.1': resolution: {integrity: sha512-XfyYqSUA597wfzS8lmMY1xvYv4si2WytuoBWj7JDpx3E/lVq7YEsticXF/Q30ttFVRBfgQErg8MQI6b6IkZr2Q==} engines: {node: '>=22'} + '@scalar/helpers@0.9.0': + resolution: {integrity: sha512-M34CLRCttqC1bXthI/QSzQj0s5C6nrU2PFWf/vOT3RpycbiGDGQbqR+5RfFzpOIQvRqbHfNdcRbeiZBw+vCbkQ==} + engines: {node: '>=22'} + '@scalar/icons@0.6.0': resolution: {integrity: sha512-Rl90K0RuzblkY1Ui0nkhB0wBDj70zYe3gkp/Gz4sbbCMobC9yAEpvfNzb+txu7utXb11QalHxSrvvTqkINuQNQ==} engines: {node: '>=22'} @@ -1462,14 +1504,14 @@ packages: resolution: {integrity: sha512-warmmaewTkHNmkEUXctccSXwUhgDHiGH/BtITYmsQ1PDxZGIdppLw1+6OtRlZOayn2mOHwI/wuNtGjYcBh7wsQ==} engines: {node: '>=22'} + '@scalar/json-magic@0.12.17': + resolution: {integrity: sha512-Vw2nrUDIjhvMP6vxFtkiiFlabJ6SyTtfn1BsOxgnr1hIB+/rkngMguiDzl5em21VjyfFGIoADia+QWKM2hdcdA==} + engines: {node: '>=22'} + '@scalar/json-magic@0.12.3': resolution: {integrity: sha512-SX4LbdCk/0JLP4t4oz1nzqfMzHsG9gY1jSgKB7Q2BsQHJ4V1zapQ+aFrMmbjaCrz8hueGG/3UCtgyWBNuGmT9g==} engines: {node: '>=22'} - '@scalar/json-magic@0.3.1': - resolution: {integrity: sha512-vQvl4TckiMT8Txo6S82ETJ4OI+K6iSxLZsjPaq4cEqY+9zVfmIMALFGPj/X5BB8tU3FdluV2yEa8LswsMQ68IA==} - engines: {node: '>=20'} - '@scalar/oas-utils@0.10.7': resolution: {integrity: sha512-P1iJWvli/stU+r9G+/duvtpmw5OZrPF/0zkxaoUDjxhMyg2iFcwKh5Nz/mMMUxyYQA4uKaJPqTG8KmusdX5FGA==} engines: {node: '>=22'} @@ -1478,30 +1520,38 @@ packages: resolution: {integrity: sha512-Pt2pTWJYqpiXBX6UfUlNmJb1kRBYBJSbrufgpH/vBeIaWs2t8juAwl9s8lh9kabXtx4jkpgBlQV3kCyyC8szow==} engines: {node: '>=22'} - '@scalar/openapi-parser@0.20.1': - resolution: {integrity: sha512-rxtuBQ90YsUEDefWU3GAEmvjYr1CvGO6nkDVzbjmWv2aPB3mtK80bCRBgQGTdIdW5XQEWAAmflSKEhcj2Xo5QA==} - engines: {node: '>=20'} - '@scalar/openapi-parser@0.25.3': resolution: {integrity: sha512-uiqUxWMYYDrAdwK7qOgbrYW2RsULog1Bv47ehACwCzTJecP1Z/Uez4+UH/Ltqn0hNXPQ56yCzYwaIVcc3td+Jw==} engines: {node: '>=22'} - '@scalar/openapi-types@0.3.7': - resolution: {integrity: sha512-QHSvHBVDze3+dUwAhIGq6l1iOev4jdoqdBK7QpfeN1Q4h+6qpVEw3EEqBiH0AXUSh/iWwObBv4uMgfIx0aNZ5g==} - engines: {node: '>=20'} + '@scalar/openapi-parser@0.28.8': + resolution: {integrity: sha512-BO98D3TLfKNL80UnE1sIAmI6DQRmOaH0AHnlAooTn1sQjNbRDaeHyRO53EEjo7HjFEdHeQtiRzoXmMB4jvt8AA==} + engines: {node: '>=22'} '@scalar/openapi-types@0.6.0': resolution: {integrity: sha512-OeaCrQmXGqO+ZRGgo/mAA8X1nTsdNWW2BxQjyDWTCSD1Qv5Cm58QvKzINKvJPFWrS0LXebRF6OXN+2H2hu9xpA==} engines: {node: '>=22'} + '@scalar/openapi-types@0.9.1': + resolution: {integrity: sha512-gkGhSkxSzADaBiNg+ZAbJuwj+ZUmzP2Pg9CWZ7ZP+0fck2WjPeDDM7aAbouAm0aQQMF9xBjSPXSA9a/qTHYaTw==} + engines: {node: '>=22'} + '@scalar/openapi-upgrader@0.2.0': resolution: {integrity: sha512-T8XKPaYBrxn+8THq8HgXjqpnqp71YZsPCamNYIYJrIM5pXSbBLyLoAh6uie7YfhcNvdQWc/KqahHQebEIcmeqA==} engines: {node: '>=22'} + '@scalar/openapi-upgrader@0.2.9': + resolution: {integrity: sha512-D5b0rGLLZgmkO9mdW2j/ND1KBlH1u3RCpr87HPxv9P9ZSr6PtM5iLqFOJq0ACiaHjY2mikCrxgDmnUEhTzRpHQ==} + engines: {node: '>=22'} + '@scalar/postman-to-openapi@0.5.2': resolution: {integrity: sha512-bfwT2xuE1ZmyOhBQtt26cWDTyLZXbfZC3TiJAhlrn+wNHeCbTwVoj3BBGVUAAbhsbrm/4OB4ABwEfn/MB2Q2fg==} engines: {node: '>=22'} + '@scalar/schemas@0.7.2': + resolution: {integrity: sha512-6Ble6WcbiKgD3ypIva+wgZv1qIClmeEjXA6jrOo1bKpYUu6sh4e89LZxDK+LULa2jQl/2O5GEaa6aZ0ImlpkHg==} + engines: {node: '>=22'} + '@scalar/sidebar@0.8.8': resolution: {integrity: sha512-vbLPELbvOZVclyHGhN6CX0Mxw6YgtrNdMMhwWPzn46THg1Ax4n+5TAK8PxHAqn+NYazL4SbuPcICSuPPxRm+0A==} engines: {node: '>=22'} @@ -1517,9 +1567,9 @@ packages: '@scalar/typebox@0.1.3': resolution: {integrity: sha512-lU055AUccECZMIfGA0z/C1StYmboAYIPJLDFBzOO81yXBi35Pxdq+I4fWX6iUZ8qcoHneiLGk9jAUM1rA93iEg==} - '@scalar/types@0.2.13': - resolution: {integrity: sha512-rO6KGMJqOsBnN/2R4fErMFLpRSPVJElni+HABDpf+ZlLJp2lvxuPn0IXLumK5ytfplUH9iqKgSXjndnZfxSYLQ==} - engines: {node: '>=20'} + '@scalar/types@0.16.2': + resolution: {integrity: sha512-QAlCtDVRsX/UV1N9ctLqPsKQy84eceFf4dMnTZM0JhaRfwS/Ovwp8oFf3POSpqQILNiqLFZLE6IV6p/5rNoAag==} + engines: {node: '>=22'} '@scalar/types@0.7.3': resolution: {integrity: sha512-9ThydMH28aA5DMm8Q/nTKXKnAKejG7Awlj7IC99oXkq5aOJ60Sn0kS1RWaqQosaWI3ezyPJ7/sUglssAEMA6EA==} @@ -1537,6 +1587,10 @@ packages: resolution: {integrity: sha512-TOgBhomAaikJcTBMPtaOrSgDm4jaOvH2WRqvzRh0lEdMiftqsDP+3Iz7u6oAdQ/TedHgFU6W1COVXS0YFamDkQ==} engines: {node: '>=22'} + '@scalar/validation@0.6.0': + resolution: {integrity: sha512-tpmmG+/xRE2Kn9RpflU3AIyZv08v10+E1ZrJCx7z6+/91zHVxy0M73kC1LT4/8PbYNt85ywyC8+n+D99JdMcGA==} + engines: {node: '>=20'} + '@scalar/workspace-store@0.40.1': resolution: {integrity: sha512-xMLjkYgKyz6/EUXFpqrOcJ8SRRYJMNJk53u5/haWNIh8kg7o0C43wYNqiiUuVj8Jrp5RTzfWlTy1Qk3n42iBKA==} engines: {node: '>=22'} @@ -1706,9 +1760,6 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@22.19.15': - resolution: {integrity: sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==} - '@types/node@24.12.0': resolution: {integrity: sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==} @@ -1947,9 +1998,6 @@ packages: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - abstract-logger@0.2.5: - resolution: {integrity: sha512-tcSYS736l1i6m5aG0lka/gkhThaR1T2LZArk5wqvk/ZzZfkMZuKlCZJZzqw5qnKqV/+NZxJIlDz1PJ6Ft/zpYA==} - abstract-logging@2.0.1: resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} @@ -1957,11 +2005,6 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-import-attributes@1.9.5: - resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} - peerDependencies: - acorn: ^8 - acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2146,9 +2189,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -2216,8 +2256,8 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - cjs-module-lexer@1.4.3: - resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + cjs-module-lexer@2.3.0: + resolution: {integrity: sha512-lmNyBzi6iYiqyrExTctfmjd8tInx+dHu9PBomTfH5RXS53c27JMFJgzNv5TyAnm3PgGf+MLy0+Ws41/HlVxdKQ==} clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} @@ -2254,6 +2294,10 @@ packages: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + code-block-writer@13.0.3: resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} @@ -2292,14 +2336,14 @@ packages: console-table-printer@2.15.0: resolution: {integrity: sha512-SrhBq4hYVjLCkBVOWaTzceJalvn5K1Zq5aQA6wXC/cYjI3frKWNPEMK3sZsJfNNQApvCQmgBcc13ZKmFj8qExw==} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - content-disposition@1.0.1: resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} engines: {node: '>=18'} + content-disposition@3.0.0: + resolution: {integrity: sha512-ZH/0Xs9rMIFWCOmGdmS9eHBTF62qqQYNz4nVjQhkdIO/a0fCP4UIM3mRz/wiqL0L14YgAz/1xio4OaSY4+ON/A==} + engines: {node: '>=22'} + convert-hrtime@5.0.0: resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} engines: {node: '>=12'} @@ -2527,6 +2571,10 @@ packages: delaunator@5.0.1: resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -2535,6 +2583,10 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -2601,6 +2653,9 @@ packages: es-module-lexer@2.0.0: resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + es-module-lexer@3.0.4: + resolution: {integrity: sha512-BldNY5mwkVu+cQ5Ymn3e6hB9Sx8XHx4ZevWbiUyZbfKxJxYO27Hf0wfzkxIaD5CAJMaGl3YspKELj0ff/7nCMA==} + es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -2686,6 +2741,7 @@ packages: eslint@9.39.4: resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true peerDependencies: jiti: '*' @@ -2742,8 +2798,8 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - fast-content-type-parse@3.0.0: - resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==} + fast-content-type-parse@4.0.1: + resolution: {integrity: sha512-AAu9Ey/t6KDFqqeCfbwdlASlv7rQBG57gXYf2YU+MXJx1OIJn2q3BEJKmtnZaeGm1y5AYxLzRMmq9VWWXrfRcA==} fast-copy@4.0.2: resolution: {integrity: sha512-ybA6PDXIXOXivLJK/z9e+Otk7ve13I4ckBvGO5I2RRmBU1gMHLVDJYEuJYhGwez7YNlYji2M2DvVU+a9mSFDlw==} @@ -2791,6 +2847,9 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fast-uri@4.2.2: + resolution: {integrity: sha512-EwVpUMzLVNOmcWW0zi5G3JJwkopB6XXjnVvNBGfqrMMsVew2hkQWl5e/pe/CfYUeS6jt4cIO2MnamEW7v/7wPw==} + fast-wrap-ansi@0.2.0: resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==} @@ -2804,6 +2863,9 @@ packages: fastify-plugin@5.1.0: resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==} + fastify-plugin@6.0.1: + resolution: {integrity: sha512-4wW4RxSmvPXLrh5mgQEiu43qU3bw44N2ss4FTkTkQIbprUhE+/s43QX0j/ttcztdWK7PEkHqVthdc5GdEGDvjA==} + fastify-tsconfig@3.0.0: resolution: {integrity: sha512-TxFM9+MUUM2Ub6chZbP5sPNUFaPWA86kHU0VRd4o9OP6PBP92cj9c4/IEsnLoVHcLgrgXf2GUXWUzkJAO9iKFQ==} engines: {node: '>=20.0.0'} @@ -2864,10 +2926,6 @@ packages: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - forwarded-parse@2.1.2: resolution: {integrity: sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==} @@ -2954,12 +3012,6 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@11.1.0: - resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} - engines: {node: 20 || >=22} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - hasBin: true - glob@13.0.6: resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} engines: {node: 18 || 20 || >=22} @@ -3108,8 +3160,8 @@ packages: resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} engines: {node: '>=18.18.0'} - hyperid@3.3.0: - resolution: {integrity: sha512-7qhCVT4MJIoEsNcbhglhdmBKb09QtcmJNiIQGq7js/Khf5FtQQ9bzcAuloeqBeee7XD7JqDeve9KNlQya5tSGQ==} + hyperid@4.0.0: + resolution: {integrity: sha512-vjhh0CG44/iGjcNEjebL0BpRDR+C7d1KZ1Yqf92ralTOO5JjZiGHQT0bjDaKuNu1kk3jB+5jGFhNbxkT0wcQmA==} iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} @@ -3138,8 +3190,9 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-in-the-middle@1.15.0: - resolution: {integrity: sha512-bpQy+CrsRmYmoPMAE/0G33iwRqwW4ouqdRg8jgbH3aKuCtOc8lxgmYXg2dMM92CRiGP660EtBcymH/eVUpCSaA==} + import-in-the-middle@3.5.2: + resolution: {integrity: sha512-WseIA/4o56+GYO3RmlOPvejYi771OFeJEeK/ejROsr9bdjW+E5NXTOD1Di8TL40Qgg3JJX9aa97Hf8iiSVIKZw==} + engines: {node: '>=18'} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -3149,9 +3202,6 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - inherits-ex@1.6.0: - resolution: {integrity: sha512-67sANrSoIvMmYDy0qyjmM/PvFdgBmWZVQoPBsRpDuP4tmlylEX1KdGN1bHvReG3eHBdaHY7WlZsrqys4y/cLVA==} - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -3163,6 +3213,10 @@ packages: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + iovalkey@0.3.3: + resolution: {integrity: sha512-4rTJX6Q5wTYEvxboXi8DsEiUo+OvqJGtLYOSGm37KpdRXsG5XJjbVtYKGJpPSWP+QT7rWscA4vsrdmzbEbenpw==} + engines: {node: '>=18.12.0'} + ipaddr.js@2.3.0: resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==} engines: {node: '>= 10'} @@ -3324,10 +3378,6 @@ packages: resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} engines: {node: '>= 0.4'} - jackspeak@4.2.3: - resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} - engines: {node: 20 || >=22} - jiti@1.21.7: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true @@ -3435,6 +3485,12 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + + lodash.isarguments@3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -3481,6 +3537,9 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + magicast@0.5.5: + resolution: {integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==} + make-asynchronous@1.1.0: resolution: {integrity: sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==} engines: {node: '>=18'} @@ -3552,9 +3611,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - metaline@1.1.0: - resolution: {integrity: sha512-VBgxP9mZx8FHvCyKe6Nla32xgImEj4zAyf/BtIdkLKqfkMWtcekIeB5fL24/EZi/u7PbbJNsVqL7R2bV3cUh/Q==} - microdiff@1.5.0: resolution: {integrity: sha512-Drq+/THMvDdzRYrK0oxJmOKiC24ayUV8ahrt8l3oRK51PWt6gdtrIGrlIH3pT/lFh1z93FbAcidtsHcWbnRz8Q==} @@ -3677,9 +3733,6 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - mnemonist@0.40.0: - resolution: {integrity: sha512-kdd8AFNig2AD5Rkih7EPCXhu/iMvwevQFX/uEiGhZyPZi7fHqOoF4V4kHLpCfysxXMgQ4B52kdPMCwARshKvEg==} - module-details-from-path@1.0.4: resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} @@ -3712,6 +3765,13 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + msgpackr-extract@3.0.4: + resolution: {integrity: sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==} + hasBin: true + + msgpackr@1.12.1: + resolution: {integrity: sha512-4EUH9tQHnMmEgzW/MdAP0KIfa1T9AF+htl0ffe2n5vb2EKn9y2co8ccpgWko6S52Jy1PQZKwRnx5/KkYjtd9MQ==} + mute-stream@3.0.0: resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} engines: {node: ^20.17.0 || >=22.9.0} @@ -3727,11 +3787,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.1.5: - resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==} - engines: {node: ^18 || >=20} - hasBin: true - nanoid@5.1.7: resolution: {integrity: sha512-ua3NDgISf6jdwezAheMOk4mbE1LXjm1DfMUDMuJf4AqxLFK3ccGpgWizwa5YV7Yz9EpXwEaWoRXSb/BnV0t5dQ==} engines: {node: ^18 || >=20} @@ -3760,6 +3815,10 @@ packages: resolution: {integrity: sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==} engines: {node: '>= 0.4'} + node-gyp-build-optional-packages@5.2.2: + resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} + hasBin: true + node-gyp-build@3.9.0: resolution: {integrity: sha512-zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==} hasBin: true @@ -3817,9 +3876,6 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - obliterator@2.0.5: - resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} - obug@2.1.1: resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} @@ -3845,9 +3901,6 @@ packages: resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - otlp-logger@1.1.13: - resolution: {integrity: sha512-r53tPnMLprtQSMOJUkj4Az4tR8NL+U+8C7M8BV1ZA9y7cDfAbWQp2mRL/eYS/O786oAi9KnN9hKsZ5cFKNchKw==} - own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -3880,9 +3933,6 @@ packages: resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} engines: {node: '>=14.16'} - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -3944,8 +3994,8 @@ packages: pino-abstract-transport@3.0.0: resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==} - pino-opentelemetry-transport@2.0.0: - resolution: {integrity: sha512-tWoq02WEtnCWfr63Co1n0sGlDpkBz2YUovSAsSBv/+jwKUIn/PjxwRileGViKrH/K3e+oc71nGl6yUdgQlrVkg==} + pino-opentelemetry-transport@4.0.2: + resolution: {integrity: sha512-ig0F6+RgAzPOcavGLBGNLRS9YzKTw1VlHiJ8dr263y1ED/rcwKcjqzrF8+3L6N8NU7nH9QF7XdrqnH35GiZ2EQ==} peerDependencies: pino: ^10.0.0 @@ -4062,6 +4112,7 @@ packages: prom-client@15.1.3: resolution: {integrity: sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g==} engines: {node: ^16 || ^18 || >=20} + deprecated: prom-client has been replaced by @prometheus-io/client prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} @@ -4073,6 +4124,10 @@ packages: resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} engines: {node: '>=12.0.0'} + protobufjs@8.8.1: + resolution: {integrity: sha512-d9e9179bjXSJdpJ3+R9fP8hzXsnKLyxTjHLG1dUzje8a27pPyXCe6PrcRtgx2rjoM3IZzHd2vAs+6J/BsO1k7Q==} + engines: {node: '>=12.0.0'} + pump@3.0.4: resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} @@ -4165,6 +4220,14 @@ packages: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} + redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + reflect.getprototypeof@1.0.10: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} @@ -4211,9 +4274,9 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - require-in-the-middle@7.5.2: - resolution: {integrity: sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==} - engines: {node: '>=8.6.0'} + require-in-the-middle@8.0.1: + resolution: {integrity: sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==} + engines: {node: '>=9.3.0 || >=8.10.0 <9.0.0'} reserved-identifiers@1.2.0: resolution: {integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==} @@ -4399,6 +4462,9 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} @@ -4668,27 +4734,25 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} - undici-thread-interceptor@1.3.1: - resolution: {integrity: sha512-s/TUkGeVj+C4Rr3Vsy84Kewj97m2QBNx6IjMGM1nzfoKWqNlcLqtFQCbXQjobRJQKi3u9Hc796/YvJIv7W7qWQ==} - - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-thread-interceptor@2.2.0: + resolution: {integrity: sha512-vPys0FapJ8G3mR6O9MPAxUwAi/sy0oHV6To40sjf5I2011RXOuoIjsJ6T9Eai7tIJ13WKfrbtEvEnVPtEy2ZEw==} + engines: {node: '>= 22.22.0 || >= 24.6.0'} undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - undici@6.24.1: - resolution: {integrity: sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==} - engines: {node: '>=18.17'} - - undici@7.18.2: - resolution: {integrity: sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw==} - engines: {node: '>=20.18.1'} - undici@7.24.4: resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==} engines: {node: '>=20.18.1'} + undici@7.30.1: + resolution: {integrity: sha512-03KrMbjIFDWQR5RNPrSw3bd1r12JpyFQl9/yxjUbJtqkjmllqC5lFjZh6ujeuJCKr8EOQvRW872Oy/az+nLYxg==} + engines: {node: '>=20.18.1'} + + undici@8.12.2: + resolution: {integrity: sha512-XtuDWVdqTLr3NAxm2ly9/hU6kUsJOgGh1RASzMBbsw6aWCOaQzHdW+QQDfdERjfJ2V5vL5pRPa4RetO9UfivDg==} + engines: {node: '>=22.19.0'} + unhead@2.1.12: resolution: {integrity: sha512-iTHdWD9ztTunOErtfUFk6Wr11BxvzumcYJ0CzaSCBUOEtg+DUZ9+gnE99i8QkLFT2q1rZD48BYYGXpOZVDLYkA==} @@ -4738,20 +4802,10 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - util-ex@0.3.18: - resolution: {integrity: sha512-GPVjD257DtgCDMHYqbdWvZ+RY3HaXZ7Dps/44de5WscOjFNL2Qr+6dTIKGlyfA4A5BXyeFKWy8mb19OATWhh8Q==} - - uuid-parse@1.1.0: - resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} - uuid@7.0.3: resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} hasBin: true - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -4897,9 +4951,9 @@ packages: w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} - wattpm@3.41.0: - resolution: {integrity: sha512-l1L7o7GyNAryPclxoiEjdMwlfuDGGxtrrJqUVKsrNqUuis9Ux39V4byt1RL+UbmJesZV8L5cSW4HppdSO+h/Bw==} - engines: {node: '>=22.19.0'} + wattpm@4.0.0-alpha.2: + resolution: {integrity: sha512-yY7pfw9Vkk08xYMRSm8vtPKqRv1v5Pdd4ADjpuFrdfkb/37wKb8KlGg/IhLCWT8o+XWbBvTQOSp0KvEphYOgvg==} + engines: {node: '>=24.20.0'} hasBin: true wcwidth@1.0.1: @@ -4975,13 +5029,13 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml@2.8.0: - resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} engines: {node: '>= 14.6'} hasBin: true - yaml@2.8.2: - resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + yaml@2.9.1: + resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} engines: {node: '>= 14.6'} hasBin: true @@ -5005,9 +5059,6 @@ packages: resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} engines: {node: '>=18'} - zod@3.24.1: - resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} - zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} @@ -5077,20 +5128,20 @@ snapshots: '@babel/compat-data@7.29.0': {} - '@babel/core@7.29.0': + '@babel/core@7.29.0(supports-color@7.2.0)': dependencies: '@babel/code-frame': 7.29.0 '@babel/generator': 7.29.1 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0(supports-color@7.2.0))(supports-color@7.2.0) '@babel/helpers': 7.28.6 '@babel/parser': 7.29.0 '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.29.0(supports-color@7.2.0) '@babel/types': 7.29.0 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -5115,19 +5166,19 @@ snapshots: '@babel/helper-globals@7.28.0': {} - '@babel/helper-module-imports@7.28.6': + '@babel/helper-module-imports@7.28.6(supports-color@7.2.0)': dependencies: - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.29.0(supports-color@7.2.0) '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0(supports-color@7.2.0))(supports-color@7.2.0)': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 + '@babel/core': 7.29.0(supports-color@7.2.0) + '@babel/helper-module-imports': 7.28.6(supports-color@7.2.0) '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.29.0(supports-color@7.2.0) transitivePeerDependencies: - supports-color @@ -5135,8 +5186,12 @@ snapshots: '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@7.29.7': {} + '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-identifier@7.29.7': {} + '@babel/helper-validator-option@7.27.1': {} '@babel/helpers@7.28.6': @@ -5148,14 +5203,18 @@ snapshots: dependencies: '@babel/types': 7.29.0 - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)': + '@babel/parser@7.29.9': dependencies: - '@babel/core': 7.29.0 + '@babel/types': 7.29.8 + + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0(supports-color@7.2.0))': + dependencies: + '@babel/core': 7.29.0(supports-color@7.2.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)': + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0(supports-color@7.2.0))': dependencies: - '@babel/core': 7.29.0 + '@babel/core': 7.29.0(supports-color@7.2.0) '@babel/helper-plugin-utils': 7.28.6 '@babel/runtime@7.28.6': {} @@ -5166,7 +5225,7 @@ snapshots: '@babel/parser': 7.29.0 '@babel/types': 7.29.0 - '@babel/traverse@7.29.0': + '@babel/traverse@7.29.0(supports-color@7.2.0)': dependencies: '@babel/code-frame': 7.29.0 '@babel/generator': 7.29.1 @@ -5174,7 +5233,7 @@ snapshots: '@babel/parser': 7.29.0 '@babel/template': 7.28.6 '@babel/types': 7.29.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) transitivePeerDependencies: - supports-color @@ -5183,6 +5242,11 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@babel/types@7.29.8': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@codemirror/autocomplete@6.20.1': dependencies: '@codemirror/language': 6.12.2 @@ -5361,17 +5425,17 @@ snapshots: '@esbuild/win32-x64@0.27.4': optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@1.21.7))': + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))': dependencies: - eslint: 9.39.4(jiti@1.21.7) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/config-array@0.21.2': + '@eslint/config-array@0.21.2(supports-color@7.2.0)': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -5384,10 +5448,10 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.5': + '@eslint/eslintrc@3.3.5(supports-color@7.2.0)': dependencies: ajv: 6.14.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -5427,14 +5491,12 @@ snapshots: '@fastify/error': 4.2.0 fastify-plugin: 5.1.0 - '@fastify/cors@10.1.0': + '@fastify/cors@11.3.1': dependencies: - fastify-plugin: 5.1.0 - mnemonist: 0.40.0 - - '@fastify/deepmerge@1.3.0': {} + fastify-plugin: 6.0.1 + toad-cache: 3.7.0 - '@fastify/deepmerge@2.0.2': {} + '@fastify/deepmerge@3.2.2': {} '@fastify/error@4.2.0': {} @@ -5444,11 +5506,11 @@ snapshots: '@fastify/forwarded@3.0.1': {} - '@fastify/http-proxy@11.4.1': + '@fastify/http-proxy@11.6.4': dependencies: - '@fastify/reply-from': 12.6.1 + '@fastify/reply-from': 12.7.1 fast-querystring: 1.1.2 - fastify-plugin: 5.1.0 + fastify-plugin: 6.0.1 ws: 8.19.0 transitivePeerDependencies: - bufferutil @@ -5467,13 +5529,13 @@ snapshots: '@fastify/forwarded': 3.0.1 ipaddr.js: 2.3.0 - '@fastify/reply-from@12.6.1': + '@fastify/reply-from@12.7.1': dependencies: '@fastify/error': 4.2.0 end-of-stream: 1.4.5 - fast-content-type-parse: 3.0.0 + fast-content-type-parse: 4.0.1 fast-querystring: 1.1.2 - fastify-plugin: 5.1.0 + fastify-plugin: 6.0.1 toad-cache: 3.7.0 undici: 7.24.4 @@ -5485,14 +5547,15 @@ snapshots: http-errors: 2.0.1 mime: 3.0.0 - '@fastify/static@8.3.0': + '@fastify/static@10.1.6': dependencies: '@fastify/accept-negotiator': 2.0.1 + '@fastify/error': 4.2.0 '@fastify/send': 4.1.0 - content-disposition: 0.5.4 - fastify-plugin: 5.1.0 + content-disposition: 3.0.0 + fastify-plugin: 6.0.1 fastq: 1.20.1 - glob: 11.1.0 + glob: 13.0.6 '@fastify/static@9.0.0': dependencies: @@ -5503,13 +5566,13 @@ snapshots: fastq: 1.20.1 glob: 13.0.6 - '@fastify/swagger@9.7.0': + '@fastify/swagger@9.7.0(supports-color@7.2.0)': dependencies: fastify-plugin: 5.1.0 - json-schema-resolver: 3.0.0 + json-schema-resolver: 3.0.0(supports-color@7.2.0) openapi-types: 12.1.3 rfdc: 1.4.1 - yaml: 2.8.2 + yaml: 2.9.1 transitivePeerDependencies: - supports-color @@ -5522,9 +5585,9 @@ snapshots: '@fastify/error': 4.2.0 fastify-plugin: 5.1.0 - '@fastify/view@10.0.2': + '@fastify/view@12.0.1': dependencies: - fastify-plugin: 5.1.0 + fastify-plugin: 6.0.1 toad-cache: 3.7.0 '@fastify/websocket@11.2.0': @@ -5725,7 +5788,7 @@ snapshots: dependencies: '@swc/helpers': 0.5.19 - '@isaacs/cliui@9.0.0': {} + '@iovalkey/commands@0.1.0': {} '@jridgewell/gen-mapping@0.3.13': dependencies: @@ -5800,6 +5863,24 @@ snapshots: '@marijn/find-cluster-break@1.0.2': {} + '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4': + optional: true + + '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.4': + optional: true + + '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.4': + optional: true + + '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.4': + optional: true + + '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.4': + optional: true + + '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4': + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -5812,522 +5893,520 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@opentelemetry/api-logs@0.203.0': + '@opentelemetry/api-logs@0.219.0': dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 - '@opentelemetry/api-logs@0.206.0': + '@opentelemetry/api-logs@0.220.0': dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 '@opentelemetry/api@1.9.0': {} - '@opentelemetry/context-async-hooks@2.0.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api@1.9.1': {} - '@opentelemetry/core@2.0.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/configuration@0.219.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + yaml: 2.9.1 - '@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/context-async-hooks@2.8.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.40.0 + '@opentelemetry/api': 1.9.1 - '@opentelemetry/core@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/semantic-conventions': 1.41.1 - '@opentelemetry/exporter-logs-otlp-grpc@0.203.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/core@2.8.0(@opentelemetry/api@1.9.1)': dependencies: - '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.203.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/semantic-conventions': 1.41.1 - '@opentelemetry/exporter-logs-otlp-grpc@0.206.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/core@2.9.0(@opentelemetry/api@1.9.1)': dependencies: - '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.206.0(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-logs-otlp-http@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.203.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.203.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/semantic-conventions': 1.41.1 - '@opentelemetry/exporter-logs-otlp-http@0.206.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.206.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.206.0(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-logs-otlp-proto@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.203.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-logs-otlp-proto@0.206.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.206.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.1.0(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-metrics-otlp-grpc@0.203.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-logs-otlp-grpc@0.219.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.219.0(@opentelemetry/api@1.9.1) - '@opentelemetry/exporter-metrics-otlp-http@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-metrics-otlp-proto@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-prometheus@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-trace-otlp-grpc@0.203.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/exporter-logs-otlp-grpc@0.220.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-grpc-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-trace-otlp-http@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-trace-otlp-proto@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/exporter-zipkin@2.0.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 - - '@opentelemetry/exporter-zipkin@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.220.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-logs-otlp-http@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.219.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-logs-otlp-http@0.220.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.220.0 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.220.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-logs-otlp-proto@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-logs-otlp-proto@0.220.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/otlp-exporter-base': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.220.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-metrics-otlp-grpc@0.219.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 - - '@opentelemetry/instrumentation-http@0.203.0(@opentelemetry/api@1.9.0)': + '@grpc/grpc-js': 1.14.3 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-metrics-otlp-http@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-metrics-otlp-proto@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-prometheus@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 + + '@opentelemetry/exporter-trace-otlp-grpc@0.219.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@grpc/grpc-js': 1.14.3 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-trace-otlp-http@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-trace-otlp-proto@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/exporter-zipkin@2.8.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 + + '@opentelemetry/instrumentation-http@0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0) + '@opentelemetry/semantic-conventions': 1.41.1 forwarded-parse: 2.1.2 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-undici@0.14.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-undici@0.29.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0) + '@opentelemetry/semantic-conventions': 1.41.1 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation@0.203.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation@0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.203.0 - import-in-the-middle: 1.15.0 - require-in-the-middle: 7.5.2 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.219.0 + import-in-the-middle: 3.5.2 + require-in-the-middle: 8.0.1(supports-color@7.2.0) transitivePeerDependencies: - supports-color - '@opentelemetry/otlp-exporter-base@0.203.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-exporter-base@0.219.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-exporter-base@0.206.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-exporter-base@0.220.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.206.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.220.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-grpc-exporter-base@0.203.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-grpc-exporter-base@0.219.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.203.0(@opentelemetry/api@1.9.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.219.0(@opentelemetry/api@1.9.1) - '@opentelemetry/otlp-grpc-exporter-base@0.206.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/otlp-grpc-exporter-base@0.220.0(@opentelemetry/api@1.9.1)': dependencies: '@grpc/grpc-js': 1.14.3 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-exporter-base': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/otlp-transformer': 0.206.0(@opentelemetry/api@1.9.0) - - '@opentelemetry/otlp-transformer@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.203.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - protobufjs: 7.5.4 - - '@opentelemetry/otlp-transformer@0.206.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.206.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.1.0(@opentelemetry/api@1.9.0) - protobufjs: 7.5.4 - - '@opentelemetry/propagator-b3@2.0.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/propagator-jaeger@2.0.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/resources@2.0.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 - - '@opentelemetry/resources@2.1.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.40.0 - - '@opentelemetry/resources@2.6.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 - - '@opentelemetry/sdk-logs@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.203.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/sdk-logs@0.206.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.206.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) - - '@opentelemetry/sdk-metrics@2.0.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/sdk-metrics@2.1.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) - - '@opentelemetry/sdk-node@0.203.0(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/api-logs': 0.203.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-grpc': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-http': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-proto': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-grpc': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-http': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-metrics-otlp-proto': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-prometheus': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-grpc': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-http': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-proto': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-zipkin': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/propagator-b3': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/propagator-jaeger': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-node': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-transformer': 0.220.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/otlp-transformer@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/otlp-transformer@0.220.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.220.0 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.9.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/propagator-b3@2.8.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/propagator-jaeger@2.8.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 + + '@opentelemetry/resources@2.8.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 + + '@opentelemetry/resources@2.9.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 + + '@opentelemetry/sdk-logs@0.219.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 + + '@opentelemetry/sdk-logs@0.220.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.220.0 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 + + '@opentelemetry/sdk-metrics@2.8.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/sdk-metrics@2.9.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.9.0(@opentelemetry/api@1.9.1) + + '@opentelemetry/sdk-node@0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.219.0 + '@opentelemetry/configuration': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/context-async-hooks': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-grpc': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-http': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-proto': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-grpc': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-http': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-metrics-otlp-proto': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-prometheus': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-grpc': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-http': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-proto': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-zipkin': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0) + '@opentelemetry/otlp-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/propagator-b3': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/propagator-jaeger': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-metrics': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-node': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 transitivePeerDependencies: - supports-color - '@opentelemetry/sdk-trace-base@2.0.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-trace-base@2.8.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 - '@opentelemetry/sdk-trace-base@2.1.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-trace-node@2.8.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.40.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/context-async-hooks': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base@2.6.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/sdk-trace@2.9.0(@opentelemetry/api@1.9.1)': dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.9.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 - '@opentelemetry/sdk-trace-node@2.0.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 2.0.1(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.0.1(@opentelemetry/api@1.9.0) - - '@opentelemetry/semantic-conventions@1.36.0': {} - - '@opentelemetry/semantic-conventions@1.40.0': {} + '@opentelemetry/semantic-conventions@1.41.1': {} '@phosphor-icons/core@2.1.1': {} '@pinojs/redact@0.4.0': {} - '@platformatic/basic@3.41.0': + '@platformatic/basic@4.0.0-alpha.2(supports-color@7.2.0)': dependencies: '@fastify/error': 4.2.0 - '@platformatic/foundation': 3.41.0 - '@platformatic/itc': 3.41.0 - '@platformatic/metrics': 3.41.0 - '@platformatic/telemetry': 3.41.0 + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/globals': 4.0.0-alpha.2 + '@platformatic/itc': 4.0.0-alpha.2 + '@platformatic/metrics': 4.0.0-alpha.2 + '@platformatic/tracing': 4.0.0-alpha.2(supports-color@7.2.0) execa: 9.6.1 fast-json-patch: 3.1.1 pino: 9.14.0 pino-abstract-transport: 2.0.0 semver: 7.7.4 split2: 4.2.0 - undici: 7.24.4 + undici: 8.12.2 ws: 8.19.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@platformatic/control@3.41.0': + '@platformatic/control@4.0.0-alpha.2(supports-color@7.2.0)': dependencies: '@fastify/error': 4.2.0 - '@platformatic/foundation': 3.41.0 + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) help-me: 5.0.0 pino: 9.14.0 pino-pretty: 13.1.3 table: 6.9.0 - undici: 7.24.4 + undici: 8.12.2 ws: 8.19.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@platformatic/fastify-openapi-glue@5.1.0': + '@platformatic/dynamic-buffer@0.4.0': {} + + '@platformatic/fastify-openapi-glue@5.2.0': dependencies: '@platformatic/openapi-schema-validator': 3.0.0 fastify-plugin: 5.1.0 js-yaml: 4.1.1 - '@platformatic/foundation@3.41.0': + '@platformatic/foundation@4.0.0-alpha.2(supports-color@7.2.0)': dependencies: - '@fastify/deepmerge': 2.0.2 + '@fastify/deepmerge': 3.2.2 '@fastify/error': 4.2.0 '@iarna/toml': 2.2.5 '@watchable/unpromise': 1.0.2 ajv: 8.18.0 boring-name-generator: 1.0.3 colorette: 2.0.20 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) fast-json-patch: 3.1.1 json5: 2.2.3 leven: 3.1.0 pino: 9.14.0 pino-pretty: 13.1.3 semver: 7.7.4 - undici: 7.18.2 - yaml: 2.8.2 + undici: 8.12.2 + yaml: 2.9.1 transitivePeerDependencies: - supports-color - '@platformatic/gateway@3.41.0(chokidar@3.6.0)(typescript@5.9.3)': + '@platformatic/gateway@4.0.0-alpha.2(chokidar@3.6.0)(supports-color@7.2.0)': dependencies: '@fastify/error': 4.2.0 - '@fastify/http-proxy': 11.4.1 - '@fastify/reply-from': 12.6.1 - '@fastify/static': 8.3.0 - '@fastify/swagger': 9.7.0 - '@fastify/view': 10.0.2 - '@platformatic/basic': 3.41.0 - '@platformatic/fastify-openapi-glue': 5.1.0 - '@platformatic/foundation': 3.41.0 - '@platformatic/graphql-composer': 0.10.1 - '@platformatic/scalar-theme': 3.41.0 - '@platformatic/service': 3.41.0(typescript@5.9.3) - '@platformatic/telemetry': 3.41.0 - '@scalar/fastify-api-reference': 1.34.6(typescript@5.9.3) + '@fastify/http-proxy': 11.6.4 + '@fastify/reply-from': 12.7.1 + '@fastify/static': 10.1.6 + '@fastify/swagger': 9.7.0(supports-color@7.2.0) + '@fastify/view': 12.0.1 + '@platformatic/basic': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/dynamic-buffer': 0.4.0 + '@platformatic/fastify-openapi-glue': 5.2.0 + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/globals': 4.0.0-alpha.2 + '@platformatic/openapi-schema-validator': 3.0.0 + '@platformatic/scalar-theme': 4.0.0-alpha.2 + '@platformatic/service': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/tracing': 4.0.0-alpha.2(supports-color@7.2.0) + '@scalar/fastify-api-reference': 1.62.5 ajv: 8.18.0 console-table-printer: 2.15.0 execa: 9.6.1 fast-deep-equal: 3.1.3 fastify: 5.8.2 - fastify-plugin: 5.1.0 - graphql: 16.13.1 + fastify-plugin: 6.0.1 + find-my-way: 9.5.0 help-me: 5.0.0 + iovalkey: 0.3.3(supports-color@7.2.0) json-schema-traverse: 1.0.0 - mercurius: 16.8.0(graphql@16.13.1) minimist: 1.2.8 + msgpackr: 1.12.1 my-ua-parser: 2.0.4 nunjucks: 3.2.4(chokidar@3.6.0) ora: 6.3.1 pino: 9.14.0 pino-pretty: 13.1.3 rfdc: 1.4.1 + safe-stable-stringify: 2.5.0 semgrator: 0.3.0 - undici: 7.24.4 + undici: 8.12.2 transitivePeerDependencies: - bufferutil - chokidar - supports-color - - typescript - utf-8-validate - '@platformatic/generators@3.41.0': + '@platformatic/generators@4.0.0-alpha.2(supports-color@7.2.0)': dependencies: '@fastify/error': 4.2.0 - '@platformatic/foundation': 3.41.0 + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) change-case-all: 2.1.0 execa: 9.6.1 fastify: 5.8.2 + magicast: 0.5.5 pino: 9.14.0 - undici: 7.24.4 + undici: 8.12.2 transitivePeerDependencies: - supports-color - '@platformatic/graphql-composer@0.10.1': + '@platformatic/globals@4.0.0-alpha.2': dependencies: - abstract-logger: 0.2.5 - fastify: 5.8.2 - graphql: 16.13.1 - mercurius: 16.8.0(graphql@16.13.1) - metaline: 1.1.0 + '@fastify/error': 4.2.0 + '@opentelemetry/api': 1.9.1 + '@platformatic/prom-client': 1.0.0 pino: 9.14.0 - undici: 7.24.4 - transitivePeerDependencies: - - bufferutil - - utf-8-validate '@platformatic/http-metrics@0.3.0': dependencies: '@platformatic/prom-client': 1.0.0 - '@platformatic/itc@3.41.0': + '@platformatic/itc@4.0.0-alpha.2': dependencies: '@fastify/error': 4.2.0 + '@opentelemetry/api': 1.9.1 + '@platformatic/globals': 4.0.0-alpha.2 '@watchable/unpromise': 1.0.2 - '@platformatic/metrics@3.41.0': + '@platformatic/metrics@4.0.0-alpha.2': dependencies: + '@platformatic/globals': 4.0.0-alpha.2 '@platformatic/http-metrics': 0.3.0 '@platformatic/prom-client': 1.0.0 - '@platformatic/promotel': 0.1.0 + '@platformatic/promotel': 0.2.2 - '@platformatic/node@3.41.0': + '@platformatic/node@4.0.0-alpha.2(supports-color@7.2.0)': dependencies: - '@platformatic/basic': 3.41.0 - '@platformatic/foundation': 3.41.0 - '@platformatic/generators': 3.41.0 + '@platformatic/basic': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/generators': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/globals': 4.0.0-alpha.2 '@watchable/unpromise': 1.0.2 json5: 2.2.3 light-my-request: 6.6.0 @@ -6345,30 +6424,32 @@ snapshots: '@platformatic/prom-client@1.0.0': dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 - '@platformatic/promotel@0.1.0': + '@platformatic/promotel@0.2.2': dependencies: long: 5.3.2 prom-client: 15.1.3 - protobufjs: 7.5.4 - undici: 6.24.1 + protobufjs: 8.8.1 + undici: 7.30.1 - '@platformatic/runtime@3.41.0': + '@platformatic/runtime@4.0.0-alpha.2(supports-color@7.2.0)': dependencies: '@fastify/accepts': 5.0.4 '@fastify/basic-auth': 6.2.0 '@fastify/error': 4.2.0 '@fastify/websocket': 11.2.0 - '@opentelemetry/api': 1.9.0 - '@platformatic/basic': 3.41.0 - '@platformatic/foundation': 3.41.0 - '@platformatic/generators': 3.41.0 - '@platformatic/itc': 3.41.0 - '@platformatic/metrics': 3.41.0 + '@opentelemetry/api': 1.9.1 + '@opentelemetry/exporter-metrics-otlp-proto': 0.219.0(@opentelemetry/api@1.9.1) + '@platformatic/basic': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/generators': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/globals': 4.0.0-alpha.2 + '@platformatic/itc': 4.0.0-alpha.2 + '@platformatic/metrics': 4.0.0-alpha.2 '@platformatic/prom-client': 1.0.0 - '@platformatic/telemetry': 3.41.0 - '@platformatic/undici-cache-memory': 0.8.4 + '@platformatic/tracing': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/undici-cache-memory': 0.9.0 '@watchable/unpromise': 1.0.2 change-case-all: 2.1.0 close-with-grace: 2.5.0 @@ -6380,40 +6461,42 @@ snapshots: graphql: 16.13.1 help-me: 5.0.0 minimist: 1.2.8 - pino: 9.14.0 - pino-opentelemetry-transport: 2.0.0(@opentelemetry/api@1.9.0)(pino@9.14.0) + pino: 10.3.1 + pino-opentelemetry-transport: 4.0.2(pino@10.3.1) pino-pretty: 13.1.3 semgrator: 0.3.0 + semver: 7.7.4 sonic-boom: 4.2.1 systeminformation: 5.31.4 - undici: 7.24.4 - undici-thread-interceptor: 1.3.1 + undici: 8.12.2 + undici-thread-interceptor: 2.2.0 ws: 8.19.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - '@platformatic/scalar-theme@3.41.0': {} + '@platformatic/scalar-theme@4.0.0-alpha.2': {} - '@platformatic/service@3.41.0(typescript@5.9.3)': + '@platformatic/service@4.0.0-alpha.2(supports-color@7.2.0)': dependencies: '@fastify/accepts': 5.0.4 '@fastify/autoload': 6.3.1 - '@fastify/cors': 10.1.0 - '@fastify/deepmerge': 2.0.2 + '@fastify/cors': 11.3.1 + '@fastify/deepmerge': 3.2.2 '@fastify/error': 4.2.0 - '@fastify/static': 8.3.0 - '@fastify/swagger': 9.7.0 + '@fastify/static': 10.1.6 + '@fastify/swagger': 9.7.0(supports-color@7.2.0) '@fastify/under-pressure': 9.0.3 - '@platformatic/basic': 3.41.0 - '@platformatic/foundation': 3.41.0 - '@platformatic/generators': 3.41.0 - '@platformatic/metrics': 3.41.0 - '@platformatic/scalar-theme': 3.41.0 - '@platformatic/telemetry': 3.41.0 - '@scalar/fastify-api-reference': 1.34.6(typescript@5.9.3) - '@types/node': 22.19.15 + '@platformatic/basic': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/generators': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/globals': 4.0.0-alpha.2 + '@platformatic/metrics': 4.0.0-alpha.2 + '@platformatic/scalar-theme': 4.0.0-alpha.2 + '@platformatic/tracing': 4.0.0-alpha.2(supports-color@7.2.0) + '@scalar/fastify-api-reference': 1.62.5 + '@types/node': 24.12.0 '@types/ws': 8.18.1 ajv: 8.18.0 cli-progress: 3.12.0 @@ -6425,7 +6508,7 @@ snapshots: execa: 9.6.1 fast-json-patch: 3.1.1 fastify: 5.8.2 - fastify-plugin: 5.1.0 + fastify-plugin: 6.0.1 graphql: 16.13.1 help-me: 5.0.0 mercurius: 16.8.0(graphql@16.13.1) @@ -6436,29 +6519,30 @@ snapshots: pino-pretty: 13.1.3 rfdc: 1.4.1 semgrator: 0.3.0 - undici: 7.24.4 + undici: 8.12.2 transitivePeerDependencies: - bufferutil - supports-color - - typescript - utf-8-validate - '@platformatic/telemetry@3.41.0': - dependencies: - '@fastify/swagger': 9.7.0 - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-trace-otlp-proto': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-zipkin': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-http': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-undici': 0.14.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-node': 0.203.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.36.0 - '@platformatic/foundation': 3.41.0 - fast-uri: 3.1.0 + '@platformatic/tracing@4.0.0-alpha.2(supports-color@7.2.0)': + dependencies: + '@fastify/swagger': 9.7.0(supports-color@7.2.0) + '@opentelemetry/api': 1.9.1 + '@opentelemetry/core': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-grpc': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-trace-otlp-proto': 0.219.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-zipkin': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/instrumentation': 0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0) + '@opentelemetry/instrumentation-http': 0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0) + '@opentelemetry/instrumentation-undici': 0.29.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0) + '@opentelemetry/resources': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-node': 0.219.0(@opentelemetry/api@1.9.1)(supports-color@7.2.0) + '@opentelemetry/sdk-trace-base': 2.8.0(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/globals': 4.0.0-alpha.2 + fast-uri: 4.2.2 fastify-plugin: 5.1.0 transitivePeerDependencies: - supports-color @@ -6472,14 +6556,15 @@ snapshots: react-dom: 19.2.4(react@19.2.4) react-tooltip: 4.5.1(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@platformatic/undici-cache-memory@0.8.4': {} + '@platformatic/undici-cache-memory@0.9.0': {} - '@platformatic/vite@3.41.0': + '@platformatic/vite@4.0.0-alpha.2(supports-color@7.2.0)': dependencies: - '@fastify/static': 8.3.0 - '@platformatic/basic': 3.41.0 - '@platformatic/foundation': 3.41.0 - '@platformatic/node': 3.41.0 + '@fastify/static': 10.1.6 + '@platformatic/basic': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/globals': 4.0.0-alpha.2 + '@platformatic/node': 4.0.0-alpha.2(supports-color@7.2.0) fastify: 5.8.2 semver: 7.7.4 transitivePeerDependencies: @@ -6487,11 +6572,12 @@ snapshots: - supports-color - utf-8-validate - '@platformatic/wattpm-pprof-capture@3.41.0': + '@platformatic/wattpm-pprof-capture@4.0.0-alpha.2': dependencies: '@datadog/pprof': 5.13.5 '@fastify/error': 4.2.0 - undici: 7.24.4 + '@platformatic/globals': 4.0.0-alpha.2 + undici: 8.12.2 '@playwright/test@1.58.2': dependencies: @@ -6603,11 +6689,11 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.59.0': optional: true - '@scalar/agent-chat@0.9.8(change-case@5.4.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3)': + '@scalar/agent-chat@0.9.8(change-case@5.4.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3)': dependencies: '@ai-sdk/vue': 3.0.33(vue@3.5.30(typescript@5.9.3))(zod@4.3.6) - '@scalar/api-client': 2.38.0(change-case@5.4.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) - '@scalar/components': 0.20.8(typescript@5.9.3) + '@scalar/api-client': 2.38.0(change-case@5.4.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) + '@scalar/components': 0.20.8(supports-color@7.2.0)(typescript@5.9.3) '@scalar/helpers': 0.4.1 '@scalar/icons': 0.6.0(typescript@5.9.3) '@scalar/json-magic': 0.12.3 @@ -6615,7 +6701,7 @@ snapshots: '@scalar/themes': 0.15.0 '@scalar/types': 0.7.3 '@scalar/use-toasts': 0.10.0(typescript@5.9.3) - '@scalar/workspace-store': 0.40.1(typescript@5.9.3) + '@scalar/workspace-store': 0.40.1(supports-color@7.2.0)(typescript@5.9.3) '@vueuse/core': 13.9.0(vue@3.5.30(typescript@5.9.3)) ai: 6.0.33(zod@4.3.6) neverpanic: 0.0.5(typescript@5.9.3) @@ -6643,31 +6729,31 @@ snapshots: dependencies: zod: 4.3.6 - '@scalar/api-client@2.38.0(change-case@5.4.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3)': + '@scalar/api-client@2.38.0(change-case@5.4.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3)': dependencies: '@headlessui/tailwindcss': 0.2.2(tailwindcss@3.4.19(yaml@2.8.2)) '@headlessui/vue': 1.7.23(vue@3.5.30(typescript@5.9.3)) '@scalar/analytics-client': 1.1.0 - '@scalar/components': 0.20.8(typescript@5.9.3) + '@scalar/components': 0.20.8(supports-color@7.2.0)(typescript@5.9.3) '@scalar/draggable': 0.4.0(typescript@5.9.3) '@scalar/helpers': 0.4.1 '@scalar/icons': 0.6.0(typescript@5.9.3) '@scalar/import': 0.5.2 '@scalar/json-magic': 0.12.3 - '@scalar/oas-utils': 0.10.7(typescript@5.9.3) + '@scalar/oas-utils': 0.10.7(supports-color@7.2.0)(typescript@5.9.3) '@scalar/object-utils': 1.3.2 '@scalar/openapi-parser': 0.25.3 '@scalar/openapi-types': 0.6.0 '@scalar/postman-to-openapi': 0.5.2 - '@scalar/sidebar': 0.8.8(typescript@5.9.3) + '@scalar/sidebar': 0.8.8(supports-color@7.2.0)(typescript@5.9.3) '@scalar/snippetz': 0.7.4 '@scalar/themes': 0.15.0 '@scalar/typebox': 0.1.3 '@scalar/types': 0.7.3 - '@scalar/use-codemirror': 0.14.8(typescript@5.9.3) + '@scalar/use-codemirror': 0.14.8(supports-color@7.2.0)(typescript@5.9.3) '@scalar/use-hooks': 0.4.0(typescript@5.9.3) '@scalar/use-toasts': 0.10.0(typescript@5.9.3) - '@scalar/workspace-store': 0.40.1(typescript@5.9.3) + '@scalar/workspace-store': 0.40.1(supports-color@7.2.0)(typescript@5.9.3) '@types/har-format': 1.2.16 '@vueuse/core': 13.9.0(vue@3.5.30(typescript@5.9.3)) '@vueuse/integrations': 13.9.0(change-case@5.4.4)(focus-trap@7.8.0)(fuse.js@7.1.0)(vue@3.5.30(typescript@5.9.3)) @@ -6704,9 +6790,9 @@ snapshots: - typescript - universal-cookie - '@scalar/api-reference-react@0.9.9(change-case@5.4.4)(react@19.2.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3)': + '@scalar/api-reference-react@0.9.9(change-case@5.4.4)(react@19.2.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3)': dependencies: - '@scalar/api-reference': 1.48.8(change-case@5.4.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) + '@scalar/api-reference': 1.48.8(change-case@5.4.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) '@scalar/types': 0.7.3 react: 19.2.4 transitivePeerDependencies: @@ -6725,25 +6811,25 @@ snapshots: - typescript - universal-cookie - '@scalar/api-reference@1.48.8(change-case@5.4.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3)': + '@scalar/api-reference@1.48.8(change-case@5.4.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3)': dependencies: '@headlessui/vue': 1.7.23(vue@3.5.30(typescript@5.9.3)) - '@scalar/agent-chat': 0.9.8(change-case@5.4.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) - '@scalar/api-client': 2.38.0(change-case@5.4.4)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) - '@scalar/code-highlight': 0.3.0 - '@scalar/components': 0.20.8(typescript@5.9.3) + '@scalar/agent-chat': 0.9.8(change-case@5.4.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) + '@scalar/api-client': 2.38.0(change-case@5.4.4)(supports-color@7.2.0)(tailwindcss@3.4.19(yaml@2.8.2))(typescript@5.9.3) + '@scalar/code-highlight': 0.3.0(supports-color@7.2.0) + '@scalar/components': 0.20.8(supports-color@7.2.0)(typescript@5.9.3) '@scalar/helpers': 0.4.1 '@scalar/icons': 0.6.0(typescript@5.9.3) - '@scalar/oas-utils': 0.10.7(typescript@5.9.3) + '@scalar/oas-utils': 0.10.7(supports-color@7.2.0)(typescript@5.9.3) '@scalar/openapi-parser': 0.25.3 '@scalar/openapi-types': 0.6.0 - '@scalar/sidebar': 0.8.8(typescript@5.9.3) + '@scalar/sidebar': 0.8.8(supports-color@7.2.0)(typescript@5.9.3) '@scalar/snippetz': 0.7.4 '@scalar/themes': 0.15.0 '@scalar/types': 0.7.3 '@scalar/use-hooks': 0.4.0(typescript@5.9.3) '@scalar/use-toasts': 0.10.0(typescript@5.9.3) - '@scalar/workspace-store': 0.40.1(typescript@5.9.3) + '@scalar/workspace-store': 0.40.1(supports-color@7.2.0)(typescript@5.9.3) '@unhead/vue': 2.1.12(vue@3.5.30(typescript@5.9.3)) '@vueuse/core': 13.9.0(vue@3.5.30(typescript@5.9.3)) fuse.js: 7.1.0 @@ -6767,7 +6853,13 @@ snapshots: - typescript - universal-cookie - '@scalar/code-highlight@0.3.0': + '@scalar/client-side-rendering@0.3.2': + dependencies: + '@scalar/schemas': 0.7.2 + '@scalar/types': 0.16.2 + '@scalar/validation': 0.6.0 + + '@scalar/code-highlight@0.3.0(supports-color@7.2.0)': dependencies: hast-util-to-text: 4.0.2 highlight.js: 11.11.1 @@ -6779,8 +6871,8 @@ snapshots: rehype-raw: 7.0.0 rehype-sanitize: 6.0.0 rehype-stringify: 10.0.1 - remark-gfm: 4.0.1 - remark-parse: 11.0.0 + remark-gfm: 4.0.1(supports-color@7.2.0) + remark-parse: 11.0.0(supports-color@7.2.0) remark-rehype: 11.1.2 remark-stringify: 11.0.0 unified: 11.0.5 @@ -6788,15 +6880,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@scalar/components@0.20.8(typescript@5.9.3)': + '@scalar/components@0.20.8(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@floating-ui/utils': 0.2.10 '@floating-ui/vue': 1.1.9(vue@3.5.30(typescript@5.9.3)) '@headlessui/vue': 1.7.23(vue@3.5.30(typescript@5.9.3)) - '@scalar/code-highlight': 0.3.0 + '@scalar/code-highlight': 0.3.0(supports-color@7.2.0) '@scalar/helpers': 0.4.1 '@scalar/icons': 0.6.0(typescript@5.9.3) - '@scalar/oas-utils': 0.10.7(typescript@5.9.3) + '@scalar/oas-utils': 0.10.7(supports-color@7.2.0)(typescript@5.9.3) '@scalar/themes': 0.15.0 '@scalar/use-hooks': 0.4.0(typescript@5.9.3) '@vueuse/core': 13.9.0(vue@3.5.30(typescript@5.9.3)) @@ -6811,30 +6903,24 @@ snapshots: - supports-color - typescript - '@scalar/core@0.3.14': - dependencies: - '@scalar/types': 0.2.13 - '@scalar/draggable@0.4.0(typescript@5.9.3)': dependencies: vue: 3.5.30(typescript@5.9.3) transitivePeerDependencies: - typescript - '@scalar/fastify-api-reference@1.34.6(typescript@5.9.3)': + '@scalar/fastify-api-reference@1.62.5': dependencies: - '@scalar/core': 0.3.14 - '@scalar/openapi-parser': 0.20.1(typescript@5.9.3) - '@scalar/openapi-types': 0.3.7 + '@scalar/client-side-rendering': 0.3.2 + '@scalar/openapi-parser': 0.28.8 + '@scalar/openapi-types': 0.9.1 fastify-plugin: 4.5.1 github-slugger: 2.0.0 - transitivePeerDependencies: - - typescript - - '@scalar/helpers@0.0.8': {} '@scalar/helpers@0.4.1': {} + '@scalar/helpers@0.9.0': {} + '@scalar/icons@0.6.0(typescript@5.9.3)': dependencies: '@phosphor-icons/core': 2.1.1 @@ -6849,21 +6935,19 @@ snapshots: '@scalar/helpers': 0.4.1 yaml: 2.8.2 + '@scalar/json-magic@0.12.17': + dependencies: + '@scalar/helpers': 0.9.0 + pathe: 2.0.3 + yaml: 2.9.1 + '@scalar/json-magic@0.12.3': dependencies: '@scalar/helpers': 0.4.1 pathe: 2.0.3 yaml: 2.8.2 - '@scalar/json-magic@0.3.1(typescript@5.9.3)': - dependencies: - '@scalar/helpers': 0.0.8 - vue: 3.5.30(typescript@5.9.3) - yaml: 2.8.0 - transitivePeerDependencies: - - typescript - - '@scalar/oas-utils@0.10.7(typescript@5.9.3)': + '@scalar/oas-utils@0.10.7(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@scalar/helpers': 0.4.1 '@scalar/json-magic': 0.12.3 @@ -6871,7 +6955,7 @@ snapshots: '@scalar/openapi-types': 0.6.0 '@scalar/themes': 0.15.0 '@scalar/types': 0.7.3 - '@scalar/workspace-store': 0.40.1(typescript@5.9.3) + '@scalar/workspace-store': 0.40.1(supports-color@7.2.0)(typescript@5.9.3) flatted: 3.4.1 github-slugger: 2.0.0 type-fest: 5.4.4 @@ -6889,19 +6973,6 @@ snapshots: just-clone: 6.2.0 ts-deepmerge: 7.0.3 - '@scalar/openapi-parser@0.20.1(typescript@5.9.3)': - dependencies: - '@scalar/json-magic': 0.3.1(typescript@5.9.3) - '@scalar/openapi-types': 0.3.7 - ajv: 8.18.0 - ajv-draft-04: 1.0.0(ajv@8.18.0) - ajv-formats: 3.0.1(ajv@8.18.0) - jsonpointer: 5.0.1 - leven: 4.1.0 - yaml: 2.8.0 - transitivePeerDependencies: - - typescript - '@scalar/openapi-parser@0.25.3': dependencies: '@scalar/helpers': 0.4.1 @@ -6915,31 +6986,51 @@ snapshots: leven: 4.1.0 yaml: 2.8.2 - '@scalar/openapi-types@0.3.7': + '@scalar/openapi-parser@0.28.8': dependencies: - zod: 3.24.1 + '@scalar/helpers': 0.9.0 + '@scalar/json-magic': 0.12.17 + '@scalar/openapi-types': 0.9.1 + '@scalar/openapi-upgrader': 0.2.9 + ajv: 8.18.0 + ajv-draft-04: 1.0.0(ajv@8.18.0) + ajv-formats: 3.0.1(ajv@8.18.0) + jsonpointer: 5.0.1 + leven: 4.1.0 + yaml: 2.9.1 '@scalar/openapi-types@0.6.0': dependencies: zod: 4.3.6 + '@scalar/openapi-types@0.9.1': {} + '@scalar/openapi-upgrader@0.2.0': dependencies: '@scalar/openapi-types': 0.6.0 + '@scalar/openapi-upgrader@0.2.9': + dependencies: + '@scalar/openapi-types': 0.9.1 + '@scalar/postman-to-openapi@0.5.2': dependencies: '@scalar/helpers': 0.4.1 '@scalar/openapi-types': 0.6.0 - '@scalar/sidebar@0.8.8(typescript@5.9.3)': + '@scalar/schemas@0.7.2': + dependencies: + '@scalar/helpers': 0.9.0 + '@scalar/validation': 0.6.0 + + '@scalar/sidebar@0.8.8(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@scalar/components': 0.20.8(typescript@5.9.3) + '@scalar/components': 0.20.8(supports-color@7.2.0)(typescript@5.9.3) '@scalar/helpers': 0.4.1 '@scalar/icons': 0.6.0(typescript@5.9.3) '@scalar/themes': 0.15.0 '@scalar/use-hooks': 0.4.0(typescript@5.9.3) - '@scalar/workspace-store': 0.40.1(typescript@5.9.3) + '@scalar/workspace-store': 0.40.1(supports-color@7.2.0)(typescript@5.9.3) vue: 3.5.30(typescript@5.9.3) transitivePeerDependencies: - '@vue/composition-api' @@ -6958,11 +7049,12 @@ snapshots: '@scalar/typebox@0.1.3': {} - '@scalar/types@0.2.13': + '@scalar/types@0.16.2': dependencies: - '@scalar/openapi-types': 0.3.7 - nanoid: 5.1.5 - zod: 3.24.1 + '@scalar/helpers': 0.9.0 + nanoid: 5.1.7 + type-fest: 5.4.4 + zod: 4.3.6 '@scalar/types@0.7.3': dependencies: @@ -6971,7 +7063,7 @@ snapshots: type-fest: 5.4.4 zod: 4.3.6 - '@scalar/use-codemirror@0.14.8(typescript@5.9.3)': + '@scalar/use-codemirror@0.14.8(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@codemirror/autocomplete': 6.20.1 '@codemirror/commands': 6.10.3 @@ -6987,7 +7079,7 @@ snapshots: '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.3 '@replit/codemirror-css-color-picker': 6.3.0(@codemirror/language@6.12.2)(@codemirror/state@6.6.0)(@codemirror/view@6.40.0) - '@scalar/components': 0.20.8(typescript@5.9.3) + '@scalar/components': 0.20.8(supports-color@7.2.0)(typescript@5.9.3) vue: 3.5.30(typescript@5.9.3) transitivePeerDependencies: - '@vue/composition-api' @@ -7012,9 +7104,11 @@ snapshots: transitivePeerDependencies: - typescript - '@scalar/workspace-store@0.40.1(typescript@5.9.3)': + '@scalar/validation@0.6.0': {} + + '@scalar/workspace-store@0.40.1(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@scalar/code-highlight': 0.3.0 + '@scalar/code-highlight': 0.3.0(supports-color@7.2.0) '@scalar/helpers': 0.4.1 '@scalar/json-magic': 0.12.3 '@scalar/object-utils': 1.3.2 @@ -7036,10 +7130,10 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@2.11.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3)': + '@stylistic/eslint-plugin@2.11.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) - eslint: 9.39.4(jiti@1.21.7) + '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -7228,10 +7322,6 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@22.19.15': - dependencies: - undici-types: 6.21.0 - '@types/node@24.12.0': dependencies: undici-types: 7.16.0 @@ -7258,15 +7348,15 @@ snapshots: dependencies: '@types/node': 24.12.0 - '@typescript-eslint/eslint-plugin@8.57.0(@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.57.0(@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/parser': 8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.57.0 - '@typescript-eslint/type-utils': 8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.57.0 - eslint: 9.39.4(jiti@1.21.7) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -7274,23 +7364,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3)': + '@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.57.0 '@typescript-eslint/types': 8.57.0 - '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.57.0(supports-color@7.2.0)(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.57.0 - debug: 4.4.3 - eslint: 9.39.4(jiti@1.21.7) + debug: 4.4.3(supports-color@7.2.0) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.57.0(typescript@5.9.3)': + '@typescript-eslint/project-service@8.57.0(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.57.0(typescript@5.9.3) '@typescript-eslint/types': 8.57.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -7304,13 +7394,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.57.0 - '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) - debug: 4.4.3 - eslint: 9.39.4(jiti@1.21.7) + '@typescript-eslint/typescript-estree': 8.57.0(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + debug: 4.4.3(supports-color@7.2.0) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -7318,13 +7408,13 @@ snapshots: '@typescript-eslint/types@8.57.0': {} - '@typescript-eslint/typescript-estree@8.57.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.57.0(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.57.0(typescript@5.9.3) + '@typescript-eslint/project-service': 8.57.0(supports-color@7.2.0)(typescript@5.9.3) '@typescript-eslint/tsconfig-utils': 8.57.0(typescript@5.9.3) '@typescript-eslint/types': 8.57.0 '@typescript-eslint/visitor-keys': 8.57.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) minimatch: 10.2.4 semver: 7.7.4 tinyglobby: 0.2.15 @@ -7333,13 +7423,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3)': + '@typescript-eslint/utils@8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) '@typescript-eslint/scope-manager': 8.57.0 '@typescript-eslint/types': 8.57.0 - '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3) - eslint: 9.39.4(jiti@1.21.7) + '@typescript-eslint/typescript-estree': 8.57.0(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -7359,11 +7449,11 @@ snapshots: '@vercel/oidc@3.1.0': {} - '@vitejs/plugin-react@5.2.0(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2))': + '@vitejs/plugin-react@5.2.0(supports-color@7.2.0)(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2))': dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) + '@babel/core': 7.29.0(supports-color@7.2.0) + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0(supports-color@7.2.0)) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0(supports-color@7.2.0)) '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 @@ -7518,11 +7608,6 @@ snapshots: dependencies: event-target-shim: 5.0.1 - abstract-logger@0.2.5: - dependencies: - inherits-ex: 1.6.0 - util-ex: 0.3.18 - abstract-logging@2.0.1: {} accepts@1.3.8: @@ -7530,10 +7615,6 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-import-attributes@1.9.5(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@8.16.0): dependencies: acorn: 8.16.0 @@ -7731,11 +7812,6 @@ snapshots: node-releases: 2.0.36 update-browserslist-db: 1.2.3(browserslist@4.28.1) - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - buffer@6.0.3: dependencies: base64-js: 1.5.1 @@ -7806,7 +7882,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - cjs-module-lexer@1.4.3: {} + cjs-module-lexer@2.3.0: {} clean-stack@2.2.0: {} @@ -7834,6 +7910,8 @@ snapshots: clsx@2.1.1: {} + cluster-key-slot@1.1.2: {} + code-block-writer@13.0.3: {} color-convert@2.0.1: @@ -7860,12 +7938,10 @@ snapshots: dependencies: simple-wcswidth: 1.1.2 - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - content-disposition@1.0.1: {} + content-disposition@3.0.0: {} + convert-hrtime@5.0.0: {} convert-source-map@2.0.0: {} @@ -8077,9 +8153,11 @@ snapshots: debounce@2.2.0: {} - debug@4.4.3: + debug@4.4.3(supports-color@7.2.0): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 7.2.0 decode-named-character-reference@1.3.0: dependencies: @@ -8109,10 +8187,15 @@ snapshots: dependencies: robust-predicates: 3.0.2 + denque@2.1.0: {} + depd@2.0.0: {} dequal@2.0.3: {} + detect-libc@2.1.2: + optional: true + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -8244,6 +8327,8 @@ snapshots: es-module-lexer@2.0.0: {} + es-module-lexer@3.0.4: {} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -8302,24 +8387,24 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.39.4(jiti@1.21.7)): + eslint-compat-utils@0.5.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)): dependencies: - eslint: 9.39.4(jiti@1.21.7) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) semver: 7.7.4 - eslint-plugin-es-x@7.8.0(eslint@9.39.4(jiti@1.21.7)): + eslint-plugin-es-x@7.8.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) '@eslint-community/regexpp': 4.12.2 - eslint: 9.39.4(jiti@1.21.7) - eslint-compat-utils: 0.5.1(eslint@9.39.4(jiti@1.21.7)) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) + eslint-compat-utils: 0.5.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) - eslint-plugin-n@17.24.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3): + eslint-plugin-n@17.24.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) enhanced-resolve: 5.20.0 - eslint: 9.39.4(jiti@1.21.7) - eslint-plugin-es-x: 7.8.0(eslint@9.39.4(jiti@1.21.7)) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) + eslint-plugin-es-x: 7.8.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) get-tsconfig: 4.13.6 globals: 15.15.0 globrex: 0.1.2 @@ -8329,12 +8414,12 @@ snapshots: transitivePeerDependencies: - typescript - eslint-plugin-promise@7.2.1(eslint@9.39.4(jiti@1.21.7)): + eslint-plugin-promise@7.2.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)) - eslint: 9.39.4(jiti@1.21.7) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) - eslint-plugin-react@7.37.5(eslint@9.39.4(jiti@1.21.7)): + eslint-plugin-react@7.37.5(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 @@ -8342,7 +8427,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.3.1 - eslint: 9.39.4(jiti@1.21.7) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -8367,14 +8452,14 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@9.39.4(jiti@1.21.7): + eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)) + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.2 + '@eslint/config-array': 0.21.2(supports-color@7.2.0) '@eslint/config-helpers': 0.4.2 '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.5 + '@eslint/eslintrc': 3.3.5(supports-color@7.2.0) '@eslint/js': 9.39.4 '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.7 @@ -8384,7 +8469,7 @@ snapshots: ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -8457,7 +8542,7 @@ snapshots: extend@3.0.2: {} - fast-content-type-parse@3.0.0: {} + fast-content-type-parse@4.0.1: {} fast-copy@4.0.2: {} @@ -8514,6 +8599,8 @@ snapshots: fast-uri@3.1.0: {} + fast-uri@4.2.2: {} + fast-wrap-ansi@0.2.0: dependencies: fast-string-width: 3.0.2 @@ -8524,6 +8611,8 @@ snapshots: fastify-plugin@5.1.0: {} + fastify-plugin@6.0.1: {} + fastify-tsconfig@3.0.0: {} fastify@5.8.2: @@ -8600,11 +8689,6 @@ snapshots: dependencies: is-callable: 1.2.7 - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - forwarded-parse@2.1.2: {} fraction.js@5.3.4: {} @@ -8689,15 +8773,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@11.1.0: - dependencies: - foreground-child: 3.3.1 - jackspeak: 4.2.3 - minimatch: 10.2.4 - minipass: 7.1.3 - package-json-from-dist: 1.0.1 - path-scurry: 2.0.2 - glob@13.0.6: dependencies: minimatch: 10.2.4 @@ -8911,11 +8986,9 @@ snapshots: human-signals@8.0.1: {} - hyperid@3.3.0: + hyperid@4.0.0: dependencies: - buffer: 5.7.1 - uuid: 8.3.2 - uuid-parse: 1.1.0 + buffer: 6.0.3 iconv-lite@0.6.3: dependencies: @@ -8940,19 +9013,16 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-in-the-middle@1.15.0: + import-in-the-middle@3.5.2: dependencies: - acorn: 8.16.0 - acorn-import-attributes: 1.9.5(acorn@8.16.0) - cjs-module-lexer: 1.4.3 + cjs-module-lexer: 2.3.0 + es-module-lexer: 3.0.4 module-details-from-path: 1.0.4 imurmurhash@0.1.4: {} indent-string@4.0.0: {} - inherits-ex@1.6.0: {} - inherits@2.0.4: {} internal-slot@1.1.0: @@ -8963,6 +9033,20 @@ snapshots: internmap@2.0.3: {} + iovalkey@0.3.3(supports-color@7.2.0): + dependencies: + '@iovalkey/commands': 0.1.0 + cluster-key-slot: 1.1.2 + debug: 4.4.3(supports-color@7.2.0) + denque: 2.1.0 + lodash.defaults: 4.2.0 + lodash.isarguments: 3.1.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color + ipaddr.js@2.3.0: {} is-absolute-url@4.0.1: {} @@ -9115,10 +9199,6 @@ snapshots: has-symbols: 1.1.0 set-function-name: 2.0.2 - jackspeak@4.2.3: - dependencies: - '@isaacs/cliui': 9.0.0 - jiti@1.21.7: {} joycon@3.1.1: {} @@ -9143,9 +9223,9 @@ snapshots: dependencies: dequal: 2.0.3 - json-schema-resolver@3.0.0: + json-schema-resolver@3.0.0(supports-color@7.2.0): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) fast-uri: 3.1.0 rfdc: 1.4.1 transitivePeerDependencies: @@ -9212,6 +9292,10 @@ snapshots: lodash.camelcase@4.3.0: {} + lodash.defaults@4.2.0: {} + + lodash.isarguments@3.1.0: {} + lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} @@ -9253,6 +9337,12 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + magicast@0.5.5: + dependencies: + '@babel/parser': 7.29.9 + '@babel/types': 7.29.8 + source-map-js: 1.2.1 + make-asynchronous@1.1.0: dependencies: p-event: 6.0.1 @@ -9295,14 +9385,14 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - mdast-util-from-markdown@2.0.3: + mdast-util-from-markdown@2.0.3(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 decode-named-character-reference: 1.3.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 - micromark: 4.0.2 + micromark: 4.0.2(supports-color@7.2.0) micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-decode-string: 2.0.1 micromark-util-normalize-identifier: 2.0.1 @@ -9320,51 +9410,51 @@ snapshots: mdast-util-find-and-replace: 3.0.2 micromark-util-character: 2.1.1 - mdast-util-gfm-footnote@2.1.0: + mdast-util-gfm-footnote@2.1.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color - mdast-util-gfm-strikethrough@2.0.0: + mdast-util-gfm-strikethrough@2.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm-table@2.0.0: + mdast-util-gfm-table@2.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm-task-list-item@2.0.0: + mdast-util-gfm-task-list-item@2.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - mdast-util-gfm@3.1.0: + mdast-util-gfm@3.1.0(supports-color@7.2.0): dependencies: - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-gfm-footnote: 2.1.0(supports-color@7.2.0) + mdast-util-gfm-strikethrough: 2.0.0(supports-color@7.2.0) + mdast-util-gfm-table: 2.0.0(supports-color@7.2.0) + mdast-util-gfm-task-list-item: 2.0.0(supports-color@7.2.0) mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -9425,10 +9515,6 @@ snapshots: merge2@1.4.1: {} - metaline@1.1.0: - dependencies: - '@fastify/deepmerge': 1.3.0 - microdiff@1.5.0: {} micromark-core-commonmark@2.0.3: @@ -9600,10 +9686,10 @@ snapshots: micromark-util-types@2.0.2: {} - micromark@4.0.2: + micromark@4.0.2(supports-color@7.2.0): dependencies: '@types/debug': 4.1.12 - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -9649,10 +9735,6 @@ snapshots: minipass@7.1.3: {} - mnemonist@0.40.0: - dependencies: - obliterator: 2.0.5 - module-details-from-path@1.0.4: {} monaco-editor@0.54.0: @@ -9698,6 +9780,22 @@ snapshots: ms@2.1.3: {} + msgpackr-extract@3.0.4: + dependencies: + node-gyp-build-optional-packages: 5.2.2 + optionalDependencies: + '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.4 + '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.4 + '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.4 + '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.4 + '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.4 + '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.4 + optional: true + + msgpackr@1.12.1: + optionalDependencies: + msgpackr-extract: 3.0.4 + mute-stream@3.0.0: {} my-ua-parser@2.0.4: {} @@ -9710,26 +9808,24 @@ snapshots: nanoid@3.3.11: {} - nanoid@5.1.5: {} - nanoid@5.1.7: {} natural-compare@1.4.0: {} negotiator@0.6.3: {} - neostandard@0.13.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3): + neostandard@0.13.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3): dependencies: '@humanwhocodes/gitignore-to-minimatch': 1.0.2 - '@stylistic/eslint-plugin': 2.11.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) - eslint: 9.39.4(jiti@1.21.7) - eslint-plugin-n: 17.24.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) - eslint-plugin-promise: 7.2.1(eslint@9.39.4(jiti@1.21.7)) - eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@1.21.7)) + '@stylistic/eslint-plugin': 2.11.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) + eslint-plugin-n: 17.24.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(typescript@5.9.3) + eslint-plugin-promise: 7.2.1(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) + eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0)) find-up: 8.0.0 globals: 17.4.0 peowly: 1.3.3 - typescript-eslint: 8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) + typescript-eslint: 8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) transitivePeerDependencies: - supports-color - typescript @@ -9745,6 +9841,11 @@ snapshots: object.entries: 1.1.9 semver: 6.3.1 + node-gyp-build-optional-packages@5.2.2: + dependencies: + detect-libc: 2.1.2 + optional: true + node-gyp-build@3.9.0: {} node-releases@2.0.36: {} @@ -9802,8 +9903,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - obliterator@2.0.5: {} - obug@2.1.1: {} on-exit-leak-free@2.1.2: {} @@ -9839,17 +9938,6 @@ snapshots: strip-ansi: 7.2.0 wcwidth: 1.0.1 - otlp-logger@1.1.13(@opentelemetry/api@1.9.0): - dependencies: - '@opentelemetry/api-logs': 0.206.0 - '@opentelemetry/exporter-logs-otlp-grpc': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-http': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/exporter-logs-otlp-proto': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-logs': 0.206.0(@opentelemetry/api@1.9.0) - transitivePeerDependencies: - - '@opentelemetry/api' - own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 @@ -9882,8 +9970,6 @@ snapshots: p-timeout@6.1.4: {} - package-json-from-dist@1.0.1: {} - parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -9929,13 +10015,19 @@ snapshots: dependencies: split2: 4.2.0 - pino-opentelemetry-transport@2.0.0(@opentelemetry/api@1.9.0)(pino@9.14.0): - dependencies: - otlp-logger: 1.1.13(@opentelemetry/api@1.9.0) - pino: 9.14.0 + pino-opentelemetry-transport@4.0.2(pino@10.3.1): + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/api-logs': 0.220.0 + '@opentelemetry/exporter-logs-otlp-grpc': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-http': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/exporter-logs-otlp-proto': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-exporter-base': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/otlp-grpc-exporter-base': 0.220.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-logs': 0.220.0(@opentelemetry/api@1.9.1) + pino: 10.3.1 pino-abstract-transport: 3.0.0 - transitivePeerDependencies: - - '@opentelemetry/api' pino-pretty@13.1.3: dependencies: @@ -10053,7 +10145,7 @@ snapshots: prom-client@15.1.3: dependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 tdigest: 0.1.2 prop-types@15.8.1: @@ -10079,6 +10171,10 @@ snapshots: '@types/node': 24.12.0 long: 5.3.2 + protobufjs@8.8.1: + dependencies: + long: 5.3.2 + pump@3.0.4: dependencies: end-of-stream: 1.4.5 @@ -10177,6 +10273,12 @@ snapshots: real-require@0.2.0: {} + redis-errors@1.2.0: {} + + redis-parser@3.0.0: + dependencies: + redis-errors: 1.2.0 + reflect.getprototypeof@1.0.10: dependencies: call-bind: 1.0.8 @@ -10234,21 +10336,21 @@ snapshots: hast-util-to-html: 9.0.5 unified: 11.0.5 - remark-gfm@4.0.1: + remark-gfm@4.0.1(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 - mdast-util-gfm: 3.1.0 + mdast-util-gfm: 3.1.0(supports-color@7.2.0) micromark-extension-gfm: 3.0.0 - remark-parse: 11.0.0 + remark-parse: 11.0.0(supports-color@7.2.0) remark-stringify: 11.0.0 unified: 11.0.5 transitivePeerDependencies: - supports-color - remark-parse@11.0.0: + remark-parse@11.0.0(supports-color@7.2.0): dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) micromark-util-types: 2.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -10272,11 +10374,10 @@ snapshots: require-from-string@2.0.2: {} - require-in-the-middle@7.5.2: + require-in-the-middle@8.0.1(supports-color@7.2.0): dependencies: - debug: 4.4.3 + debug: 4.4.3(supports-color@7.2.0) module-details-from-path: 1.0.4 - resolve: 1.22.11 transitivePeerDependencies: - supports-color @@ -10490,6 +10591,8 @@ snapshots: stackback@0.0.2: {} + standard-as-callback@2.1.0: {} + statuses@2.0.2: {} std-env@4.0.0: {} @@ -10784,13 +10887,13 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3): + typescript-eslint@8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.57.0(@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3))(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) - '@typescript-eslint/parser': 8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.57.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@1.21.7))(typescript@5.9.3) - eslint: 9.39.4(jiti@1.21.7) + '@typescript-eslint/eslint-plugin': 8.57.0(@typescript-eslint/parser@8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3))(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/parser': 8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.57.0(supports-color@7.2.0)(typescript@5.9.3) + '@typescript-eslint/utils': 8.57.0(eslint@9.39.4(jiti@1.21.7)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@5.9.3) + eslint: 9.39.4(jiti@1.21.7)(supports-color@7.2.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -10804,22 +10907,21 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undici-thread-interceptor@1.3.1: + undici-thread-interceptor@2.2.0: dependencies: + '@watchable/unpromise': 1.0.2 fastq: 1.20.1 - hyperid: 3.3.0 + hyperid: 4.0.0 light-my-request: 6.6.0 - undici: 7.24.4 - - undici-types@6.21.0: {} + undici: 8.12.2 undici-types@7.16.0: {} - undici@6.24.1: {} + undici@7.24.4: {} - undici@7.18.2: {} + undici@7.30.1: {} - undici@7.24.4: {} + undici@8.12.2: {} unhead@2.1.12: dependencies: @@ -10883,17 +10985,8 @@ snapshots: util-deprecate@1.0.2: {} - util-ex@0.3.18: - dependencies: - inherits-ex: 1.6.0 - xtend: 4.0.2 - - uuid-parse@1.1.0: {} - uuid@7.0.3: {} - uuid@8.3.2: {} - vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 @@ -10933,7 +11026,7 @@ snapshots: jiti: 1.21.7 yaml: 2.8.2 - vitest@4.1.0(@opentelemetry/api@1.9.0)(@types/node@24.12.0)(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2)): + vitest@4.1.0(@opentelemetry/api@1.9.1)(@types/node@24.12.0)(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2)): dependencies: '@vitest/expect': 4.1.0 '@vitest/mocker': 4.1.0(vite@7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2)) @@ -10956,7 +11049,7 @@ snapshots: vite: 7.3.1(@types/node@24.12.0)(jiti@1.21.7)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: - '@opentelemetry/api': 1.9.0 + '@opentelemetry/api': 1.9.1 '@types/node': 24.12.0 transitivePeerDependencies: - msw @@ -10999,13 +11092,15 @@ snapshots: w3c-keyname@2.2.8: {} - wattpm@3.41.0: + wattpm@4.0.0-alpha.2(supports-color@7.2.0): dependencies: '@fastify/websocket': 11.2.0 - '@platformatic/control': 3.41.0 - '@platformatic/foundation': 3.41.0 - '@platformatic/runtime': 3.41.0 + '@platformatic/control': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/foundation': 4.0.0-alpha.2(supports-color@7.2.0) + '@platformatic/globals': 4.0.0-alpha.2 + '@platformatic/runtime': 4.0.0-alpha.2(supports-color@7.2.0) colorette: 2.0.20 + magicast: 0.5.5 pino-pretty: 13.1.3 split2: 4.2.0 table: 6.9.0 @@ -11092,10 +11187,10 @@ snapshots: yallist@3.1.1: {} - yaml@2.8.0: {} - yaml@2.8.2: {} + yaml@2.9.1: {} + yargs-parser@21.1.1: {} yargs@17.7.2: @@ -11114,8 +11209,6 @@ snapshots: yoctocolors@2.1.2: {} - zod@3.24.1: {} - zod@4.3.6: {} zustand@5.0.12(@types/react@19.2.14)(react@19.2.4): diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fbe1c17b..dbf3cad0 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,10 @@ allowBuilds: '@datadog/pprof': true esbuild: true + msgpackr-extract: false protobufjs: true vue-demi: true + +minimumReleaseAgeExclude: + - '@platformatic/*' + - 'wattpm' diff --git a/test/cli-integration.test.ts b/test/cli-integration.test.ts index 4040d69f..50e24a85 100644 --- a/test/cli-integration.test.ts +++ b/test/cli-integration.test.ts @@ -68,6 +68,10 @@ describe('CLI Integration', () => { } }) + mock.module('../lib/start.js', { + namedExports: { start: async (client: RuntimeApiClient) => client } + }) + mock.module('util', { namedExports: { ...util, diff --git a/test/fixtures/metrics/api/plugin.js b/test/fixtures/metrics/api/plugin.js new file mode 100644 index 00000000..b3bdca7f --- /dev/null +++ b/test/fixtures/metrics/api/plugin.js @@ -0,0 +1,3 @@ +export default async function (app) { + app.get('/hello', async () => ({ hello: 'world' })) +} diff --git a/test/fixtures/metrics/api/watt.config.js b/test/fixtures/metrics/api/watt.config.js new file mode 100644 index 00000000..8ce7e56a --- /dev/null +++ b/test/fixtures/metrics/api/watt.config.js @@ -0,0 +1,5 @@ +export default { + module: '@platformatic/service', + server: { hostname: '127.0.0.1', port: 0 }, + plugins: { paths: ['./plugin.js'] } +} diff --git a/test/fixtures/metrics/watt.config.js b/test/fixtures/metrics/watt.config.js new file mode 100644 index 00000000..4f6fcd59 --- /dev/null +++ b/test/fixtures/metrics/watt.config.js @@ -0,0 +1,6 @@ +export default { + watch: false, + workers: 1, + metrics: false, + applications: [{ id: 'api', path: './api' }] +} diff --git a/test/metrics-integration.test.ts b/test/metrics-integration.test.ts new file mode 100644 index 00000000..710b9306 --- /dev/null +++ b/test/metrics-integration.test.ts @@ -0,0 +1,61 @@ +import assert from 'node:assert/strict' +import { join } from 'node:path' +import { mock, test } from 'node:test' +import { RuntimeApiClient } from '@platformatic/control' +import { create } from '@platformatic/runtime' +import config from './fixtures/metrics/watt.config.js' + +test('startup enables metrics on a live Watt runtime without restarting workers', async t => { + // Keep the dashboard isolated while exercising startup against the real management API. + mock.module('@platformatic/runtime', { + namedExports: { + create: async () => ({ start: async () => ({ 'composer:0': 'http://127.0.0.1:4042' }) }) + } + }) + t.after(() => mock.restoreAll()) + const originalEnv = { ...process.env } + t.after(() => { process.env = originalEnv }) + const { start } = await import('../lib/start.js') + + for (const initialMetrics of [false, undefined, { + enabled: false, + port: 0, + hostname: '127.0.0.1', + labels: { environment: 'test' } + }]) { + await t.test(JSON.stringify(initialMetrics) ?? 'omitted', async t => { + const runtime = await create(join(import.meta.dirname, 'fixtures/metrics'), { + ...config, + logger: { level: 'silent' }, + metrics: initialMetrics + }, { setupSignals: false }) + t.after(() => runtime.close()) + const urls = await runtime.start() + + const client = new RuntimeApiClient({ socket: runtime.getManagementApiUrl() }) + t.after(() => client.close()) + const workers = await runtime.getWorkers() + const initialConfig = runtime.getRuntimeConfig().metrics + await assert.rejects(client.getRuntimeMetrics(process.pid), { code: 'PLT_CTR_FAILED_TO_GET_RUNTIME_METRICS' }) + + await start(client, process.pid) + + const previousOptions = typeof initialConfig === 'boolean' ? {} : initialConfig + assert.deepEqual(runtime.getRuntimeConfig().metrics, { ...previousOptions, enabled: true }) + assert.deepEqual(await runtime.getWorkers(), workers) + const response = await fetch(`${urls['api:0']}/hello`) + assert.deepEqual(await response.json(), { hello: 'world' }) + const metrics = await client.getRuntimeMetrics(process.pid, { format: 'json' }) + assert.ok(metrics.some(metric => metric.name === 'process_resident_memory_bytes')) + assert.ok(metrics.some(metric => metric.values.some(value => value.labels.applicationId === 'api'))) + const requestMetric = metrics.find(metric => metric.name === 'http_request_all_duration_seconds') + assert.ok(requestMetric?.values.some(value => value.metricName === 'http_request_all_duration_seconds_count' && value.value > 0)) + + // Reopening the dashboard must not change the worker identities or clear collection. + await start(client, process.pid) + assert.deepEqual(await runtime.getWorkers(), workers) + const repeatedMetrics = await client.getRuntimeMetrics(process.pid, { format: 'json' }) + assert.deepEqual(repeatedMetrics.find(metric => metric.name === requestMetric.name), requestMetric) + }) + } +}) diff --git a/test/start.test.ts b/test/start.test.ts index 3a6c7b9c..84523319 100644 --- a/test/start.test.ts +++ b/test/start.test.ts @@ -5,12 +5,17 @@ import { setImmediate as immediate } from 'node:timers/promises' interface MockServer { started: boolean - start(): Promise + start(): Promise> close(): Promise } interface MockClient { close(): Promise + updateRuntimeMetricsConfig(pid: number, config: MetricsUpdate): Promise +} + +interface MetricsUpdate { + enabled: boolean } interface RequestOptions { @@ -52,7 +57,7 @@ describe('start', () => { started: false, start: async function () { this.started = true - return 'http://localhost:3000' + return { 'composer:0': 'http://localhost:3000' } }, close: async function () { this.started = false @@ -64,8 +69,10 @@ describe('start', () => { let execAsyncMock: MockFunction<(command: string) => Promise> let createMock: MockFunction<(configFile: string, env: any, options: any) => Promise> let parseArgsResult: ParseArgsResult + let importCounter = 0 beforeEach(() => { + importCounter++ mockServer.started = false delete process.env.SELECTED_RUNTIME delete process.env.WATT_ADMIN_PORT @@ -75,7 +82,8 @@ describe('start', () => { // Create mock client mockClient = { - close: mock.fn(async () => {}) + close: mock.fn(async () => {}), + updateRuntimeMetricsConfig: mock.fn(async () => ({ success: true })) } // Reset mocks @@ -143,11 +151,36 @@ describe('start', () => { process.removeAllListeners('SIGINT') }) + it('should enable metrics before starting the admin server', async () => { + const { start } = await import(`../lib/start.js?test=${importCounter}`) + const update = mock.fn(async () => { + assert.strictEqual(mockServer.started, false) + assert.strictEqual(createMock.mock.calls.length, 0) + }) + mockClient.updateRuntimeMetricsConfig = update + + await start(mockClient, '12345') + + assert.deepStrictEqual(update.mock.calls[0].arguments, [12345, { enabled: true }]) + assert.strictEqual(mockServer.started, true) + }) + + it('should not start the admin server when enabling metrics fails', async () => { + const { start } = await import(`../lib/start.js?test=${importCounter}`) + const failure = Object.assign(new Error('Metrics update failed'), { code: 'PLT_CTR_FAILED_TO_UPDATE_RUNTIME_METRICS' }) + mockClient.updateRuntimeMetricsConfig = async () => { throw failure } + + await assert.rejects(start(mockClient, '12345'), failure) + + assert.strictEqual(createMock.mock.calls.length, 0) + assert.strictEqual(mockServer.started, false) + }) + it('should start the server with the selected runtime and handle record mode', async () => { // Test 1: Normal start without record mode parseArgsResult = { values: {} } - const { start } = await import('../lib/start.js') + const { start } = await import(`../lib/start.js?test=${importCounter}`) const testRuntime = 'test-runtime-123' await start(mockClient, testRuntime) @@ -267,7 +300,7 @@ describe('start', () => { }) as typeof setTimeout try { - const { start } = await import('../lib/start.js') + const { start } = await import(`../lib/start.js?test=${importCounter}`) await start(mockClient, pid) // Verify SIGINT listener is registered diff --git a/watt.config.js b/watt.config.js new file mode 100644 index 00000000..a5df2341 --- /dev/null +++ b/watt.config.js @@ -0,0 +1,9 @@ +export default { + logger: { level: 'info' }, + metrics: { hostname: '127.0.0.1', port: 0 }, + applications: [ + { id: 'backend', path: './web/backend', nodeOptions: '--import=amaro/strip' }, + { id: 'composer', path: './web/composer' }, + { id: 'frontend', path: './web/frontend' } + ] +} diff --git a/watt.json b/watt.json deleted file mode 100644 index 4304df5b..00000000 --- a/watt.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "https://schemas.platformatic.dev/wattpm/3.11.0.json", - "server": { - "hostname": "127.0.0.1", - "port": "{WATT_ADMIN_PORT}" - }, - "logger": { - "level": "info" - }, - "entrypoint": "composer", - "applications": [ - { - "id": "backend", - "path": "./web/backend", - "useHttp": true, - "nodeOptions": "--import=amaro/strip" - }, - { - "id": "composer", - "path": "./web/composer" - }, - { - "id": "frontend", - "path": "./web/frontend" - } - ] -} diff --git a/web/backend/platformatic.json b/web/backend/platformatic.json deleted file mode 100644 index f1319ec1..00000000 --- a/web/backend/platformatic.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "https://schemas.platformatic.dev/@platformatic/service/3.36.0.json", - "service": { - "openapi": true - }, - "watch": true, - "plugins": { - "paths": [ - { - "path": "./plugins", - "encapsulate": false - }, - "./routes" - ] - } -} diff --git a/web/backend/routes/root.ts b/web/backend/routes/root.ts index 929db149..f42cdaff 100644 --- a/web/backend/routes/root.ts +++ b/web/backend/routes/root.ts @@ -72,7 +72,7 @@ export default async function (fastify: FastifyInstance) { 200: { type: 'object', additionalProperties: false, - required: ['entrypoint', 'production', 'applications'], + required: ['production', 'applications'], properties: { entrypoint: { type: 'string' @@ -87,7 +87,7 @@ export default async function (fastify: FastifyInstance) { { additionalProperties: true, type: 'object', - required: ['id', 'type', 'status', 'version', 'localUrl', 'entrypoint', 'dependencies'], + required: ['id', 'type', 'status', 'version', 'localUrl', 'dependencies'], properties: { id: { type: 'string' @@ -111,7 +111,12 @@ export default async function (fastify: FastifyInstance) { type: 'number' }, url: { - type: 'string' + type: 'string', + nullable: true + }, + servingState: { + type: 'string', + enum: ['listening', 'mesh-only', 'background', 'inactive'] }, dependencies: { type: 'array', diff --git a/web/backend/schemas/index.ts b/web/backend/schemas/index.ts index 022a73d6..3bb3313f 100644 --- a/web/backend/schemas/index.ts +++ b/web/backend/schemas/index.ts @@ -201,6 +201,10 @@ export const selectableRuntimeSchema = { url: { type: 'string' }, + urls: { + type: 'array', + items: { type: 'string' } + }, platformaticVersion: { type: 'string' }, diff --git a/web/backend/test/helper.ts b/web/backend/test/helper.ts index 0d71d789..b5bc465e 100644 --- a/web/backend/test/helper.ts +++ b/web/backend/test/helper.ts @@ -35,22 +35,18 @@ export async function loadMetrics (server: FastifyInstance): Promise { } export async function getServer (t: TestContext) { - const basePath = resolve(__dirname, join('..', 'platformatic.json')) + const basePath = resolve(__dirname, '..') const server = await create(basePath, { watch: false, - server: { - logger: { - level: 'fatal' - } - }, + server: { logger: { level: 'fatal' } }, plugins: { paths: [ { - path: '../plugins', + path: './plugins', encapsulate: false }, { - path: '../routes' + path: './routes' } ] } @@ -70,9 +66,11 @@ export async function startWatt (t: TestContext): Promise { return new Promise((resolve, reject) => { const onData = (data: Buffer) => { const input = data.toString() - if (input.includes('Platformatic is now listening at ')) { + // v4 reports every listener; only the gateway exposes the dashboard API. + const match = input.match(/Platformatic is now listening at http:\/\/[^:]+:(\d+) for worker \d+ of the application \\?"composer/) + if (match) { removeListeners() - resolve(input.match(/http:\/\/[^:]+:(\d+)/)?.[1] || '0') + resolve(match[1]) } } diff --git a/web/backend/test/plugins/metrics.test.ts b/web/backend/test/plugins/metrics.test.ts index eb3980c7..72be9648 100644 --- a/web/backend/test/plugins/metrics.test.ts +++ b/web/backend/test/plugins/metrics.test.ts @@ -86,6 +86,6 @@ test('metrics with runtime', async (t) => { url: `/runtimes/${pid}/metrics/composer` }) const composerData = composer.json() - assert.equal(metrics.dataMem[0].rss, composerData.dataMem[0].rss, 'RSS metrics of the entrypoint') - assert.notEqual(metrics.dataMem[0].rss, response.dataMem[0].rss, 'RSS metrics of a generic service') + assert.equal(metrics.dataMem[0].rss, composerData.dataMem[0].rss, 'RSS metrics of the gateway') + assert.equal(metrics.dataMem[0].rss, response.dataMem[0].rss, 'Worker threads share the process RSS') }) diff --git a/web/backend/test/routes/root.test.ts b/web/backend/test/routes/root.test.ts index be3dd526..043f32c5 100644 --- a/web/backend/test/routes/root.test.ts +++ b/web/backend/test/routes/root.test.ts @@ -5,6 +5,11 @@ import { readFile, rm, readdir, mkdir } from 'node:fs/promises' import { join } from 'node:path' import { tmpdir } from 'node:os' +interface ServiceStatus { + id: string + servingState?: string +} + test('no runtime running', async (t) => { const server = await getServer(t) const res = await server.inject({ @@ -50,9 +55,9 @@ test('runtime is running', async (t) => { assert.strictEqual(services.statusCode, 200, 'services endpoint') const servicesJson = services.json() assert.strictEqual(servicesJson.production, true) - assert.strictEqual(servicesJson.entrypoint, 'composer') + assert.strictEqual(servicesJson.entrypoint, undefined) assert.strictEqual(typeof servicesJson.applications[0].localUrl, 'string') - assert.strictEqual(typeof servicesJson.applications[0].entrypoint, 'boolean') + assert.strictEqual(servicesJson.applications.find(({ id }: ServiceStatus) => id === 'composer').servingState, 'listening') const serviceOpenapi = await server.inject({ url: `/runtimes/${runtimePid}/openapi/backend` @@ -89,9 +94,9 @@ test('runtime is running', async (t) => { assert.strictEqual(recordEmpty.statusCode, 400) const recordStart = await server.inject({ url: `/record/${runtimePid}`, method: 'POST', body: { mode: 'start', profile: 'cpu' } }) + assert.strictEqual(recordStart.statusCode, 200, recordStart.body) assert.strictEqual(server.loaded.type, 'cpu', 'cpu mode') assert.strictEqual(server.loaded.mode, 'start', 'start mode') - assert.strictEqual(recordStart.statusCode, 200) const recordStop = await server.inject({ url: `/record/${runtimePid}`, method: 'POST', body: { mode: 'stop', profile: 'cpu' } }) assert.strictEqual(server.loaded.type, 'cpu', 'cpu mode') diff --git a/web/backend/test/utils/metrics.test.ts b/web/backend/test/utils/metrics.test.ts index d2ddce99..bdde2d47 100644 --- a/web/backend/test/utils/metrics.test.ts +++ b/web/backend/test/utils/metrics.test.ts @@ -5,6 +5,10 @@ import { MAX_STORED_METRICS } from '../../utils/constants.ts' import { metricFixtures } from '../fixtures/metrics.ts' import type { RuntimeApplications } from '@platformatic/control' +interface LegacyRuntimeApplications extends RuntimeApplications { + entrypoint: string +} + const loadMetricsModule = () => import(`../../utils/metrics.ts?v=${Date.now()}`) const getMockFastify = () => ({ @@ -16,13 +20,15 @@ const getMockFastify = () => ({ }) as unknown as FastifyInstance class BaseRuntimeApiClient { + async close () {} + async getRuntimes () { return [{ pid: 1234 }] } - async getRuntimeApplications () { + async getRuntimeApplications (): Promise { const status = 'ok' - const services: RuntimeApplications = { + const services: LegacyRuntimeApplications = { production: false, entrypoint: 'composer', applications: [ @@ -106,6 +112,69 @@ describe('Metrics Tests', () => { 'Single worker service should only have "all" metrics and no worker-specific metrics') }) + it('getMetrics skips runtimes with disabled metrics and closes the client', async () => { + const close = mock.fn(async () => {}) + class DisabledRuntimeClient extends BaseRuntimeApiClient { + async close () { + await close() + } + + async getRuntimes () { + return [{ pid: 42 }, { pid: 1234 }] + } + + async getRuntimeMetrics (pid?: number) { + if (pid === 42) { + throw Object.assign(new Error('Metrics are disabled'), { code: 'PLT_CTR_FAILED_TO_GET_RUNTIME_METRICS' }) + } + return metricFixtures + } + } + mock.module('@platformatic/control', { namedExports: { RuntimeApiClient: DisabledRuntimeClient } }) + const { getMetrics } = await loadMetricsModule() + const fastify = getMockFastify() + + await getMetrics(fastify) + + assert.ok(fastify.loaded.metrics[1234]) + assert.strictEqual(fastify.loaded.metrics[42], undefined) + assert.strictEqual(close.mock.callCount(), 1) + }) + + it('getMetrics aggregates listening applications without a v3 entrypoint', async () => { + class V4Client extends BaseRuntimeApiClient { + async getRuntimeApplications (): Promise { + return { + production: false, + applications: ['composer', 'fastify2'].map(id => ({ + id, + status: 'started', + type: 'service', + version: '4.0.0', + localUrl: `http://${id}.plt.local`, + url: 'http://127.0.0.1:3000', + urls: ['http://127.0.0.1:3000'], + servingState: 'listening' as const, + dependencies: [], + workers: 2 + })) + } + } + } + mock.module('@platformatic/control', { namedExports: { RuntimeApiClient: V4Client } }) + const { getMetrics } = await loadMetricsModule() + const fastify = getMockFastify() + + await getMetrics(fastify) + + const { aggregated, services } = fastify.loaded.metrics[1234] + assert.ok(aggregated.dataMem[0].rss > 0) + assert.strictEqual(aggregated.dataReq[0].count, + services.composer.all.dataReq[0].count + services.fastify2.all.dataReq[0].count) + assert.strictEqual(aggregated.dataLatency[0].p99, + Math.max(services.composer.all.dataLatency[0].p99, services.fastify2.all.dataLatency[0].p99)) + }) + it('getMetrics collects and aggregates metrics correctly', async () => { mock.module('@platformatic/control', { namedExports: { RuntimeApiClient: BaseRuntimeApiClient } diff --git a/web/backend/test/utils/runtimes.test.ts b/web/backend/test/utils/runtimes.test.ts index 9ce05dca..4d823c8f 100644 --- a/web/backend/test/utils/runtimes.test.ts +++ b/web/backend/test/utils/runtimes.test.ts @@ -6,17 +6,35 @@ import type { SelectableRuntime } from '../../schemas/index.ts' const mockRuntimes: Runtime[] = [ { + cwd: '/app', + argv: [], + uptimeSeconds: 0, + execPath: process.execPath, + nodeVersion: process.version, + projectDir: '/app', + configPath: '/app/watt.config.js', + autoload: null, + platformaticVersion: '4.0.0', pid: 1234, packageName: 'my-app', packageVersion: '1.0.0', - url: 'http://localhost:3000' - } as Runtime, + urls: { 'api:0': 'http://localhost:3000' } + }, { + cwd: '/admin', + argv: [], + uptimeSeconds: 0, + execPath: process.execPath, + nodeVersion: process.version, + projectDir: '/admin', + configPath: '/admin/watt.config.js', + autoload: null, + platformaticVersion: '4.0.0', pid: 5678, packageName: '@platformatic/watt-admin', packageVersion: '2.0.0', - url: 'http://localhost:3001' - } as Runtime + urls: { 'composer:0': 'http://localhost:3001' } + } ] test('getSelectableRuntimes should handle empty runtimes array', () => { @@ -24,6 +42,34 @@ test('getSelectableRuntimes should handle empty runtimes array', () => { assert.strictEqual(result.length, 0) }) +test('getSelectableRuntimes uses observed worker URLs', () => { + const result = getSelectableRuntimes(mockRuntimes, true) + assert.strictEqual(result[0].url, 'http://localhost:3000') + assert.strictEqual(result[1].url, 'http://localhost:3001') +}) + +test('getSelectableRuntimes preserves all distinct listening URLs regardless of application order', () => { + const runtime: Runtime = { + ...mockRuntimes[0], + urls: { + 'backend:0': 'http://localhost:3000', + 'composer:0': 'http://127.0.0.1:5042', + 'composer:1': 'http://127.0.0.1:5042', + 'frontend:0': '' + } + } + + const [result] = getSelectableRuntimes([runtime], true) + assert.deepStrictEqual(result.urls, ['http://localhost:3000', 'http://127.0.0.1:5042']) + assert.strictEqual(result.url, 'http://localhost:3000') +}) + +test('getSelectableRuntimes handles runtimes without listening URLs', () => { + const [result] = getSelectableRuntimes([{ ...mockRuntimes[0], urls: {} }], true) + assert.deepStrictEqual(result.urls, []) + assert.strictEqual(result.url, '') +}) + test('getSelectableRuntimes should exclude watt-admin when includeAdmin is false', () => { const result = getSelectableRuntimes(mockRuntimes, false) diff --git a/web/backend/utils/client.openapi.ts b/web/backend/utils/client.openapi.ts index 7fdd4e18..a92cfdfa 100644 --- a/web/backend/utils/client.openapi.ts +++ b/web/backend/utils/client.openapi.ts @@ -5,7 +5,7 @@ import { join, resolve } from 'node:path' const __dirname = import.meta.dirname async function clientOpenapi () { - const basePath = resolve(__dirname, join('..', 'platformatic.json')) + const basePath = resolve(__dirname, '..') const server = await create(basePath, { service: { openapi: true }, watch: false, diff --git a/web/backend/utils/metrics.ts b/web/backend/utils/metrics.ts index e4c150ca..e0dfb4ca 100644 --- a/web/backend/utils/metrics.ts +++ b/web/backend/utils/metrics.ts @@ -1,4 +1,5 @@ import { RuntimeApiClient } from '@platformatic/control' +import type { Metric } from '@platformatic/control' import type { FastifyInstance } from 'fastify' import { requiredMetricKeys } from '../schemas/index.ts' import type { MemoryDataPoint, CpuDataPoint } from '../schemas/index.ts' @@ -7,25 +8,42 @@ import { getReqRps } from './rps.ts' import { addMetricDataPoint, initMetricsObject, initMetricsResponse, initServiceMetrics, isKafkaMetricName, isNodejsMetricName, isUndiciMetricName, isWebsocketMetricName, kafkaMetricMap, nodejsMetricMap, undiciMetricMap, websocketMetricMap } from './metrics-helpers.ts' export const getMetrics = async ({ loaded: { metrics }, log }: FastifyInstance): Promise => { + const api = new RuntimeApiClient() try { - const api = new RuntimeApiClient() const runtimes = await api.getRuntimes() for (const { pid } of runtimes) { const date = new Date().toISOString() const aggregatedMetrics = initMetricsObject(date) - let aggregatedRss = 0 + // A runtime with disabled metrics must not prevent collecting from the selected runtime. + let runtimeMetrics: Metric[] + try { + runtimeMetrics = await api.getRuntimeMetrics(pid, { format: 'json' }) + } catch (error) { + log.warn({ err: error, pid }, 'Unable to get runtime metrics. Retry will start soon...') + continue + } + + if (!Array.isArray(runtimeMetrics)) { + continue + } - const runtimeMetrics = await api.getRuntimeMetrics(pid, { format: 'json' }) + const rss = runtimeMetrics.findLast(metric => metric.name === 'process_resident_memory_bytes') + const aggregatedRss = bytesToMB(rss?.values[0]?.value ?? 0) if (!metrics[pid]) { metrics[pid] = { services: {}, aggregated: initMetricsResponse() } } - const { applications, entrypoint } = await api.getRuntimeApplications(pid) + const runtimeApplications = await api.getRuntimeApplications(pid) + const { applications } = runtimeApplications + const entrypoint = 'entrypoint' in runtimeApplications ? runtimeApplications.entrypoint : undefined for (const service of applications) { const { id: serviceId } = service const workers = 'workers' in service && service?.workers ? service.workers : 1 const areMultipleWorkersEnabled = workers > 1 - const isEntrypointService = entrypoint === serviceId + // v4 has no single entrypoint: aggregate traffic from all listening applications. + const isEntrypointService = entrypoint === undefined + ? 'servingState' in service && service.servingState === 'listening' + : entrypoint === serviceId initServiceMetrics({ metrics, pid, serviceId, workers, areMultipleWorkersEnabled }) const workerMetrics = initMetricsResponse(date, workers) const serviceMetrics = initMetricsObject(date) @@ -43,12 +61,6 @@ export const getMetrics = async ({ loaded: { metrics }, log }: FastifyInstance): const [{ value, labels }] = metric.values const workerId = labels.workerId ?? 0 - if (isEntrypointService) { - if (metric.name === 'process_resident_memory_bytes') { - aggregatedRss = bytesToMB(value) - } - } - if (serviceId === labels.applicationId) { if (metric.name === 'nodejs_heap_size_total_bytes') { incDataMetric({ key: 'dataMem', workerId, data: bytesToMB(value), prop: 'totalHeap' }) @@ -88,7 +100,7 @@ export const getMetrics = async ({ loaded: { metrics }, log }: FastifyInstance): serviceMetrics.dataLatency.p90 = data } if (isEntrypointService) { - aggregatedMetrics.dataLatency.p90 = serviceMetrics.dataLatency.p90 + aggregatedMetrics.dataLatency.p90 = Math.max(aggregatedMetrics.dataLatency.p90, serviceMetrics.dataLatency.p90) } } if (metricValue.labels?.quantile === 0.95) { @@ -99,7 +111,7 @@ export const getMetrics = async ({ loaded: { metrics }, log }: FastifyInstance): serviceMetrics.dataLatency.p95 = data } if (isEntrypointService) { - aggregatedMetrics.dataLatency.p95 = serviceMetrics.dataLatency.p95 + aggregatedMetrics.dataLatency.p95 = Math.max(aggregatedMetrics.dataLatency.p95, serviceMetrics.dataLatency.p95) } } if (metricValue.labels?.quantile === 0.99) { @@ -110,7 +122,7 @@ export const getMetrics = async ({ loaded: { metrics }, log }: FastifyInstance): serviceMetrics.dataLatency.p99 = data } if (isEntrypointService) { - aggregatedMetrics.dataLatency.p99 = serviceMetrics.dataLatency.p99 + aggregatedMetrics.dataLatency.p99 = Math.max(aggregatedMetrics.dataLatency.p99, serviceMetrics.dataLatency.p99) } } } @@ -135,11 +147,6 @@ export const getMetrics = async ({ loaded: { metrics }, log }: FastifyInstance): serviceMetrics.dataReq.count += count const rps = getReqRps(serviceMetrics.dataReq.count, metrics[pid].services[serviceId].all.dataReq) serviceMetrics.dataReq.rps = rps - - if (isEntrypointService) { - aggregatedMetrics.dataReq.count = serviceMetrics.dataReq.count - aggregatedMetrics.dataReq.rps = rps - } } } @@ -185,6 +192,11 @@ export const getMetrics = async ({ loaded: { metrics }, log }: FastifyInstance): serviceMetrics.dataMem.rss = aggregatedRss aggregatedMetrics.dataMem.rss = aggregatedRss + if (isEntrypointService) { + aggregatedMetrics.dataReq.count += serviceMetrics.dataReq.count + aggregatedMetrics.dataReq.rps += serviceMetrics.dataReq.rps + } + if (areMultipleWorkersEnabled) { for (let i = 0; i < workers; i++) { workerMetrics.dataMem[i].rss = aggregatedRss @@ -198,5 +210,7 @@ export const getMetrics = async ({ loaded: { metrics }, log }: FastifyInstance): } } catch (error) { log.warn(error, 'Unable to get runtime metrics. Retry will start soon...') + } finally { + await api.close() } } diff --git a/web/backend/utils/runtimes.ts b/web/backend/utils/runtimes.ts index 7e50c6d7..301836ac 100644 --- a/web/backend/utils/runtimes.ts +++ b/web/backend/utils/runtimes.ts @@ -13,7 +13,9 @@ export const getSelectableRuntimes = (runtimes: Runtime[], includeAdmin: boolean selected = process.env.SELECTED_RUNTIME === runtime.pid.toString() } - selectableRuntimes.push({ ...runtime, packageName: runtime.packageName || '', packageVersion: runtime.packageVersion || '', url: runtime.url || '', selected }) + const urls = [...new Set(Object.values(runtime.urls ?? {}).filter(Boolean))] + const url = urls[0] ?? '' + selectableRuntimes.push({ ...runtime, packageName: runtime.packageName || '', packageVersion: runtime.packageVersion || '', url, urls, selected }) } return selectableRuntimes } diff --git a/web/backend/watt.config.js b/web/backend/watt.config.js new file mode 100644 index 00000000..1a1607a0 --- /dev/null +++ b/web/backend/watt.config.js @@ -0,0 +1,13 @@ +import { createServiceConfig } from '@platformatic/service' + +export default createServiceConfig({ + server: { hostname: '127.0.0.1', port: 0 }, + openapi: true, + watch: true, + plugins: { + paths: [ + { path: './plugins', encapsulate: false }, + './routes' + ] + } +}) diff --git a/web/composer/platformatic.json b/web/composer/platformatic.json deleted file mode 100644 index d65dcea7..00000000 --- a/web/composer/platformatic.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "https://schemas.platformatic.dev/@platformatic/gateway/3.36.0.json", - "gateway": { - "applications": [ - { - "id": "backend", - "openapi": { - "url": "/documentation/json", - "prefix": "/api" - }, - "proxy": { - "ws": { - }, - "prefix": "/api" - } - }, - { - "id": "frontend", - "proxy": { - "prefix": "/" - } - } - ], - "refreshTimeout": 1000 - }, - "watch": true -} diff --git a/web/composer/watt.config.js b/web/composer/watt.config.js new file mode 100644 index 00000000..ec79c4c5 --- /dev/null +++ b/web/composer/watt.config.js @@ -0,0 +1,15 @@ +import { createGatewayConfig } from '@platformatic/gateway' + +export default createGatewayConfig({ + server: { hostname: '127.0.0.1', port: Number(process.env.WATT_ADMIN_PORT || 4042) }, + applications: [ + { + id: 'backend', + openapi: { url: '/documentation/json', prefix: '/api' }, + proxy: { ws: {}, prefix: '/api' } + }, + { id: 'frontend', proxy: { prefix: '/' } } + ], + refreshTimeout: 1000, + watch: true +}) diff --git a/web/frontend/src/api.ts b/web/frontend/src/api.ts index 255b6dac..0ae2fc41 100644 --- a/web/frontend/src/api.ts +++ b/web/frontend/src/api.ts @@ -42,10 +42,10 @@ export const getApiApplication = async (mode: Mode) => { const runtimes = isLoadMode(mode) ? getDataLoaded().runtimes : (await getRuntimes({ query: { includeAdmin: false } })).body for (const runtime of runtimes) { - const { platformaticVersion: pltVersion, packageName: name, pid: id, uptimeSeconds, url, selected } = runtime + const { platformaticVersion: pltVersion, packageName: name, pid: id, uptimeSeconds, url, urls, selected } = runtime if (!selected) continue const lastStarted = subtractSecondsFromDate(new Date(), uptimeSeconds) - return { id, url, name, pltVersion, lastStarted } + return { id, url, urls: urls ?? (url ? [url] : []), name, pltVersion, lastStarted } } throw new Error('No available runtime') diff --git a/web/frontend/src/client/backend-types.d.ts b/web/frontend/src/client/backend-types.d.ts index 8c5893ed..34f592f9 100644 --- a/web/frontend/src/client/backend-types.d.ts +++ b/web/frontend/src/client/backend-types.d.ts @@ -55,7 +55,7 @@ export type GetRuntimesRequest = { /** * Default Response */ -export type GetRuntimesResponseOK = Array<{ 'pid': number; 'cwd': string; 'argv': Array; 'uptimeSeconds': number; 'execPath': string; 'nodeVersion': string; 'projectDir': string; 'packageName': string; 'packageVersion': string; 'url': string; 'platformaticVersion': string; 'selected': boolean }> +export type GetRuntimesResponseOK = Array<{ 'pid': number; 'cwd': string; 'argv': Array; 'uptimeSeconds': number; 'execPath': string; 'nodeVersion': string; 'projectDir': string; 'packageName': string; 'packageVersion': string; 'url': string; 'urls'?: Array; 'platformaticVersion': string; 'selected': boolean }> export type GetRuntimesResponses = FullResponse @@ -81,7 +81,7 @@ export type GetRuntimesPidServicesRequest = { /** * Default Response */ -export type GetRuntimesPidServicesResponseOK = { 'entrypoint': string; 'production': boolean; 'applications': Array<{ 'id': string; 'type': string; 'status': string; 'version': string; 'localUrl': string; 'entrypoint': boolean; 'workers'?: number; 'url'?: string; 'dependencies': Array; [key: string]: unknown } | { 'id': string; 'status': string }> } +export type GetRuntimesPidServicesResponseOK = { 'entrypoint'?: string; 'production': boolean; 'applications': Array<{ 'id': string; 'type': string; 'status': string; 'version': string; 'localUrl': string; 'entrypoint'?: boolean; 'workers'?: number; 'url'?: string | null; 'servingState'?: 'listening' | 'mesh-only' | 'background' | 'inactive'; 'dependencies': Array; [key: string]: unknown } | { 'id': string; 'status': string }> } export type GetRuntimesPidServicesResponses = FullResponse diff --git a/web/frontend/src/client/backend.openapi.json b/web/frontend/src/client/backend.openapi.json index c1efb2f1..c7ce5d3d 100644 --- a/web/frontend/src/client/backend.openapi.json +++ b/web/frontend/src/client/backend.openapi.json @@ -927,6 +927,12 @@ "url": { "type": "string" }, + "urls": { + "type": "array", + "items": { + "type": "string" + } + }, "platformaticVersion": { "type": "string" }, @@ -1017,7 +1023,6 @@ "type": "object", "additionalProperties": false, "required": [ - "entrypoint", "production", "applications" ], @@ -1041,7 +1046,6 @@ "status", "version", "localUrl", - "entrypoint", "dependencies" ], "properties": { @@ -1067,7 +1071,17 @@ "type": "number" }, "url": { - "type": "string" + "type": "string", + "nullable": true + }, + "servingState": { + "type": "string", + "enum": [ + "listening", + "mesh-only", + "background", + "inactive" + ] }, "dependencies": { "type": "array", @@ -1134,6 +1148,7 @@ "/runtimes/{pid}/restart": { "post": { "requestBody": { + "required": true, "content": { "application/json": { "schema": { @@ -1162,6 +1177,7 @@ "/record/{pid}": { "post": { "requestBody": { + "required": true, "content": { "application/json": { "schema": { @@ -1193,8 +1209,7 @@ ] } } - }, - "required": true + } }, "parameters": [ { diff --git a/web/frontend/src/components/application/AppNameBox.tsx b/web/frontend/src/components/application/AppNameBox.tsx index 15a881ef..ca9f49b8 100644 --- a/web/frontend/src/components/application/AppNameBox.tsx +++ b/web/frontend/src/components/application/AppNameBox.tsx @@ -17,6 +17,7 @@ export interface ApiApplication { pltVersion?: string; lastStarted: string | Date; url: string; + urls?: string[]; } interface AppNameBoxProps { @@ -72,6 +73,7 @@ function AppNameBox ({ if (!apiApplication || !runtimePid) return null const outdatedVersion = latestVersion !== apiApplication?.pltVersion + const urls = apiApplication.urls ?? (apiApplication.url ? [apiApplication.url] : []) return ( <> @@ -172,9 +174,15 @@ function AppNameBox ({ ) : (-)}   |   - URL: - {apiApplication.url} - window.open(apiApplication.url, '_blank')} internalOverHandling disabled={apiApplication.url === ''} /> + URLs: +
+ {urls.map(url => ( +
+ {url} + window.open(url, '_blank')} internalOverHandling /> +
+ ))} +
)} diff --git a/web/frontend/src/utilities/getters.ts b/web/frontend/src/utilities/getters.ts index 60ddc6c0..f8c21df1 100644 --- a/web/frontend/src/utilities/getters.ts +++ b/web/frontend/src/utilities/getters.ts @@ -5,7 +5,9 @@ export const getServiceSelected = (service: ServiceData): boolean => 'selected' export const getServiceWorkers = (service: ServiceData): number => 'workers' in service ? (service.workers ? service.workers : 0) : 0 -export const getServiceEntrypoint = (service: ServiceData): boolean => 'entrypoint' in service ? service.entrypoint : false +export const getServiceEntrypoint = (service: ServiceData): boolean | undefined => 'servingState' in service + ? service.servingState === 'listening' + : 'entrypoint' in service ? service.entrypoint : false export const getOptionMetricsLabel = (input: { label: string }[]) => input.map(({ label }) => label) diff --git a/web/frontend/test/e2e/basic.spec.ts b/web/frontend/test/e2e/basic.spec.ts index 5128c028..5be62cbe 100644 --- a/web/frontend/test/e2e/basic.spec.ts +++ b/web/frontend/test/e2e/basic.spec.ts @@ -47,7 +47,7 @@ test.describe('Basic E2E tests', () => { await expect(page.getByText('composer')).toHaveCount(1) await expect(page.getByText('gateway')).toHaveCount(1) await expect(page.getByText('RUNNING')).toBeVisible() - await expect(page.getByText(/^\d+\.\d+\.\d+$/)).toBeVisible() + await expect(page.getByText(/^\d+\.\d+\.\d+(?:-[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?(?:\+[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?$/)).toBeVisible() await expect(page.getByText('http://127.0.0.1:5042')).toBeVisible() const metricCharts = page.getByTestId('metric-chart') @@ -104,7 +104,7 @@ test.describe('Basic E2E tests', () => { await expect(page.getByText('Entrypoint Nodejs')).toHaveCount(1) await page.getByText('frontend').click() await expect(page.getByText('frontend CPU & ELU')).toHaveCount(1) - await page.getByText('(Entrypoint)').click() + await page.getByText('composer', { exact: true }).click() await expect(page.getByText('composer Latency')).toHaveCount(1) await expect(page.getByText('composer Requests')).toHaveCount(1) await expect(page.getByText('composer Nodejs')).toHaveCount(1) @@ -132,7 +132,7 @@ test.describe('Basic E2E tests', () => { await closeScalarModal(page) // composer (Scalar) - await page.getByText('App Entrypoint').click() + await page.getByText('composer', { exact: true }).click() await page.getByText('Platformatic Gateway').waitFor() await page .getByRole('button', { name: 'Test Request(get /api/runtimes)' }) diff --git a/web/frontend/test/utilities/getters.test.ts b/web/frontend/test/utilities/getters.test.ts index 8d489e3f..b45c242a 100644 --- a/web/frontend/test/utilities/getters.test.ts +++ b/web/frontend/test/utilities/getters.test.ts @@ -103,6 +103,16 @@ describe('getServiceWorkers', () => { }) describe('getServiceEntrypoint', () => { + test('should recognize listening applications in Watt v4', () => { + const service = { servingState: 'listening' } as ServiceData + expect(getServiceEntrypoint(service)).toBe(true) + }) + + test('should not mark mesh-only applications as listeners', () => { + const service = { servingState: 'mesh-only' } as ServiceData + expect(getServiceEntrypoint(service)).toBe(false) + }) + test('should return true when service has entrypoint property set to true', () => { const service = { entrypoint: true } as ServiceData expect(getServiceEntrypoint(service)).toBe(true) diff --git a/web/frontend/watt.config.js b/web/frontend/watt.config.js new file mode 100644 index 00000000..0724ab26 --- /dev/null +++ b/web/frontend/watt.config.js @@ -0,0 +1,6 @@ +import { createViteConfig } from '@platformatic/vite' + +export default createViteConfig({ + application: { basePath: '/', commands: { build: 'vite build' } }, + ssr: false +}) diff --git a/web/frontend/watt.json b/web/frontend/watt.json deleted file mode 100644 index 4fcade7d..00000000 --- a/web/frontend/watt.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://schemas.platformatic.dev/@platformatic/vite/3.36.0.json", - "application": { "basePath": "/", "commands": { "build": "vite build" } }, - "vite": { - "ssr": false - } -}