From dd53a5757ac59081c218e61e0c1ef464ee712fac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Wed, 17 Apr 2024 22:23:02 +0200 Subject: [PATCH] add baselime to nextjs --- apps/dashboard/next.config.mjs | 1 + apps/dashboard/package.json | 1 + apps/dashboard/src/instrumentation.ts | 21 + packages/db/src/clickhouse-client.ts | 2 + packages/db/src/services/chart.service.ts | 12 +- pnpm-lock.yaml | 625 +++++++++++++++++++++- 6 files changed, 636 insertions(+), 26 deletions(-) create mode 100644 apps/dashboard/src/instrumentation.ts diff --git a/apps/dashboard/next.config.mjs b/apps/dashboard/next.config.mjs index f9d3a95d..1aa63767 100644 --- a/apps/dashboard/next.config.mjs +++ b/apps/dashboard/next.config.mjs @@ -30,6 +30,7 @@ const config = { experimental: { // Avoid "Critical dependency: the request of a dependency is an expression" serverComponentsExternalPackages: ['bullmq', 'ioredis'], + instrumentationHook: true, }, /** * If you are using `appDir` then you must comment the below `i18n` config out. diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index af3ee3d2..530515f6 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -13,6 +13,7 @@ "with-env": "dotenv -e ../../.env -c --" }, "dependencies": { + "@baselime/node-opentelemetry": "^0.5.8", "@clerk/nextjs": "^4.29.7", "@clickhouse/client": "^0.2.9", "@hookform/resolvers": "^3.3.4", diff --git a/apps/dashboard/src/instrumentation.ts b/apps/dashboard/src/instrumentation.ts new file mode 100644 index 00000000..da260698 --- /dev/null +++ b/apps/dashboard/src/instrumentation.ts @@ -0,0 +1,21 @@ +/* eslint-disable */ + +export async function register() { + if (process.env.NEXT_RUNTIME === 'nodejs') { + const { BaselimeSDK, VercelPlugin, BetterHttpInstrumentation } = + // @ts-expect-error + await import('@baselime/node-opentelemetry'); + + const sdk = new BaselimeSDK({ + serverless: true, + service: 'vercel-coderaxs-projects-d46dc62b', + instrumentations: [ + new BetterHttpInstrumentation({ + plugins: [new VercelPlugin()], + }), + ], + }); + + sdk.start(); + } +} diff --git a/packages/db/src/clickhouse-client.ts b/packages/db/src/clickhouse-client.ts index d0168c36..2d3064cd 100644 --- a/packages/db/src/clickhouse-client.ts +++ b/packages/db/src/clickhouse-client.ts @@ -36,8 +36,10 @@ export async function chQueryWithMeta>( }, {} as T); }), }; + console.log(`Clickhouse query took ${response.statistics?.elapsed}ms`); console.log(`chQuery took ${Date.now() - start}ms`); + console.log('Query:', query); return response; } diff --git a/packages/db/src/services/chart.service.ts b/packages/db/src/services/chart.service.ts index 6ad179e4..ae8abadd 100644 --- a/packages/db/src/services/chart.service.ts +++ b/packages/db/src/services/chart.service.ts @@ -8,12 +8,6 @@ import type { import { formatClickhouseDate } from '../clickhouse-client'; import { createSqlBuilder } from '../sql-builder'; -function log(sql: string) { - const logs = ['--- START', sql, '--- END']; - console.log(logs.join('\n')); - return sql; -} - export function getChartSql({ event, breakdowns, @@ -104,12 +98,10 @@ export function getChartSql({ ORDER BY profile_id, created_at DESC ) as subQuery`; - return log(`${getSelect()} ${getFrom()} ${getGroupBy()} ${getOrderBy()}`); + return `${getSelect()} ${getFrom()} ${getGroupBy()} ${getOrderBy()}`; } - return log( - `${getSelect()} ${getFrom()} ${getWhere()} ${getGroupBy()} ${getOrderBy()}` - ); + return `${getSelect()} ${getFrom()} ${getWhere()} ${getGroupBy()} ${getOrderBy()}`; } export function getEventFiltersWhereClause(filters: IChartEventFilter[]) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6a14cf7..9966736a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -129,9 +129,12 @@ importers: apps/dashboard: dependencies: + '@baselime/node-opentelemetry': + specifier: ^0.5.8 + version: 0.5.8(@trpc/server@10.45.1) '@clerk/nextjs': specifier: ^4.29.7 - version: 4.29.7(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) + version: 4.29.12(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) '@clickhouse/client': specifier: ^0.2.9 version: 0.2.9 @@ -302,7 +305,7 @@ importers: version: 3.0.1 next: specifier: ~14.2.1 - version: 14.2.1(react-dom@18.2.0)(react@18.2.0) + version: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) next-auth: specifier: ^4.24.5 version: 4.24.6(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) @@ -468,7 +471,7 @@ importers: dependencies: next: specifier: ~14.2.1 - version: 14.2.1(react-dom@18.2.0)(react@18.2.0) + version: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) nextra: specifier: ^2.13.4 version: 2.13.4(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) @@ -592,7 +595,7 @@ importers: version: 0.323.0(react@18.2.0) next: specifier: ~14.2.1 - version: 14.2.1(react-dom@18.2.0)(react@18.2.0) + version: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -2780,6 +2783,29 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@baselime/node-opentelemetry@0.5.8(@trpc/server@10.45.1): + resolution: {integrity: sha512-wF3119LuxWLqCg1od6qHWqzz8fdod9HIB03Aa8EZNoxcGY7kxFXdDW8v1iz8jCx2bCRHw6ZYSL9Hpg8AwDnzyg==} + peerDependencies: + '@trpc/server': ^10.0.0 || ^11.0.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/exporter-trace-otlp-http': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation-http': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resource-detector-aws': 1.4.1(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-node': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-node': 1.23.0(@opentelemetry/api@1.8.0) + '@trpc/server': 10.45.1 + '@types/aws-lambda': 8.10.137 + axios: 1.6.8 + flat: 6.0.1 + undici: 6.13.0 + transitivePeerDependencies: + - debug + - supports-color + dev: false + /@braintree/sanitize-url@6.0.4: resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} dev: false @@ -2831,6 +2857,35 @@ packages: - react dev: false + /@clerk/backend@0.38.6(react@18.2.0): + resolution: {integrity: sha512-dQJzOrDW24KR2ovYUSoTh2iGX1bK0L4odQ5DFi5HJ3Uam3VlJgXk17CQV9VRnokJ7kfRlO3PVAQ6gxd+hCbx5Q==} + engines: {node: '>=14'} + dependencies: + '@clerk/shared': 1.4.1(react@18.2.0) + '@clerk/types': 3.63.1 + '@peculiar/webcrypto': 1.4.1 + '@types/node': 16.18.6 + cookie: 0.5.0 + deepmerge: 4.2.2 + node-fetch-native: 1.0.1 + snakecase-keys: 5.4.4 + tslib: 2.4.1 + transitivePeerDependencies: + - react + dev: false + + /@clerk/clerk-react@4.30.10(react@18.2.0): + resolution: {integrity: sha512-c2X0grf7Vo6LrycvYbVyIyU7Gtyb47mf0/fnQdmF5zL8PIF1Ih5Yn9ZkbNeVjCLQrVRLeSRBgrrEIzlIenbuaQ==} + engines: {node: '>=14'} + peerDependencies: + react: '>=16' + dependencies: + '@clerk/shared': 1.4.1(react@18.2.0) + '@clerk/types': 3.63.1 + react: 18.2.0 + tslib: 2.4.1 + dev: false + /@clerk/clerk-react@4.30.5(react@18.2.0): resolution: {integrity: sha512-jWSbgjWW3ny+ctQKpz/c8CwascliDtaa/8FyHX7tqKlV7vFeR9N/AjaZIUKHrbeGpRk+b/RM2xHLoZS4nZ4V6A==} engines: {node: '>=14'} @@ -2843,6 +2898,23 @@ packages: tslib: 2.4.1 dev: false + /@clerk/clerk-sdk-node@4.13.14(react@18.2.0): + resolution: {integrity: sha512-ECQEiMi/7xQZx0U9IyFKDazFLS+eyZnah+ZClwjMGDxAA1KR6xF13Vd9mbGzTov7IlvwfsNmUPOSXvjORufvqg==} + engines: {node: '>=14'} + dependencies: + '@clerk/backend': 0.38.6(react@18.2.0) + '@clerk/shared': 1.4.1(react@18.2.0) + '@clerk/types': 3.63.1 + '@types/cookies': 0.7.7 + '@types/express': 4.17.14 + '@types/node-fetch': 2.6.2 + camelcase-keys: 6.2.2 + snakecase-keys: 3.2.1 + tslib: 2.4.1 + transitivePeerDependencies: + - react + dev: false + /@clerk/clerk-sdk-node@4.13.9(react@18.2.0): resolution: {integrity: sha512-SRATpmPcN5IkdewasiJyvSoKNnNnk+Igb/tpjNV6hM9zS3tbWwJx/haUtR76tTjmloUQemVBl5oVr0hnZTq3kg==} engines: {node: '>=14'} @@ -2860,6 +2932,26 @@ packages: - react dev: false + /@clerk/nextjs@4.29.12(next@14.2.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9pB6s4E50OjUjySVhQpSHu9DC0zIGqVJdneMXcL26fk48+U7lq9XCAZEFNIYUVQeMMvEI1elWSgNmi2Xmpr8ug==} + engines: {node: '>=14'} + peerDependencies: + next: '>=10' + react: ^17.0.2 || ^18.0.0-0 + react-dom: ^17.0.2 || ^18.0.0-0 + dependencies: + '@clerk/backend': 0.38.6(react@18.2.0) + '@clerk/clerk-react': 4.30.10(react@18.2.0) + '@clerk/clerk-sdk-node': 4.13.14(react@18.2.0) + '@clerk/shared': 1.4.1(react@18.2.0) + '@clerk/types': 3.63.1 + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) + path-to-regexp: 6.2.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.4.1 + dev: false + /@clerk/nextjs@4.29.7(next@14.2.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-tPvIp4GXCsjcKankLRpPPQGDWmpmlB2tm+p656/OUUmzPMeDnk5Euc86HjSk+5C9BAHVatrveRth6fHa4yzNhQ==} engines: {node: '>=14'} @@ -2873,7 +2965,7 @@ packages: '@clerk/clerk-sdk-node': 4.13.9(react@18.2.0) '@clerk/shared': 1.3.1(react@18.2.0) '@clerk/types': 3.62.0 - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) path-to-regexp: 6.2.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2894,6 +2986,20 @@ packages: swr: 2.2.0(react@18.2.0) dev: false + /@clerk/shared@1.4.1(react@18.2.0): + resolution: {integrity: sha512-3rlZy0Hadnb1dw6x+4MGEC7dpZLlIVY3mZTwWRRS4CILWowVAccwfW84paN2XNlM12lJgMc+w66WNdw19XFtpg==} + peerDependencies: + react: '>=16' + peerDependenciesMeta: + react: + optional: true + dependencies: + glob-to-regexp: 0.4.1 + js-cookie: 3.0.1 + react: 18.2.0 + swr: 2.2.0(react@18.2.0) + dev: false + /@clerk/types@3.62.0: resolution: {integrity: sha512-rjtdPqNJtfayCrqOCi20i46rw7X5yzAiOoh0Dzl7KX8kdBWQn06UxpgREPEp/3gFS2imVFRyXtx+fUGRwOGjaw==} engines: {node: '>=14'} @@ -2901,6 +3007,13 @@ packages: csstype: 3.1.1 dev: false + /@clerk/types@3.63.1: + resolution: {integrity: sha512-PeZrRzWApJl1BYsT/wQPtEzhDmwfqeMKWuSRcHe3Kh0Itc5Gp7w9HrrKkyMnRuzebVj4z5gX4rwJOmTD/P1DhQ==} + engines: {node: '>=14'} + dependencies: + csstype: 3.1.1 + dev: false + /@clickhouse/client-common@0.2.9: resolution: {integrity: sha512-ecXcegMbT4HYNWtGcfyidW6lNVRqPogbFMY5kfjJmz4IXJ4WZbQMwj2IQgemwFwE7jyia2OEwPIVfw1sNfDHRA==} dev: false @@ -3682,6 +3795,25 @@ packages: graphql: 15.8.0 dev: false + /@grpc/grpc-js@1.10.6: + resolution: {integrity: sha512-xP58G7wDQ4TCmN/cMUHh00DS7SRDv/+lC+xFLrTkMIN8h55X5NhZMLYbvy7dSELP15qlI6hPhNCRWVMtZMwqLA==} + engines: {node: '>=12.10.0'} + dependencies: + '@grpc/proto-loader': 0.7.12 + '@js-sdsl/ordered-map': 4.4.2 + dev: false + + /@grpc/proto-loader@0.7.12: + resolution: {integrity: sha512-DCVwMxqYzpUCiDMl7hQ384FqP4T3DbNpXU8pt681l3UWCip1WUiD5JrkImUwCB9a7f2cq4CUTmi5r/xIMRPY1Q==} + engines: {node: '>=6'} + hasBin: true + dependencies: + lodash.camelcase: 4.3.0 + long: 5.2.3 + protobufjs: 7.2.6 + yargs: 17.7.2 + dev: false + /@hapi/hoek@9.3.0: resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} dev: false @@ -4048,6 +4180,10 @@ packages: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + /@js-sdsl/ordered-map@4.4.2: + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + dev: false + /@logtail/core@0.4.19: resolution: {integrity: sha512-IjvMwSyv2LucVoS+2PXzAVG5cTd/50W3dENpC+ePMlAfbKAR5h4eTIOT9GC7zcEBtog6RBJChHApyj4rOvgbYA==} dependencies: @@ -4535,7 +4671,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@openpanel/web': 0.0.6-beta - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4548,7 +4684,7 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@openpanel/web': 0.0.8-beta - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4573,6 +4709,300 @@ packages: '@openpanel/sdk': 0.0.8-beta dev: false + /@opentelemetry/api-logs@0.50.0: + resolution: {integrity: sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA==} + engines: {node: '>=14'} + dependencies: + '@opentelemetry/api': 1.8.0 + dev: false + + /@opentelemetry/api@1.8.0: + resolution: {integrity: sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==} + engines: {node: '>=8.0.0'} + dev: false + + /@opentelemetry/context-async-hooks@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-wazGJZDRevibOJ+VgyrT+9+8sybZAxpZx2G7vy30OAtk92OpZCg7HgNxT11NUx0VBDWcRx1dOatMYGOVplQ7QA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + dev: false + + /@opentelemetry/core@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/semantic-conventions': 1.23.0 + dev: false + + /@opentelemetry/exporter-trace-otlp-grpc@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-w/NF4TrwHxx+Uz1M0rCOSVr6KgcoQPv3zF9JRqcebY2euD7ddWnLP0hE8JavyA1uq4UchnMp9faAk9n7hTCePw==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + dependencies: + '@grpc/grpc-js': 1.10.6 + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-grpc-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-transformer': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) + dev: false + + /@opentelemetry/exporter-trace-otlp-http@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-L7OtIMT7MsFqkmhbQlPBGRXt7152VN5esHpQEJYIBFedOEo3Da+yHpu5ojMZtPzpIvSpB5Xr5lnJUjJCbkttCA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-transformer': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) + dev: false + + /@opentelemetry/exporter-trace-otlp-proto@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-vavD9Ow6yOLiD+ocuS/oeciCsXNdsN41aYUrEljNaLXogvnkfMhJ+JLAhOnRSpzlVtRp7Ciw2BYGdYSebR0OsA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-proto-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-transformer': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) + dev: false + + /@opentelemetry/exporter-zipkin@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-2LOGvNUGONuIcWhynFaJorVyqv03uZkURScciLmOxvBf2lWTNPEj77br1dCpShIWBM+YlrH7Tc+JXAs+GC7DqA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.23.0 + dev: false + + /@opentelemetry/instrumentation-http@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-bsd6Nv0FtN9C6M6vX/kgPzvJY9UhJc4CZZNvqDbsfVQv3/MWvPrYgthf41AhrehqeDnpfn/QGzNKtdWUduGanQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.23.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/instrumentation@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-bhGhbJiZKpuu7wTaSak4hyZcFPlnDeuSF/2vglze8B4w2LubcSbbOnkVTzTs5SXtzh4Xz8eRjaNnAm+u2GYufQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/api-logs': 0.50.0 + '@types/shimmer': 1.0.5 + import-in-the-middle: 1.7.1 + require-in-the-middle: 7.3.0 + semver: 7.6.0 + shimmer: 1.2.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/otlp-exporter-base@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-JUmjmrCmE1/fc4LjCQMqLfudgSl5OpUkzx7iA94b4jgeODM7zWxUoVXL7/CT7fWf47Cn+pmKjMvTCSESqZZ3mA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + dev: false + + /@opentelemetry/otlp-grpc-exporter-base@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-J500AczSD7xEsjXpwNzSh5HQqxW73PT3CCNsi1VEWCE+8UPgVfkHYIGRHGoch35DV+CMe1svbi7gAk3e5eCSVA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + dependencies: + '@grpc/grpc-js': 1.10.6 + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) + protobufjs: 7.2.6 + dev: false + + /@opentelemetry/otlp-proto-exporter-base@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-hlbn3eZbhxoK79Sq1ddj1f7qcx+PzsPQC/SFpJvaWgTaqacCbqJmpzWDKfRRCAC7iGX2Hj/sgpf8vysazqyMOw==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/otlp-exporter-base': 0.50.0(@opentelemetry/api@1.8.0) + protobufjs: 7.2.6 + dev: false + + /@opentelemetry/otlp-transformer@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-s0sl1Yfqd5q1Kjrf6DqXPWzErL+XHhrXOfejh4Vc/SMTNqC902xDsC8JQxbjuramWt/+hibfguIvi7Ns8VLolA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/api-logs': 0.50.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-logs': 0.50.0(@opentelemetry/api-logs@0.50.0)(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-metrics': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) + dev: false + + /@opentelemetry/propagator-b3@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-cZ6rl8y2bdxYQ4e+zP2CQ+QmuPebaLBLO1skjFpj3eEu7zar+6hBzUP3llMOUupkQeQSwXz+4c8dZ26OhYfG/g==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + dev: false + + /@opentelemetry/propagator-jaeger@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-6iArixfgIl3ZgzeltQ5jyiKbjZygM+MbM84pXi1HL0Qs4x4Ck5rM6wEtjhZffFnlDMWEkEqrnM0xF6bTfbiMAQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + dev: false + + /@opentelemetry/resource-detector-aws@1.4.1(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-QsPJwXDxlt+IWQazST7renk9KDOAK3hsywb0Mw6gEwgEoe12EvdVcT+mCknTc+hu5WzxiTmFMtnn1TWab7To1g==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.0.0 + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.23.0 + dev: false + + /@opentelemetry/resources@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.23.0 + dev: false + + /@opentelemetry/sdk-logs@0.50.0(@opentelemetry/api-logs@0.50.0)(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-PeUEupBB29p9nlPNqXoa1PUWNLsZnxG0DCDj3sHqzae+8y76B/A5hvZjg03ulWdnvBLYpnJslqzylG9E0IL87g==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.4.0 <1.9.0' + '@opentelemetry/api-logs': '>=0.39.1' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/api-logs': 0.50.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + dev: false + + /@opentelemetry/sdk-metrics@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + lodash.merge: 4.6.2 + dev: false + + /@opentelemetry/sdk-node@0.50.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-LhIXHnvcnhRYcPwG9VG4G6lJ7x4ElYF6UYHHmXA7e4ZWzSUEFmAPfR1IBWv358aD1KwffcEBu7J6zeAR7lPZag==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/api-logs': 0.50.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/exporter-trace-otlp-grpc': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/exporter-trace-otlp-http': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/exporter-trace-otlp-proto': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/exporter-zipkin': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/instrumentation': 0.50.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-logs': 0.50.0(@opentelemetry/api-logs@0.50.0)(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-metrics': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-node': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.23.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@opentelemetry/sdk-trace-base@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/resources': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/semantic-conventions': 1.23.0 + dev: false + + /@opentelemetry/sdk-trace-node@1.23.0(@opentelemetry/api@1.8.0): + resolution: {integrity: sha512-dwnin5Go2r6VzJZkVc9JBPupssWp7j2EFto+S7qRkwQ00WDykWeq3x2Skk7I1Jr448FeBSvGCQVPgV5e6s6O3w==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.9.0' + dependencies: + '@opentelemetry/api': 1.8.0 + '@opentelemetry/context-async-hooks': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/core': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/propagator-b3': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/propagator-jaeger': 1.23.0(@opentelemetry/api@1.8.0) + '@opentelemetry/sdk-trace-base': 1.23.0(@opentelemetry/api@1.8.0) + semver: 7.6.0 + dev: false + + /@opentelemetry/semantic-conventions@1.23.0: + resolution: {integrity: sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg==} + engines: {node: '>=14'} + dev: false + /@panva/hkdf@1.1.1: resolution: {integrity: sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==} dev: false @@ -4657,6 +5087,49 @@ packages: resolution: {integrity: sha512-ISYeAIY2x8riGhpgDqlupqqkqgJe2ksQm4yVH01afQ/7hp7fjPLcEXbDjEYuuloXJgnbvkcN6GXcD3v5hiq85A==} dev: true + /@protobufjs/aspromise@1.1.2: + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + dev: false + + /@protobufjs/base64@1.1.2: + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + dev: false + + /@protobufjs/codegen@2.0.4: + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + dev: false + + /@protobufjs/eventemitter@1.1.0: + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + dev: false + + /@protobufjs/fetch@1.1.0: + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + dev: false + + /@protobufjs/float@1.0.2: + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + dev: false + + /@protobufjs/inquire@1.1.0: + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + dev: false + + /@protobufjs/path@1.1.2: + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + dev: false + + /@protobufjs/pool@1.1.0: + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + dev: false + + /@protobufjs/utf8@1.1.0: + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + dev: false + /@radix-ui/number@1.0.1: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: @@ -6558,7 +7031,7 @@ packages: '@trpc/client': 10.45.1(@trpc/server@10.45.1) '@trpc/react-query': 10.45.1(@tanstack/react-query@4.36.1)(@trpc/client@10.45.1)(@trpc/server@10.45.1)(react-dom@18.2.0)(react@18.2.0) '@trpc/server': 10.45.1 - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6589,6 +7062,10 @@ packages: '@types/estree': 1.0.5 dev: false + /@types/aws-lambda@8.10.137: + resolution: {integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==} + dev: false + /@types/bcrypt@5.0.2: resolution: {integrity: sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==} dependencies: @@ -7021,6 +7498,10 @@ packages: '@types/mime': 3.0.4 '@types/node': 18.19.17 + /@types/shimmer@1.0.5: + resolution: {integrity: sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww==} + dev: false + /@types/sqlstring@2.3.2: resolution: {integrity: sha512-lVRe4Iz9UNgiHelKVo8QlC8fb5nfY8+p+jNQNE+UVsuuVlQnWhyWmQ/wF5pE8Ys6TdjfVpqTG9O9i2vi6E0+Sg==} dev: true @@ -7255,6 +7736,14 @@ packages: negotiator: 0.6.3 dev: false + /acorn-import-assertions@1.9.0(acorn@8.11.3): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.3 + dev: false + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -7644,6 +8133,16 @@ packages: engines: {node: '>=4'} dev: false + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + /axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} dependencies: @@ -8207,6 +8706,10 @@ packages: engines: {node: '>=8'} dev: false + /cjs-module-lexer@1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + dev: false + /class-variance-authority@0.7.0: resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} dependencies: @@ -10371,6 +10874,12 @@ packages: keyv: 4.5.4 rimraf: 3.0.2 + /flat@6.0.1: + resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} + engines: {node: '>=18'} + hasBin: true + dev: false + /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} @@ -10391,6 +10900,16 @@ packages: resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} dev: false + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + /fontfaceobserver@2.3.0: resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} dev: false @@ -10417,6 +10936,15 @@ packages: mime-types: 2.1.35 dev: false + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + /format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} @@ -11148,6 +11676,15 @@ packages: parent-module: 1.0.1 resolve-from: 4.0.0 + /import-in-the-middle@1.7.1: + resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} + dependencies: + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) + cjs-module-lexer: 1.2.3 + module-details-from-path: 1.0.3 + dev: false + /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -12109,6 +12646,10 @@ packages: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false + /lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: false + /lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} dev: true @@ -12180,6 +12721,10 @@ packages: yargs: 15.4.1 dev: false + /long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + dev: false + /longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} dev: false @@ -13336,6 +13881,10 @@ packages: obliterator: 2.0.4 dev: false + /module-details-from-path@1.0.3: + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + dev: false + /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -13435,7 +13984,7 @@ packages: '@panva/hkdf': 1.1.1 cookie: 0.5.0 jose: 4.15.4 - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) oauth: 0.9.15 openid-client: 5.6.4 preact: 10.19.5 @@ -13469,7 +14018,7 @@ packages: react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -13481,7 +14030,7 @@ packages: react: '*' react-dom: '*' dependencies: - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -13525,7 +14074,7 @@ packages: - babel-plugin-macros dev: false - /next@14.2.1(react-dom@18.2.0)(react@18.2.0): + /next@14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-SF3TJnKdH43PMkCcErLPv+x/DY1YCklslk3ZmwaVoyUfDgHKexuKlf9sEfBQ69w+ue8jQ3msLb+hSj1T19hGag==} engines: {node: '>=18.17.0'} hasBin: true @@ -13544,6 +14093,7 @@ packages: optional: true dependencies: '@next/env': 14.2.1 + '@opentelemetry/api': 1.8.0 '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001596 @@ -13575,7 +14125,7 @@ packages: react-dom: '>= 16.0.0' dependencies: '@types/nprogress': 0.2.3 - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) nprogress: 0.2.0 prop-types: 15.8.1 react: 18.2.0 @@ -13599,7 +14149,7 @@ packages: git-url-parse: 13.1.1 intersection-observer: 0.12.2 match-sorter: 6.3.4 - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) next-seo: 6.5.0(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) next-themes: 0.2.1(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) nextra: 2.13.4(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) @@ -13629,7 +14179,7 @@ packages: gray-matter: 4.0.3 katex: 0.16.9 lodash.get: 4.4.2 - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) next-mdx-remote: 4.4.1(react-dom@18.2.0)(react@18.2.0) p-limit: 3.1.0 react: 18.2.0 @@ -13812,7 +14362,7 @@ packages: next: '>=13.4 <14.0.2 || ^14.0.3' dependencies: mitt: 3.0.1 - next: 14.2.1(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@opentelemetry/api@1.8.0)(react-dom@18.2.0)(react@18.2.0) dev: false /oauth@0.9.15: @@ -14595,6 +15145,25 @@ packages: resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} dev: false + /protobufjs@7.2.6: + resolution: {integrity: sha512-dgJaEDDL6x8ASUZ1YqWciTRrdOuYNzoOf27oHNfdyvKqHr5i0FV7FSLU+aIeFjyFgVxrpTOtQUi0BLLBymZaBw==} + engines: {node: '>=12.0.0'} + requiresBuild: true + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 18.19.17 + long: 5.2.3 + dev: false + /protocols@2.0.1: resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} dev: false @@ -14607,6 +15176,10 @@ packages: ipaddr.js: 1.9.1 dev: false + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + /pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} dev: false @@ -15387,6 +15960,17 @@ packages: engines: {node: '>=0.10.0'} dev: false + /require-in-the-middle@7.3.0: + resolution: {integrity: sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw==} + engines: {node: '>=8.6.0'} + dependencies: + debug: 4.3.4 + module-details-from-path: 1.0.3 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: false + /require-main-filename@2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: false @@ -15831,6 +16415,10 @@ packages: vscode-textmate: 8.0.0 dev: false + /shimmer@1.2.1: + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + dev: false + /short-unique-id@5.0.3: resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} hasBin: true @@ -16748,6 +17336,11 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + /undici@6.13.0: + resolution: {integrity: sha512-Q2rtqmZWrbP8nePMq7mOJIN98M0fYvSgV89vwl/BQRT4mDOeY2GXZngfGpcBBhtky3woM7G24wZV3Q304Bv6cw==} + engines: {node: '>=18.0'} + dev: false + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'}