diff --git a/content/package.json b/content/package.json index 981f56b59..f31af0aab 100644 --- a/content/package.json +++ b/content/package.json @@ -27,13 +27,13 @@ "@dcl/content-validator": "^7.0.3", "@dcl/crypto": "^3.4.5", "@dcl/hashing": "^3.0.4", + "@dcl/http-server": "^1.0.0", "@dcl/job-component": "^0.2.7", "@dcl/schemas": "^20.1.1", - "@dcl/snapshots-fetcher": "^9.1.0", + "@dcl/snapshots-fetcher": "^9.2.2", "@dcl/urn-resolver": "^3.6.0", "@well-known-components/env-config-provider": "^1.2.0", "@well-known-components/fetch-component": "^2.0.2", - "@well-known-components/http-server": "^2.1.0", "@well-known-components/interfaces": "^1.5.2", "@well-known-components/logger": "^3.1.3", "@well-known-components/metrics": "^2.1.0", @@ -91,7 +91,7 @@ "typescript": "^4.7.4" }, "resolutions": { - "@well-known-components/http-server/path-to-regexp": "^6.2.1", + "@dcl/http-server/path-to-regexp": "^6.2.1", "express/path-to-regexp": "0.1.7" } } diff --git a/content/src/components.ts b/content/src/components.ts index 796e558f3..7774ec3ad 100644 --- a/content/src/components.ts +++ b/content/src/components.ts @@ -4,7 +4,7 @@ import { EntityType, EthAddress } from '@dcl/schemas' import { createSynchronizer } from '@dcl/snapshots-fetcher' import { createJobQueue } from '@dcl/snapshots-fetcher/dist/job-queue-port' import { createFetchComponent } from '@well-known-components/fetch-component' -import { createServerComponent, instrumentHttpServerWithPromClientRegistry } from '@well-known-components/http-server' +import { createServerComponent, instrumentHttpServerWithPromClientRegistry } from '@dcl/http-server' import { createLogComponent } from '@well-known-components/logger' import { createMetricsComponent } from '@well-known-components/metrics' import { HTTPProvider } from 'eth-connect' diff --git a/content/src/controller/middlewares.ts b/content/src/controller/middlewares.ts index d574c03f7..818dd03eb 100644 --- a/content/src/controller/middlewares.ts +++ b/content/src/controller/middlewares.ts @@ -3,7 +3,7 @@ import { AppComponents } from '../types' import { State } from '../ports/synchronizationState' import { Error } from '@dcl/catalyst-api-specs/lib/client' import { InvalidRequestError, NotFoundError } from '../types' -import { Middleware } from '@well-known-components/http-server/dist/middleware' +import { Middleware } from '@dcl/http-server/dist/middleware' export function preventExecutionIfBoostrapping({ synchronizationState diff --git a/content/src/controller/routes.ts b/content/src/controller/routes.ts index ba01cb758..85cfb3a53 100644 --- a/content/src/controller/routes.ts +++ b/content/src/controller/routes.ts @@ -1,4 +1,4 @@ -import { Router } from '@well-known-components/http-server' +import { Router } from '@dcl/http-server' import { multipartParserWrapper } from '@well-known-components/multipart-wrapper' import { EnvironmentConfig } from '../Environment' import { GlobalContext } from '../types' diff --git a/content/src/metrics.ts b/content/src/metrics.ts index 648bc92ea..3d8acef1c 100644 --- a/content/src/metrics.ts +++ b/content/src/metrics.ts @@ -2,7 +2,7 @@ import { metricsDefinitions as snapshotFetcherMetricsDefinitions } from '@dcl/sn import { metricsDefinitions as blockIndexerMetricsDefinitions } from '@dcl/block-indexer' import { metricDeclarations as loggerMetricDeclarations } from '@well-known-components/logger' import { validateMetricsDeclaration } from '@well-known-components/metrics' -import { getDefaultHttpMetrics } from '@well-known-components/http-server' +import { getDefaultHttpMetrics } from '@dcl/http-server' import { metricDeclarations as theGraphMetricDeclarations } from '@well-known-components/thegraph-component' import { sequentialJobMetrics } from './ports/sequecuentialTaskExecutor' diff --git a/docs/ai-agent-context.md b/docs/ai-agent-context.md index 64b1113e5..00a889b14 100644 --- a/docs/ai-agent-context.md +++ b/docs/ai-agent-context.md @@ -12,6 +12,7 @@ - **Entity Validation**: Uses @dcl/content-validator to validate all entity deployments before storage **Communication Pattern:** + - Synchronous HTTP REST API (Content Server, Lambdas) - Real-time WebSocket/P2P (BFF, Archipelago) - NATS messaging between internal services @@ -20,7 +21,7 @@ - Runtime: Node.js - Language: TypeScript -- HTTP Framework: @well-known-components/http-server +- HTTP Framework: @dcl/http-server - Database: PostgreSQL (content metadata) - Storage: IPFS/local file system (entity content) - Component Architecture: @well-known-components (logger, metrics, http-server, pg-component) diff --git a/lambdas/package.json b/lambdas/package.json index 360ea57d2..4a24b0cbe 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -14,11 +14,11 @@ "@dcl/catalyst-api-specs": "^3.3.0", "@dcl/content-validator": "^7.0.3", "@dcl/crypto": "^3.4.5", + "@dcl/http-server": "^1.0.0", "@dcl/schemas": "^20.1.1", "@dcl/urn-resolver": "^3.6.0", "@well-known-components/env-config-provider": "^1.2.0", "@well-known-components/fetch-component": "^2.0.2", - "@well-known-components/http-server": "^2.1.0", "@well-known-components/interfaces": "^1.5.2", "@well-known-components/logger": "^3.1.3", "@well-known-components/metrics": "^2.1.0", diff --git a/lambdas/src/MetricsServer.ts b/lambdas/src/MetricsServer.ts index 29f971b7d..19768e514 100644 --- a/lambdas/src/MetricsServer.ts +++ b/lambdas/src/MetricsServer.ts @@ -1,5 +1,5 @@ import { IMetricsComponent } from '@well-known-components/interfaces' -import { HttpMetrics } from '@well-known-components/http-server' +import { HttpMetrics } from '@dcl/http-server' import express from 'express' import { collectDefaultMetrics, Registry } from 'prom-client' diff --git a/lambdas/src/metrics.ts b/lambdas/src/metrics.ts index 23b18177a..b2cfd6650 100644 --- a/lambdas/src/metrics.ts +++ b/lambdas/src/metrics.ts @@ -1,5 +1,5 @@ import { createTestMetricsComponent, validateMetricsDeclaration } from '@well-known-components/metrics' -import { getDefaultHttpMetrics } from '@well-known-components/http-server' +import { getDefaultHttpMetrics } from '@dcl/http-server' import { metricDeclarations as theGraphMetrics } from '@well-known-components/thegraph-component' export const metrics = validateMetricsDeclaration({ diff --git a/yarn.lock b/yarn.lock index 2ff17ca40..7b5d6f3a4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -404,6 +404,21 @@ resolved "https://registry.npmjs.org/@dcl/hashing/-/hashing-3.0.4.tgz" integrity sha512-Cg+MoIOn+BYmQV2q8zSFnNYY+GldlnUazwBnfgrq3i66ZxOaZ65h01btd8OUtSAlfWG4VTNIOHDjtKqmuwJNBg== +"@dcl/http-server@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@dcl/http-server/-/http-server-1.0.0.tgz#202fe016e755ac9798668051f466fe496737c232" + integrity sha512-Dq7hjrOfwUY2VztmZlk70OwOFkwiLO360BgJw4h2BFfYc0RACmw7TFI/uq/nHMJPNSs2Zi1htzuWQQsPAg1RQw== + dependencies: + "@types/http-errors" "^2.0.4" + destroy "^1.2.0" + fp-future "^1.0.1" + http-errors "^2.0.0" + mitt "^3.0.0" + node-fetch "^2.6.9" + on-finished "^2.4.1" + path-to-regexp "^6.3.0" + reflect-metadata "^0.2.2" + "@dcl/job-component@^0.2.7": version "0.2.7" resolved "https://registry.yarnpkg.com/@dcl/job-component/-/job-component-0.2.7.tgz#d05d7a246b4734f588c25a488ccd21a5fe74e407" @@ -412,6 +427,13 @@ "@dcl/core-commons" "0.5.1" "@well-known-components/interfaces" "^1.5.2" +"@dcl/metrics@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@dcl/metrics/-/metrics-1.0.1.tgz#de5e762f3872fb16a15a4e56b3fe98b2fabb770b" + integrity sha512-ZiDHlEVDhPy30UtvsLsUtefOsvDjD2TaR5KIkLTgPXtelqmhOWs26qD8Ldudky34nnqOjlLcokJYmyHltpsxbQ== + dependencies: + prom-client "^15.1.0" + "@dcl/schemas@20.4.1": version "20.4.1" resolved "https://registry.yarnpkg.com/@dcl/schemas/-/schemas-20.4.1.tgz#b94943b46f1f2e672b743aa369877912d89a4fc7" @@ -451,16 +473,17 @@ ajv-errors "^3.0.0" ajv-keywords "^5.1.0" -"@dcl/snapshots-fetcher@^9.1.0": - version "9.1.0" - resolved "https://registry.npmjs.org/@dcl/snapshots-fetcher/-/snapshots-fetcher-9.1.0.tgz" - integrity sha512-Fxjw97Atmx7SA6KMui5+5Fe42cVU3ogUnSiFYl2X1a55SOZzlRhpa57qC2i5p6ZroKyrdG9Hk9YOpj1tF/fM7Q== +"@dcl/snapshots-fetcher@^9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@dcl/snapshots-fetcher/-/snapshots-fetcher-9.2.2.tgz#cc1972b1b4b6c5832c04c6c5de503add695c762e" + integrity sha512-6RwPo46ZMV1sB57Uche8GKoZNemDGyqmJ1CJ6iyK+WgbibqxMo4zntM4tAbo2TWo2As6C2D310hZ7J7nBkD4rQ== dependencies: "@dcl/catalyst-storage" "^4.0.0" "@dcl/hashing" "^3.0.3" + "@dcl/metrics" "^1.0.0" "@dcl/schemas" "^9.1.1" + "@well-known-components/fetch-component" "^3.0.0" "@well-known-components/interfaces" "^1.4.0" - "@well-known-components/metrics" "^2.0.0" p-queue "^6.6.2" "@dcl/urn-resolver@^3.6.0": @@ -1420,10 +1443,10 @@ dependencies: "@types/node" "*" -"@types/http-errors@^2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz" - integrity sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ== +"@types/http-errors@^2.0.4": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472" + integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.4" @@ -1713,19 +1736,13 @@ "@well-known-components/interfaces" "^1.4.1" cross-fetch "^3.1.5" -"@well-known-components/http-server@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@well-known-components/http-server/-/http-server-2.1.0.tgz" - integrity sha512-IHD7aLTA+9DYEchQubHDBwc4FmVEmQC+2TWbi8Tz+QlkiQdtndcuba8XHH+EwqlB5sna/EAJGZGXPxS7okcHKA== +"@well-known-components/fetch-component@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@well-known-components/fetch-component/-/fetch-component-3.0.0.tgz#93921f0d18b1fc21f1f5540cc4ae035a0dabf55d" + integrity sha512-ycIaojkwLJvhpicdPsmsEzA9qPbV7voAjrRcVE7+n7UNctIQC8ppymapj0UQ3FFpdEWWVSzjoo33H0BW+sD8eg== dependencies: - "@types/http-errors" "^2.0.1" - destroy "^1.2.0" - fp-future "^1.0.1" - http-errors "^2.0.0" - mitt "^3.0.0" - node-fetch "^2.6.9" - on-finished "^2.4.1" - path-to-regexp "^6.2.1" + "@well-known-components/interfaces" "^1.4.1" + cross-fetch "^3.1.5" "@well-known-components/interfaces@^1.1.1", "@well-known-components/interfaces@^1.1.3", "@well-known-components/interfaces@^1.3.0", "@well-known-components/interfaces@^1.4.0", "@well-known-components/interfaces@^1.4.1", "@well-known-components/interfaces@^1.4.2", "@well-known-components/interfaces@^1.4.3": version "1.4.3" @@ -1750,13 +1767,6 @@ resolved "https://registry.npmjs.org/@well-known-components/logger/-/logger-3.1.3.tgz" integrity sha512-tTjD27CdfU4SVe+kPfjRbPSqdrw0Crg+M31RNejinCuMEBtEGbhYLtB1M4gn+PSTy2Oi3cI3iOdeQ1xVhMSerQ== -"@well-known-components/metrics@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@well-known-components/metrics/-/metrics-2.0.1.tgz" - integrity sha512-jgT9TuxVS9GzVMMYWXNJRM2qXvexuf4xfrFNBYa3w+gqEWCK4Id5R4zBee/bm6/F5yIPauAWxbOS6KNNDBIrGw== - dependencies: - prom-client "^14.1.0" - "@well-known-components/metrics@^2.0.1", "@well-known-components/metrics@^2.1.0": version "2.1.0" resolved "https://registry.npmjs.org/@well-known-components/metrics/-/metrics-2.1.0.tgz" @@ -5626,6 +5636,11 @@ path-to-regexp@^6.2.0, path-to-regexp@^6.2.1: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz" integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== +path-to-regexp@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz#2b6a26a337737a8e1416f9272ed0766b1c0389f4" + integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -5818,13 +5833,6 @@ process-on-spawn@^1.0.0: dependencies: fromentries "^1.2.0" -prom-client@^14.1.0: - version "14.2.0" - resolved "https://registry.npmjs.org/prom-client/-/prom-client-14.2.0.tgz" - integrity sha512-sF308EhTenb/pDRPakm+WgiN+VdM/T1RaHj1x+MvAuT8UiQP8JmOEbxVqtkbfR4LrvOg5n7ic01kRBDGXjYikA== - dependencies: - tdigest "^0.1.1" - prom-client@^15.1.0: version "15.1.0" resolved "https://registry.npmjs.org/prom-client/-/prom-client-15.1.0.tgz" @@ -6011,6 +6019,11 @@ reflect-metadata@^0.1.13: resolved "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz" integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== +reflect-metadata@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz#400c845b6cba87a21f2c65c4aeb158f4fa4d9c5b" + integrity sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== + regexpp@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz"